首页
关于
友链
Search
1
ESXI 一些功能调整
766 阅读
2
SoftEther 客户端篇
673 阅读
3
天翼云网关3.0/4.0超管密码
625 阅读
4
SoftEther 服务端篇
544 阅读
5
远程桌面rustdesk使用说明
515 阅读
奇思妙想
代码相关
软件分享
游戏分享
游戏相关
我的家庭影院
登录
Search
标签搜索
python
git
命令
esxi
SoftEther
linux
apscheduler
codex
claude
在线
list
列表
ai
Charles
pdf
免安装
鲁大师
图片查看器
蜂蜜浏览器
honeyview
哥特式
累计撰写
118
篇文章
累计收到
15
条评论
首页
栏目
奇思妙想
代码相关
软件分享
游戏分享
游戏相关
我的家庭影院
页面
关于
友链
搜索到
118
篇与
的结果
2026-06-22
Claude Code和Codex配置教程
上下文Claude Code"env": { "CLAUDE_CODE_MAX_CONTEXT_TOKENS": "1000000", "DISABLE_COMPACT": "1" }codexmodel_context_window = 1000000
2026年06月22日
1 阅读
0 评论
0 点赞
2026-06-12
超详细!uni-app Android本地打包傻瓜式教程
前言本教程将指导您完成uni-app项目的Android本地打包过程。通过本地打包,您可以更好地控制应用的打包过程,实现更多自定义配置。一、申请应用标识1.1 获取DCloud AppID登录DCloud开发者中心创建一个新应用点击创建后的项目创建证书,需要等一会儿时间,1 分钟左右,可能更快,(可以尝试刷新页面)创建完成,下载,后面使用新增平台,这块需要用到刚刚创建的证书注意:这边开了 2 个窗口,左边的窗口在第 5 步,点击查看证书 7.创建平台完成 二、准备打包资源2.1 生成本地打包资源HBuilderX中操作,可以创建一个新项目,供测试项目右键 → 发行选择"原生App-本地打包"点击"生成本地打包App资源"检查生成的资源确认资源完整性检查配置文件2.2 下载离线SDK访问Android离线SDK下载页面下载最新版本的离线SDK解压下载的SDK包三、打包流程3.1 导入Android项目打开Android Studio导入离线SDK示例项目提示:如果遇到 gradle下载慢,可通过 一招解决Gradle下载慢:本地路径配置指南文章解决替换本地打包资源将HBuilderX生成的资源复制到项目中3.3 更新应用配置,以下三处地方需要保持一致,appid 一样资源文件夹名manifest.json 文件dcloud_control.xml 文件3.4 配置包名3.5 配置应用信息配置 dcloud keyAndroid studio 里面配置,AndroidManifest.xml配置应用签名3.6 打包发布配置打包信息执行Release打包注意:如果打包报错, Error: Google Play requires that apps target API level 33 or higher. [ExpiredTargetSdkVersion], 请看这篇文章 解决uniapp安卓打包targetSdkVersion报错获取生成的APK文件四、常见问题问题解决方案打包后无法安装检查签名配置应用闪退确认AppID正确资源缺失重新生成打包资源参考资料一招解决Gradle下载慢:本地路径配置指南解决uniapp安卓打包targetSdkVersion报错uni-app离线打包文档Android打包发布指南*
2026年06月12日
6 阅读
0 评论
0 点赞
2026-05-25
ai使用的工具
Claude Code / Codex 工具配置笔记:MCP、Plugins 与 Skills这篇文章整理我当前在 Claude Code 和 Codex 终端环境里常用的 MCP、插件和 Skills,主要方便后续查阅、迁移、更新和排查问题。适用环境:Claude Code(终端)+ Codex(终端)快速总览类型名称主要用途安装来源MCPcodegraph代码符号、依赖关系、调用链和文件结构查询npm:@colbymchenry/codegraphPluginsuperpowers终端 Agent 工作流增强:脑暴、计划、TDD、验证、代码审查等claude plugins install superpowersSkills 集合taste-skill前端设计、页面生成、调研、配置与效率增强GitHub:Leonxlnx/taste-skill独立 Skillplaywright-cli浏览器自动化、页面交互、截图、端到端测试辅助skillsmp 手动安装独立 Skillweb-access联网检索、网页读取、CDP 浏览器访问、登录态页面访问skillsmp 手动安装独立 Skillskill-creator创建、优化和评估 Claude Skillskillsmp 手动安装 / Anthropic 官方插件来源1. MCPMCP 更偏“给 Agent 增加外部工具能力”。这里目前主要记录 codegraph,用于在代码仓库里做结构化检索和调用链分析。1.1 codegraph — 代码智能知识图谱codegraph 用来为项目建立代码索引,并通过 MCP 工具查询 符号、依赖关系、调用链和文件结构。它适合阅读陌生项目、追踪 bug、评估重构影响面。项目地址:https://github.com/colbymchenry/codegraph包名:@colbymchenry/codegraph主要能力工具作用典型问题codegraph_context按任务描述返回入口、关键符号、调用关系和代码上下文“这个功能怎么实现?”codegraph_search按名称搜索符号“有没有 login 方法?”codegraph_node查看单个符号详情“UserService 在哪?”codegraph_explore一次查看多个相关符号或文件源码“认证相关函数一起看”codegraph_callers查询谁调用了某个符号“谁在用这个函数?”codegraph_callees查询某个符号内部调用了谁“函数内部依赖了什么?”codegraph_trace追踪从 A 到 B 的调用路径“请求怎么走到数据库?”codegraph_impact评估修改某个符号的影响范围“改这个方法会波及哪里?”codegraph_files查看文件树和符号分布“项目目录结构是什么?”codegraph_status查看索引状态“索引是否正常?”安装方式# 第一步:全局安装 npm install -g @colbymchenry/codegraph # 第二步:运行并自动配置 Claude Code / Codex npx @colbymchenry/codegraphnpx @colbymchenry/codegraph 会自动向 Claude Code 和 Codex 的配置文件写入 MCP server,通常不需要手动编辑 settings.json。使用方式1)在项目里初始化索引codegraph init -i适合这些情况:第一次在某个仓库中使用 codegraph新仓库还没有建立 .codegraph 索引想让后续符号查询、调用链分析、影响面分析可用建议进入项目根目录后执行。初始化完成后,再在 Claude Code 或 Codex 中使用相关 MCP 工具。2)同步索引codegraph sync适合这些情况:拉取新代码后大量修改代码后发现查询结果与当前代码不一致时3)在 Agent 中使用可以直接用自然语言描述需求,例如:“帮我看一下登录流程从入口到数据库怎么走”“评估一下改 UserService 会影响哪些调用方”“找一下支付相关代码入口”如果要更精确,也可以点名工具,例如:先用 codegraph_context 找入口再用 codegraph_explore 展开相关源码重构前用 codegraph_impact 看影响面更新方式npm install -g @colbymchenry/codegraph@latest npx @colbymchenry/codegraph更新后建议重新执行一次自动配置,确保 Claude Code / Codex 的 MCP 配置与新版本一致。卸载方式npm uninstall -g @colbymchenry/codegraph卸载后还需要手动清理 Claude Code 和 Codex 配置文件中的对应 MCP server 条目,例如:~/.claude/settings.json → 删除 mcpServers.codegraph验证方式在 Claude Code 会话中调用 codegraph_status,能正常返回即说明 MCP 接入成功检查 ~/.claude/settings.json 中是否包含 codegraph 的 MCP server 配置如果查询结果不对,优先在项目根目录执行 codegraph sync使用建议场景推荐流程理解某个功能怎么实现codegraph_context → codegraph_explore追踪调用链codegraph_trace → codegraph_callers / codegraph_callees评估改动影响codegraph_impact → codegraph_callers按名称定位符号codegraph_search → codegraph_node确认索引状态codegraph_status2. Plugins 与 SkillsPlugins / Skills 更偏“让 Agent 按特定工作流做事”。我这里分成三类:工作流类:比如 superpowers,约束 Agent 如何脑暴、计划、实现、验证。设计与效率类:比如 taste-skill,增强前端设计、图像转代码、调研和配置能力。独立能力类:比如浏览器自动化、联网访问、Skill 编写等。2.1 Superpowers — 终端 Agent 工作流技能包Superpowers 不是某一个单独功能,而是一套终端 Agent 工作流方法论。它把“从想法到交付”的过程拆成脑暴、计划、TDD、执行、验证、代码审查和分支收尾等阶段。适合场景:多步骤开发任务修 bug 前需要系统排查写代码前需要先明确方案完工前需要验证是否真的完成想让 Claude Code / Codex 更稳定地按流程工作主要 Skills流程与规划Skill作用superpowers:using-superpowers总控规则,约束 skill 使用流程superpowers:brainstorming需求梳理、方案设计前的脑暴superpowers:writing-plans编写多步骤实施计划superpowers:executing-plans按计划执行并设置检查点superpowers:subagent-driven-development多子 Agent 协作开发superpowers:dispatching-parallel-agents并行分派独立任务开发与调试Skill作用superpowers:test-driven-developmentTDD 工作流superpowers:systematic-debugging系统化排查 bugsuperpowers:verification-before-completion完工前验证,避免未验证就宣称完成评审与收尾Skill作用superpowers:requesting-code-review主动请求代码审查superpowers:receiving-code-review处理收到的 review 意见superpowers:finishing-a-development-branch分支收尾:合并、提 PR 等配套增强Skill作用superpowers:using-git-worktrees使用 git worktree 隔离工作区superpowers:writing-skills编写或修改 skill 本身安装方式claude plugins install superpowers安装完成后,相关 skills 会出现在可用技能列表中。使用方式直接调用/superpowers:brainstorming /superpowers:writing-plans /superpowers:verification-before-completion自然语言触发也可以直接描述任务,让 Agent 根据当前场景判断是否需要调用对应 skill,例如:“帮我设计这个功能的实现方案”“系统排查一下这个 bug”“完成前帮我验证一下改动是否真的生效”更新方式claude plugins update superpowers如果更新后当前会话没有立即识别到变化,重新打开 Claude Code 会话再检查一次。卸载方式claude plugins uninstall superpowers验证方式在 Claude Code 中输入 /superpowers:brainstorming如果能正常触发,说明插件已安装并可用也可以检查 /skills 列表中是否出现 superpowers:* 相关条目使用建议场景推荐组合新功能开发brainstorming → writing-plans → test-driven-development → verification-before-completion修 bugsystematic-debugging → verification-before-completion多模块任务writing-plans → subagent-driven-development代码审查requesting-code-review / receiving-code-review分支收尾finishing-a-development-branch2.2 taste-skill — 设计与审美增强 Skills 集合taste-skill 是一组偏 设计审美、前端表达、图像生成、调研辅助与配置增强 的 skills。它适合让 Claude Code 帮你重做页面、还原截图、生成前端视觉方向,或者整理更像样的设计调研。项目地址:https://github.com/Leonxlnx/taste-skill主要 Skills设计审美类Skill作用design-taste-frontend用更高审美标准重做前端页面与落地页design-taste-frontend-v1design-taste-frontend 的早期版本,可用于兼容旧习惯high-end-visual-design强化页面的高级感、层次和视觉表达industrial-brutalist-ui生成工业 / brutalist 风格界面minimalist-ui生成极简风格界面redesign-existing-projects基于现有项目做结构化重设计stitch-design-taste辅助整理设计方向与前端表达风格brandkit整理品牌元素与视觉基调gpt-taste辅助提升生成结果的设计品味图像 / 页面生成类Skill作用image-to-code根据截图或参考图生成页面代码imagegen-frontend-web生成 Web 前端视觉稿或页面方向imagegen-frontend-mobile生成移动端界面视觉稿或页面方向研究与辅助类Skill作用deep-research多来源调研、核对并输出带引用结论verify运行并验证改动是否真的生效run启动项目并观察页面或功能表现claude-api查询 Claude API / Anthropic SDK / 模型相关信息配置与效率类Skill作用update-config修改 Claude Code 配置、权限、环境变量或 hookskeybindings-help自定义 Claude Code 快捷键fewer-permission-prompts减少常见只读操作的权限提示安装方式npx skills add https://github.com/Leonxlnx/taste-skill执行完成后,仓库里的 skills 会被加到当前环境中。后面可以通过 slash 命令或自然语言点名使用。使用方式直接调用/design-taste-frontend /high-end-visual-design /image-to-code /deep-research /update-config自然语言点名例如:“用 design-taste-frontend 帮我重做这个落地页”“用 image-to-code 根据这张截图生成页面”“用 deep-research 帮我做一份带来源的调研”“用 update-config 帮我调整 Claude Code 配置”更新方式npx skills add https://github.com/Leonxlnx/taste-skill如果本地已经存在这个来源的 skills,重新添加通常会刷新到最新内容。更新后如果当前会话没有识别到新内容,重启 Claude Code / Codex 会话再试。卸载方式如果后面不想继续使用,可以在 skills 管理中移除这个 GitHub 来源安装的 skills。这里先不写死具体卸载命令,避免和本地 skills 工具版本行为不一致。后续确认统一命令后再补充会更稳妥。验证方式安装后随便触发一个常用 skill,例如:/design-taste-frontend /deep-research只要能正常触发,就说明这组 skills 已接入成功。如果刚安装完没有生效,重开当前会话再试。使用建议场景推荐 Skill重做官网 / 落地页design-taste-frontend / high-end-visual-design做极简或特定风格页面minimalist-ui / industrial-brutalist-ui根据截图还原页面image-to-code生成前端视觉稿imagegen-frontend-web / imagegen-frontend-mobile做资料调研并整理来源deep-research调整 Claude Code 配置update-config修改快捷键keybindings-help3. 独立 Skills除了成组安装的插件,我还会单独安装一些偏“单项能力增强”的 skills。它们通常不是完整工作流插件,而是围绕浏览器、联网或 skill 编写这类具体场景提供能力。这几个独立 skills 的安装方式基本一致:我是在 https://skillsmp.com/zh 找到后,下载 zip 包,再把解压后的 skill 目录复制到 Claude Code 和 Codex 的用户级 skills 目录中。3.1 独立 Skills 总览Skill作用常用场景playwright-cli通过 Playwright CLI 打开浏览器、点击、输入、截图、读取页面快照页面验证、交互排查、端到端测试辅助web-access联网策略、网页读取、CDP 浏览器自动化、登录态页面访问普通搜索不够用、动态页面、内部后台、社交平台页面skill-creator创建、修改、优化 skill,并通过 eval / benchmark 评估效果把重复工作流沉淀成正式 skill3.2 playwright-cli — 浏览器自动化与页面测试 Skillplaywright-cli 适合需要让 Claude 直接操作网页、检查页面状态、生成截图、辅助 Playwright 测试和调试前端交互的场景。来源:本地 skill:~/.claude/skills/playwright-cli依赖:playwright-cli 命令、Playwright / npm 环境主要能力能力作用打开与导航页面open、goto、reload、go-back、go-forward页面交互click、type、fill、press、hover、select、check、upload页面观察snapshot、screenshot、eval、console、requests多标签管理tab-list、tab-new、tab-select、tab-close状态管理cookie、localStorage、sessionStorage、state-save / state-load调试与测试辅助tracing、video、request mocking、locator 生成、Playwright 测试生成安装方式playwright-cli 这一节除了复制 skill 目录,还需要先把对应 CLI 装好。否则在 Claude 里调用时,容易出现“无法打开”之类的提示。第一步:安装 Playwright CLInpm install -g @playwright/cli@latest如果这一步没做,后面即使 skill 已经复制到本地,Claude 也可能因为找不到底层命令而无法正常拉起浏览器操作。第二步:安装 Skill打开 https://skillsmp.com/zh搜索 playwright-cli下载对应 zip 包解压后,把 skill 目录复制到 Claude Code 和 Codex 的用户级 skills 目录可参考的目标目录:Claude Code:~/.claude/skills/playwright-cliCodex:Codex 对应的用户级 skills 目录如果本地已经存在同名目录,复制前建议先备份旧版本。使用方式直接调用 skill/playwright-cli也可以用自然语言触发:“用 playwright-cli 打开这个页面并检查按钮能不能点击”“帮我用浏览器跑一下这个登录流程”“打开本地页面,截图看看样式有没有问题”常用命令# 打开浏览器 playwright-cli open # 打开并直接访问页面 playwright-cli open https://example.com # 跳转页面 playwright-cli goto https://playwright.dev # 获取页面结构快照 playwright-cli snapshot # 点击快照里的元素 ref playwright-cli click e3 # 输入文本 playwright-cli type "search query" # 执行页面 JS playwright-cli eval "document.title" # 截图 playwright-cli screenshot --filename=page.png # 关闭浏览器 playwright-cli close更新方式如果是通过 skillsmp 下载 zip 包手动安装,更新时建议同时处理 CLI 和 skill:npm install -g @playwright/cli@latest然后再更新 skill 目录:重新打开 https://skillsmp.com/zh搜索 playwright-cli下载新版 zip 包解压后覆盖 Claude Code 和 Codex 用户级 skills 目录中的旧版本覆盖前建议先备份旧目录。更新后如果当前会话没有识别到新内容,重启 Claude Code / Codex 会话再试。卸载方式如果是手动复制安装,卸载时直接删除对应 skill 目录即可:Claude Code:删除 ~/.claude/skills/playwright-cliCodex:删除 Codex 用户级 skills 目录中的 playwright-cli如果只是暂时停用,也可以先改目录名或移走备份。验证方式在 Claude Code 中输入 /playwright-cli,能正常触发说明 skill 可用执行 playwright-cli open,能打开浏览器说明 CLI 已正确安装如果 Claude 提示无法打开,先检查是否已经执行过 npm install -g @playwright/cli@latest执行 playwright-cli snapshot,能返回页面结构说明浏览器会话可正常交互使用建议场景推荐用法检查页面是否能正常打开open → snapshot验证按钮 / 表单交互open → click / fill / press → snapshot调试页面状态eval / console / requests生成截图或视觉核对screenshot / show --annotate辅助 Playwright 测试generate-locator → 编写或修正测试3.3 web-access — 联网与浏览器 CDP 自动化 Skillweb-access 是给 Agent 补全联网能力的 skill。它不只是“搜索网页”,而是把 搜索策略、网页抓取、浏览器 CDP 操作、登录态页面访问、站点经验积累 组合在一起。适合处理普通 WebSearch / WebFetch 不够用的网页任务,例如动态页面、登录后页面、公众号 / 小红书 / 微博这类静态抓取不稳定的页面。项目地址:https://github.com/eze-is/web-access官网:https://web-access.eze.is本地 skill:~/.claude/skills/web-access主要能力能力作用联网工具选择在 WebSearch、WebFetch、curl、Jina、CDP 浏览器之间选择合适方式浏览器 CDP 操作直连 Chrome / Edge 等 Chromium 浏览器,读取动态页面并点击、滚动、截图登录态页面访问利用用户日常浏览器的登录状态访问后台、社交平台或内部系统本地浏览器资源检索从 Chrome / Edge 书签和历史中找用户访问过的页面媒体内容处理从 DOM 提取图片 / 视频 URL,或对视频画面进行截图采样站点经验积累记录特定网站的 URL 模式、平台特征和已知陷阱,方便复用安装方式打开 https://skillsmp.com/zh搜索 web-access下载对应 zip 包解压后,把 skill 目录复制到 Claude Code 和 Codex 的用户级 skills 目录可参考的目标目录:Claude Code:~/.claude/skills/web-accessCodex:Codex 对应的用户级 skills 目录前置配置CDP 模式需要:Node.js 22+Chrome / Edge 等 Chromium 浏览器浏览器开启远程调试权限浏览器设置入口:Chrome:chrome://inspect/#remote-debuggingEdge:edge://inspect/#remote-debugging勾选 Allow remote debugging for this browser instance 后,必要时重启浏览器。使用方式直接调用 skill/web-access也可以直接描述联网任务,让 Agent 自动判断是否需要使用:“帮我搜索一下这个工具的最新用法”“读一下这个网页并总结重点:[URL]”“打开我登录过的后台页面,帮我看一下这个设置在哪”“去小红书 / 微博 / 公众号页面查一下这个内容”“同时调研这几个产品官网,整理对比表”CDP 前置检查node "${CLAUDE_SKILL_DIR}/scripts/check-deps.mjs"如果要临时指定浏览器:node "${CLAUDE_SKILL_DIR}/scripts/check-deps.mjs" --browser edge本地浏览器历史 / 书签检索node "${CLAUDE_SKILL_DIR}/scripts/find-url.mjs" 关键词 --browser edge --limit 10适合用户说“我之前打开过那个页面”“公司那个后台”但没有给出 URL 的情况。更新方式如果是通过 skillsmp 下载 zip 包手动安装,更新方式是重新下载新版 zip 包,然后覆盖用户级 skills 目录中的旧版本:打开 https://skillsmp.com/zh搜索 web-access下载新版 zip 包解压后覆盖 Claude Code 和 Codex 中原来的 web-access 目录覆盖前建议先备份旧目录,尤其是本地如果已经积累了 references/site-patterns/ 这类站点经验文件。卸载方式如果是手动复制安装,卸载时直接删除对应目录即可:Claude Code:删除 ~/.claude/skills/web-accessCodex:删除 Codex 用户级 skills 目录中的 web-access如果你在这个 skill 里积累过站点经验、配置过 config.env,删除前建议先备份。验证方式输入 /web-access 能正常触发,说明 skill 已被识别执行前置检查脚本不报错,说明 Node.js 和浏览器 CDP 环境可用能通过浏览器打开页面并读取 DOM / 截图,说明 CDP Proxy 正常工作使用建议场景推荐用法普通资料搜索WebSearch → 一手来源页面 → WebFetch / Jina已知 URL 的内容提取WebFetch;动态页面再升级到 CDP登录后页面 / 内部系统CDP 浏览器模式小红书、公众号等反爬明显页面优先 CDP,不要只依赖静态抓取用户记得看过但没给 URLfind-url.mjs 查本地历史 / 书签多个独立站点调研分派子 Agent 并行,各自创建后台 tab3.4 skill-creator — Skill 创建、优化与评估工具skill-creator 是 Anthropic 官方的 skill,用来帮助创建新 skill、改进已有 skill,并通过测试用例、eval 和 benchmark 评估 skill 效果。适合场景:把重复工作流沉淀成正式 skill优化已有 skill 的触发描述和执行质量为 skill 准备真实测试 prompts对比有 skill / 无 skill,或新版 / 旧版的效果差异项目地址:https://github.com/anthropics/claude-plugins-official/tree/main/plugins/skill-creator来源补充:我这里是通过 https://skillsmp.com/zh 找到后,下载 zip 包,再复制到 Claude Code 和 Codex 的用户级 skills 目录里使用主要能力能力作用创建 skill从需求访谈开始,整理触发条件、输出格式和 SKILL.md 内容修改 skill优化已有 skill 的结构、描述、步骤和约束编写测试用例为 skill 准备真实用户会说的 eval prompts运行评估对比有 skill / 无 skill,或新旧 skill 的输出差异生成评估报告用 benchmark 和 review viewer 帮用户查看结果并反馈优化触发描述改进 description,让 skill 更容易在正确场景触发安装方式我这里的安装方式不是直接走 Claude Code 插件命令,而是从 skillsmp 下载 zip 包后手动复制:打开 https://skillsmp.com/zh搜索 skill-creator下载对应 zip 包解压后,把 skill 目录复制到 Claude Code 和 Codex 的用户级 skills 目录可参考的目标目录:Claude Code:~/.claude/skills/skill-creatorCodex:Codex 对应的用户级 skills 目录如果当前环境已经能在 /skills 中看到 skill-creator,通常说明已经复制成功并被识别。使用方式直接调用 skill/skill-creator自然语言点名例如:“用 skill-creator 帮我创建一个用于写博客发布文档的 skill”“帮我优化这个 skill 的 description,让它更容易触发”“给这个 skill 设计几个 eval prompts”“比较一下旧版和新版 skill 的效果”典型流程明确 skill 要解决什么问题,以及何时触发写出初版 SKILL.md准备 2~3 个真实测试 prompt分别运行有 skill / 无 skill,或新版 / 旧版对比让用户查看输出和 benchmark根据反馈继续迭代 skill更新方式如果是通过 skillsmp 下载 zip 包手动安装,更新方式就是重新下载新版 zip 包并覆盖旧目录:打开 https://skillsmp.com/zh搜索 skill-creator下载新版 zip 包解压后覆盖 Claude Code 和 Codex 用户级 skills 目录中的旧版本覆盖前建议先备份旧目录。更新后如果当前会话没有识别到新内容,重启 Claude Code / Codex 会话再试。卸载方式如果是手动复制安装,直接删除对应目录即可:Claude Code:删除 ~/.claude/skills/skill-creatorCodex:删除 Codex 用户级 skills 目录中的 skill-creator如果你改过这个 skill,或在里面加过自己的参考文件,删除前建议先备份。验证方式输入 /skill-creator,能正常触发说明 skill 可用检查 /skills 列表中是否出现 skill-creator让它为一个简单 skill 生成测试 prompt,能输出可执行的评估思路即可使用建议场景推荐用法想把重复工作流沉淀成 skillskill-creator 从需求访谈开始创建已有 skill 但触发不稳定优化 description 和触发场景描述不确定 skill 是否真的有效编写 eval prompts,对比有无 skill 的输出想系统评估多个版本跑 benchmark,并用 review viewer 收集反馈只想快速改一小段 skill可以跳过完整评估,但要保留清晰修改目标4. 推荐组合:Superpowers + Codegraph我自己的理解是:Superpowers 决定“这件事应该按什么流程做”Codegraph 帮助“快速看清代码结构和影响范围”两者配合时,可以按下面的方式使用:场景推荐流程做新功能前brainstorming → codegraph_context → writing-plans修 bug 时systematic-debugging → codegraph_trace → verification-before-completion改公共模块codegraph_impact → writing-plans → requesting-code-review阅读陌生项目codegraph_files → codegraph_context → codegraph_explore如果只是快速查一个符号,直接用 codegraph 就够了;如果是要真正改代码,建议先用 Superpowers 把流程约束住,再用 codegraph 辅助定位代码。
2026年05月25日
11 阅读
0 评论
1 点赞
2026-05-19
Obsidian接入博客
Halo下载halo插件,启用之后,配置相关信息,但是需要注意的是,站点后面不要/结尾个人令牌的权限需要包含文章管理配置项站点名称:站点的名称,可选。站点 URL:站点的 URL,例如 https://example.com。个人访问令牌: 你的 Halo 站点的个人访问令牌,需要具有 文章管理 权限。之后左侧这里会展示快捷按钮,可以快速同步到halo发布之后,需要手动编辑一下这个,否则默认是待发布状态Typecho这个有点复杂,博客上需要下载安装一个插件把文件同步到 Typecho 中 Typecho-API: Typecho Restful功能:发布文章添加分类/标签浏览文章保存文章到本地配置项Host: typecho 的地址/index.php/apiToken: 插件安装之后设置 tokenUser:上面两项设置之后会自动获取用户,选择一个操作用户配置好后,左侧也会多出一个对应的标签,可以快速发布文章
2026年05月19日
16 阅读
0 评论
0 点赞
2026-05-14
svn转换成git
将svn转换成git初始化 git-svn# 从svn上拉取 git svn clone <完整的SVN URL> hours-back-git # 直接使用完整的项目 URL git svn init svn://xxxx拉取 SVN 历史# 先拉取最新版本(快速) git svn fetch -r HEAD # 如果需要全部历史,去掉 -r HEAD 即可第 4 步:查看远程分支git branch -r你应该会看到类似 git-svn 或 remotes/git-svn 的引用。第 5 步:重置到 SVN 版本(保留本地修改)bash根据第4步看到的实际名称调整git reset --mixed git-svn或者如果分支名是 remotes/git-svn:git reset --mixed remotes/git-svn第 6 步:查看状态git status现在应该能看到你所有的本地修改(显示为待提交状态)。常用命令速查表操作命令查看当前分支git branch创建并切换分支git checkout -b 分支名切换分支git checkout 分支名查看状态git status查看改动内容git diff添加文件git add 文件名添加所有文件git add .本地提交git commit -m "说明"查看提交历史git log --oneline合并分支(保留历史)git merge 分支名合并分支(压缩成一个)git merge --squash 分支名拉取 SVN 更新git svn rebase提交到 SVNgit svn dcommit查看相对 SVN 的改动git log git-svn..HEAD --oneline
2026年05月14日
10 阅读
0 评论
0 点赞
2026-05-06
画图指令收集
画图 请观察照片中的元素、并为每个物件加上有意义的手绘风注解。使用中文标注,请填写照片中的物品(例:披萨、汽水 [描写规则】 • 使用像白色笔画的细线手绘线条 • 一笔画风格、随性、略带不均匀感 • 沿着物件外围加上描边轮廓 • 用箭头或虛线做出视线引导 [文字规则】 • 手写风格字体(日系可爱感) • 句子简短、像自言自语的小碎念 • 语气偏日记感、带一点情绪[注解生成规则】 • 饮料 一> 味道、温度、心情(例:清爽、微甜、刚刚好) • 食物 一> 口感、好吃程度(例:松软、超好吃) • 空间 一> 氛围(例:很放松、喜欢这种感觉) • 整体 一> 一句总结(例:今天有点幸福~)[装饰) • 适度加入热气、闪光、爱心、星星、小表情等元素。不要过度装饰,保留空白空间。结果:
2026年05月06日
14 阅读
0 评论
0 点赞
2026-02-05
大航海探险物语
1. 铁匠铺锻造某个东西20级2. 宠物中心好像是3个3级普通宠物:改宠不可孵化的宠物2.2 宠物体型宠物分为S(small)、M(medium)、L(large)三种体型,分别代表小、中、大。船团等级决定了可参与战斗的宠物限制:S、M体型...无条件L体型…船团等级20以上S改体型...船团等级20以上M改体型...船团等级30以上L改体型...船团等级50以上L极体型...船团等级70以上S真体型…船团等级20以上M真体型…船团等级40以上L真体型…船团等级85以上S、M、L升级所需要的经验也不一样,体型越大的宠物,需要的升级经验越高。体型越大的宠物,对地方攻击造成气绝的概率越高。收到气绝的概率也越低。2.3 宠物属性宠物分雷、火、水、绿、暗、无六种属性。属性之间存在克制关系,无属性没有克制与被克制关系,具体可以继续往下看。2.4 宠物等级上限宠物等级上限只和模式有关,普通300级困难800级噩梦1200级关于800级以上宠物轮回进困难:只要宠物吃到经验,就会变成800级,等级变成了困难的上限然而属性不变。当该宠物回到噩梦时,依然是800级,如果继续给该宠物升级,例如升至801级,属性会变成801级的属性,需要重新升级。小结:噩梦宠物轮回困难,要么800级,要么1200级。3. 职业表4. 掉落物游戏中分为好几个地图前期地图是聚焦共和国,基本上是萌新早期活跃的地盘,这里虽然物品掉落丰富,但基本上都是在中后期比较鸡肋的东西,不过前期地图也可以掉才能上升药,升星也毫无压力。阿里莫妮亚大陆的地图属于16到95级的练级点,这里的话也算是一个前期的地图,稍微比萌新期高一点,也并没有什么值得注意的特殊掉落物品。梅丽迪波王国的等级在78至125,跨度不大,但是这个地区现在可以拿到等级3的宠物蛋了,虽然也比较拉胯但是孵化出的宠物基本可以足够在前期玩一玩。东南尾端诸岛唯一值得刷的就是秘境岛屿,这里会出不少稀有掉落物品,并且非常集中,所以当你开了这个地区的话可以去那里碰碰运气。楠迪大陆这张地图比较小,但可以去能吃岛刷刷四级宠物蛋,还是挺不错的。大海贼地带的开拓之地是游戏后期掉落最好的地方,所以可以刷一刷,但是怪的等级和数量都极其高,建议有一些练度以后再去。开罗诸岛是等级最高的据点,但是掉落其实不怎么好,基本可以在上一张图拿到,所以这张图实际上可以忽略不刷。5. 布局图参考这个6. 武器表1. 剑系武器2. 杖系武器3. 斧系武器4. 枪系武器5. 打击类武器6. 铳类武器7. 弓类武器8. 盾9. 头部装备10. 防具11. 饰品
2026年02月05日
42 阅读
0 评论
0 点赞
2025-12-16
Typecho Joe主题增加目录
Typecho Joe主题添加文章目录导航方法和样式参考:https://www.cnblogs.com/weixia-blog/p/180673661. 安装Menutree插件wget https://github.com/typecho-fans/plugins/releases/download/plugins-M_to_R/MenuTree.zip解压后放到typecho插件目录:usr/plugins2. 配置插件首先在管理后台启用插件,配置里面两个都勾上显示模式 嵌入模式 独立模式嵌入模式在文章里面直接输入1. 安装Menutree插件2. 配置插件3. 修改主题模版4. 后台的主题配置界面即可显示目录独立模式需要在模板文件写入<?php $this->treeMenu(); ?>3. 修改主题模版编辑Joe主题文件夹usr/themes/Joe/public/aside.php文件 <section class="joe_aside__item menu-tree" style="display:none;"> <div class="joe_aside__item-title menu_title"> <svg t="1642997936013" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2169" width="128" height="128"><path d="M838.3 895.9H197.9c-53.9 0-97.7-43.8-97.7-97.7V236.7c0-53.9 43.8-97.7 97.7-97.7h640.3c53.9 0 97.7 43.8 97.7 97.7v561.4c0.1 53.9-43.7 97.8-97.6 97.8zM197.9 203.8c-18.1 0-32.9 14.8-32.9 32.9v561.4c0 18.1 14.8 32.9 32.9 32.9h640.3c18.1 0 32.9-14.8 32.9-32.9V236.7c0-18.1-14.8-32.9-32.9-32.9H197.9z" fill="#666666" p-id="2170"></path><path d="M695.1 455.2H341.2c-17.9 0-32.4-14.5-32.4-32.4s14.5-32.4 32.4-32.4h353.9c17.9 0 32.4 14.5 32.4 32.4s-14.5 32.4-32.4 32.4zM695.1 578.2H341.2c-17.9 0-32.4-14.5-32.4-32.4s14.5-32.4 32.4-32.4h353.9c17.9 0 32.4 14.5 32.4 32.4s-14.5 32.4-32.4 32.4zM695.1 701.2H341.2c-17.9 0-32.4-14.5-32.4-32.4s14.5-32.4 32.4-32.4h353.9c17.9 0 32.4 14.5 32.4 32.4s-14.5 32.4-32.4 32.4zM379.1 281.1c-17.9 0-32.4-14.5-32.4-32.4V115.4c0-17.9 14.5-32.4 32.4-32.4s32.4 14.5 32.4 32.4v133.2c0 17.9-14.5 32.5-32.4 32.5zM657.1 281.1c-17.9 0-32.4-14.5-32.4-32.4V115.4c0-17.9 14.5-32.4 32.4-32.4s32.4 14.5 32.4 32.4v133.2c0 17.9-14.5 32.5-32.4 32.5z" fill="#666666" p-id="2171"></path></svg> <span class="text">目录</span> </div> <?php $this->treeMenu(); ?> </section>4. 后台的主题配置界面设置外观 --> 全局设置 --> 自定义CSS/* 核心修正:只控制我们添加的“目录”模块,不影响其他小组件 */ /* 原来的规则:.joe_post + .joe_aside > section { display: none; } */ .joe_post + .joe_aside > .menu-tree { display: block !important; /* 确保目录模块在文章页显示 */ } /* 确保“作者信息”模块显示 */ .joe_post + .joe_aside > .author { display: block; } /* 以下是纯粹的目录样式美化,按需调整 */ .menu-tree { background: var(--background); padding-bottom: 25px; position: sticky; margin-bottom: 15px; } .index-menu { max-height: 500px; overflow-y: auto; overflow-x: hidden; margin-top: 10px; overscroll-behavior: contain; } .index-menu-item { margin: 12px 0px; /* 修改这里:将上下边距从10px增加到12px或更大 */ } .index-menu-list { margin: 8px 0px 8px 15px; /* 修改这里:将上下边距从5px增加到8px,左侧缩进可保留 */ } .index-menu-link { color: var(--main); transition: all 0.2s ease-in-out 0s; padding: 5px 0px; } .index-menu-link:hover { color: var(--theme); text-shadow: var(--text-shadow); font-weight: 500; } /* 锚点跳转定位 */ .menu-target-fix { display: block; position: relative; top: -100px; } /* 2. 调整“目录”标题与下方列表的间距:增加间距 */ .joe_aside__item-title { margin-bottom: 15px; /* 可以适当增加这个值 */ } /* 在宽度小于1000px的设备上隐藏短划线,以使目录的标题正常显示 */ @media screen and (max-width: 1000px) { .joe_aside__item-title > .line { display: none; } } /* 在宽度小于800px的设备上隐藏目录侧边栏 */ @media screen and (max-width: 800px) { .menu-tree { display: none !important; } }
2025年12月16日
32 阅读
0 评论
0 点赞
2025-12-16
简单的UV使用教程
这个教程涵盖了 UV 的主要功能。随着 UV 的快速发展,建议查看官方文档获取最新信息:uv 中文文档安装UV安装 UVmacOS 和 Linux# 使用 curl curl -LsSf https://astral.sh/uv/install.sh | sh # 或者使用 pip pip install uvWindows# 使用 PowerShell powershell -c "irm https://astral.sh/uv/install.ps1 | iex" # 或者使用 pip pip install uv升级# 使用自身上升级命令(1.0版本以上) uv self update # 或使用旧的升级命令 uv pip install --upgrade uv📍 创建全局 uv.toml 的路径你需要根据操作系统,在指定目录创建一个新的文本文件,并命名为 uv.toml。操作系统全局配置文件完整路径如何快速打开/创建Windows%APPDATA%\uv\uv.toml1. 按 Win+R,输入 %APPDATA%\uv 并回车。2. 在打开的文件夹内,新建文本文档,重命名为 uv.toml。macOS / Linux~/.config/uv/uv.toml在终端执行:mkdir -p ~/.config/uv && nano ~/.config/uv/uv.toml🛠️ 创建并配置文件的步骤打开或创建文件:使用上表的方法,在正确的位置创建一个名为 uv.toml 的纯文本文件。编辑文件内容:将以下配置粘贴进去(以清华大学源为例):[[index]] url = "https://pypi.tuna.tsinghua.edu.cn/simple" # 可选的附加配置:设置并行下载数以提高速度 concurrent-downloads = 8 # 可选:如果你想设置安装相关的其他参数,正确字段是 `[pip]` # [pip] # jobs = 8 # `jobs` 参数在 `[pip]` 字段下是有效的Python 版本管理查看可用的 Python 版本uv python list安装特定 Python 版本# 安装最新 Python 3.12 uv python install 3.12 # 安装特定小版本 uv python install 3.11.5 # 安装预览版 uv python install 3.13-dev使用特定 Python 版本# 为当前项目指定 Python 版本 uv python pin 3.12 # 查看当前项目使用的 Python 版本 uv python show依赖管理从 requirements.txt 安装依赖基本安装uv pip install -r requirements.txt同步依赖(类似 pip-sync)# 同步虚拟环境中的包,使其与 requirements.txt 完全一致 uv pip sync requirements.txt安装开发依赖uv pip install -r requirements-dev.txt生成 requirements.txt从当前环境生成uv pip freeze > requirements.txt生成带哈希值的锁定文件uv pip compile pyproject.toml -o requirements.lock生成特定平台的依赖# 只生成当前平台需要的依赖 uv pip compile pyproject.toml --platform linux-x86_64创建和更新依赖添加新包uv pip install pandas # 添加到 requirements.txt uv pip install pandas && uv pip freeze > requirements.txt更新所有包uv pip compile --upgrade pyproject.toml更新特定包uv pip install "pandas>=2.0.0"项目管理初始化新项目# 创建新项目目录 mkdir my-project cd my-project # 初始化项目(会创建 pyproject.toml) uv init # 或使用指定 Python 版本初始化 uv init --python 3.12创建虚拟环境# 在当前目录创建虚拟环境 uv venv # 指定虚拟环境名称 uv venv .venv # 使用特定 Python 版本 uv venv --python 3.12激活虚拟环境Linux/macOS:source .venv/bin/activateWindows:.venv\Scripts\activate在虚拟环境中使用 uv# 激活虚拟环境后,安装依赖 uv pip install -r requirements.txt # 或直接使用 uv run 运行命令 uv run python script.py常用命令安装相关# 安装单个包 uv pip install package-name # 安装指定版本 uv pip install "package-name==1.0.0" # 安装并添加到 pyproject.toml uv add package-name # 安装开发依赖 uv add --dev black依赖解析# 解析依赖树 uv pip tree # 检查过时的包 uv pip list --outdated # 显示包信息 uv pip show package-name清理和维护# 清理缓存 uv cache clean # 删除包 uv pip uninstall package-name # 修复损坏的环境 uv pip check工作流示例示例 1:从现有 requirements.txt 开始# 1. 克隆项目 git clone project-url cd project # 2. 创建虚拟环境 uv venv # 3. 激活虚拟环境 source .venv/bin/activate # Linux/macOS # 或 .venv\Scripts\activate # Windows # 4. 安装依赖 uv pip install -r requirements.txt # 5. 运行项目 uv run python main.py示例 2:从头创建新项目# 1. 创建项目目录 mkdir new-project cd new-project # 2. 初始化项目 uv init --python 3.11 # 3. 添加依赖 uv add fastapi uv add --dev pytest # 4. 安装依赖 uv pip install # 5. 生成 requirements.txt uv pip freeze > requirements.txt示例 3:同步生产环境# 1. 在生产服务器上创建虚拟环境 uv venv --python 3.11 # 2. 激活环境 source .venv/bin/activate # 3. 同步精确版本 uv pip sync requirements.lock # 4. 启动应用 uv run gunicorn app:app与 pip 对比的优势速度更快:UV 比 pip 快 10-100 倍内置虚拟环境管理:无需额外安装 virtualenv更好的依赖解析:更快的依赖解析和冲突检测跨平台一致性:更好的跨平台依赖管理一体化工具:集成了 pip、pip-tools、virtualenv 等功能提示和技巧使用 UVX 运行工具(类似 npx):# 无需安装即可运行 Python 工具 uvx black .并行安装:# UV 默认并行安装,可通过 --no-parallel 禁用 uv pip install --no-parallel -r requirements.txt离线模式:# 使用缓存的包 uv pip install --offline package-name仅安装当前平台依赖:uv pip install --platform-current故障排除清除缓存解决问题:uv cache clean详细日志:uv pip install -v package-name强制重新安装:uv pip install --reinstall package-name配置UV 的配置文件位于:Linux/macOS: ~/.config/uv/uv.tomlWindows: %APPDATA%\uv\uv.toml示例配置:toml[[tool.uv.index]] url = "https://pypi.tuna.tsinghua.edu.cn/simple" [tool.uv] # 总是升级包 upgrade = true # 并行下载数 concurrent-downloads = 8 [tool.uv] # 缓存目录 cache-dir = "~/.cache/uv"
2025年12月16日
59 阅读
0 评论
0 点赞
2025-11-21
uniapp离线打包
超详细!uni-app Android本地打包傻瓜式教程1. 接入mPaaS,支付宝原生扫码插件支付宝原生扫码插件 - DCloud 插件市场uniapp里面按照上面的配置离线打包的时候,增加下面的配置<meta-data android:name="mobilegw.appid" android:value=""/> <meta-data android:name="workspaceId" android:value=""/> <meta-data android:name="mpaasConfigLicense" android:value=""/>在main\assets目录下,增加一个dcloud_uniplugins.json文件,我是根据插件目录里面的配置写的{ "nativePlugins": [ { "plugins": [ { "type": "module", "name": "Mpaas-Scan-Module", "class": "com.mpaas.uniapp.scan.MpaasScanModule" } ] } ] }将插件目录下的android,里面的所有内容,都复制到libs里面然后正常打包就行了2. push2.0相关maven { url 'https://mvn.getui.com/nexus/content/repositories/releases' }<service name="push" value="io.dcloud.feature.aps.APSFeatureImpl"/><intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:host="io.dcloud.unipush" android:path="/" android:scheme="unipush" /> </intent-filter>// 个推相关 manifestPlaceholders = [ "GETUI_APPID" : "GETUI_APPID", "plus.unipush.appid" : "GETUI_APPID", "plus.unipush.appkey" : "AppKey", "plus.unipush.appsecret": "AppSecret", "apk.applicationId" : "包名:比如com.test.app" ]在hb项目里面,右键,新增云函数,提交到线上,便可使用const uniPush = uniCloud.getPushManager({appId: "你的应用appId"}) //注意这里需要传入你的应用appId exports.main = async (event, context) => { let push = { "push_clientid": "", # 填写上一步在uni-app客户端获取到的客户端推送标识push_clientid "force_notification": True, # 填写true,客户端就会对在线消息自动创建“通知栏消息”。 "title": "通知栏显示的标题", "content": "通知栏显示的内容", "settings": { # 消息有效期设置,单位毫秒,-1表示不设离线。默认是 2 小时,取值范围:-1 ~ 3 * 24 * 3600 * 1000(3天)之间 "ttl": 86400000 }, "payload": { "text": "体验一下uni-push2.0" }, "badge": "+1" } return await uniPush.sendMessage(push) }dcloud的云空间,记得添加这三张表
2025年11月21日
41 阅读
0 评论
0 点赞
2025-11-20
git的一些操作
标签# 查看已有标签: git tag # 查看标签详情(备注): git tag -n # 创建标签: git tag -a v0.0.1 -m "标签的备注" # 推送标签: git push origin v0.0.1本地和线上的有冲突的解决方案保留本地修改,同时拉取线上版本# 暂存本地修改 git stash # 拉取最新代码 git pull # 恢复本地修改(如果有冲突需要手动解决) git stash pop
2025年11月20日
35 阅读
0 评论
0 点赞
2025-11-17
Windows系统打包备份
它们能自动处理系统分区、引导分区,并自带一个可启动的恢复环境,直接生成一个能用来安装系统的U盘或ISO文件。以下是几个非常流行且强大的选择:AOMEI Backupper(傲梅轻松备份) - 强烈推荐这款软件对个人用户免费,功能强大且界面非常友好,是DiskGenius方案的最佳替代品。操作流程:在虚拟机中准备:启动您的Win10虚拟机。下载并安装 AOMEI Backupper Standard。(可选但推荐)运行磁盘清理,减少体积。依然建议运行 sysprep /oobe /generalize /shutdown 进行通用化,以确保系统可以部署到其他电脑。创建系统备份镜像:运行AOMEI Backupper。选择 “备份” -> “系统备份”。关键优势: 软件会自动选择所有系统启动所必需的分区(包括EFI分区和MSR分区),您无需手动选择。您只需要选择备份文件存放的位置(比如虚拟机里的D盘,或者一个网络位置)。点击“开始备份”。它会生成一个单一的、包含所有系统的镜像文件(.adi格式)和一些描述信息。创建可启动恢复介质:在软件主界面找到 “工具” -> “创建可启动媒体”。选择创建类型(推荐基于Linux或Windows PE的介质,兼容性更好)。选择输出方式为 “ISO文件”。程序会自动引导您生成一个.iso文件。这个ISO就是您的“自定义安装盘”!如何使用这个ISO安装系统?在任何一台新电脑(物理机或新虚拟机)上,用这个ISO启动。它会直接进入AOMEI Backupper的恢复界面。使用 “还原” 功能,选择您之前备份好的那个.adi系统镜像文件。软件会自动识别目标硬盘,您只需点击“开始还原”,它就会自动将整个系统(包括引导)写入硬盘。重启电脑,您熟悉的、带着所有设置和软件的Windows就出现了。
2025年11月17日
38 阅读
0 评论
0 点赞
2025-11-12
HBuilderX CLI注意事项
1. 官网地址:https://hx.dcloud.net.cn/cli/README2. 注意事项cli open./cli open -1 :open: 操作超时安装依赖apt install -y libgl1 libharfbuzz0b
2025年11月12日
43 阅读
0 评论
0 点赞
2025-09-11
飞牛遇到的一些问题
1. 个人空间与实际使用不符合#!/bin/bash btrfs quota rescan -w /vol12. 回收站内容不会自动清理比如我需要清理的是网络备份这个回收站目录下的文件#!/bin/bash # 定义要清理的目录 TRASH_DIR="/vol2/1000/.@#local/trash/网络备份" # 定义日志文件位置 LOG_FILE="/vol2/1000/网络备份/clean_network_back.log" # 获取当前时间,用于日志记录 echo "=== 清理任务开始于 $(date) ===" >> "$LOG_FILE" 2>&1 # 检查目标目录是否存在 if [ -d "$TRASH_DIR" ]; then # 计算清理前的目录大小 BEFORE_SIZE=$(du -sb "$TRASH_DIR" 2>/dev/null | cut -f1) BEFORE_SIZE=${BEFORE_SIZE:-0} # 如果目录为空或不存在,设为0 # 执行删除操作,强制删除目录下的所有文件和子目录 # 使用 /bin/rm 的绝对路径以避免别名问题 /bin/rm -rf -- "$TRASH_DIR"/* >> "$LOG_FILE" 2>&1 # 计算清理后的目录大小 AFTER_SIZE=$(du -sb "$TRASH_DIR" 2>/dev/null | cut -f1) AFTER_SIZE=${AFTER_SIZE:-0} # 如果目录为空或不存在,设为0 # 计算释放的空间(字节) FREED_SPACE=$((BEFORE_SIZE - AFTER_SIZE)) # 格式化显示空间大小 format_size() { local bytes=$1 if [ $bytes -ge 1073741824 ]; then echo "$(echo "scale=2; $bytes/1073741824" | bc) GB" elif [ $bytes -ge 1048576 ]; then echo "$(echo "scale=2; $bytes/1048576" | bc) MB" elif [ $bytes -ge 1024 ]; then echo "$(echo "scale=2; $bytes/1024" | bc) KB" else echo "${bytes} B" fi } FREED_SPACE_FORMATTED=$(format_size $FREED_SPACE) echo "成功清理目录 $TRASH_DIR 下的所有内容。" >> "$LOG_FILE" 2>&1 echo "释放空间: $FREED_SPACE_FORMATTED" >> "$LOG_FILE" 2>&1 echo "清理详情: 清理前 $(format_size $BEFORE_SIZE), 清理后 $(format_size $AFTER_SIZE)" >> "$LOG_FILE" 2>&1 else echo "错误:目录 $TRASH_DIR 不存在,清理任务已中止。" >> "$LOG_FILE" 2>&1 fi echo "=== 清理任务结束于 $(date) ===" >> "$LOG_FILE" 2>&1 echo "" >> "$LOG_FILE" 2>&1将脚本放到某个目录下,比如我的放到的是**/网络备份/clean_network_back.sh使用crontab来做定时任务# 查看当前任务 crontab -l # 编辑任务 crontab -e增加一行# 分别对应秒分时天月 0 8 * * * /vol2/1000/网络备份/clean_network_back.sh
2025年09月11日
67 阅读
0 评论
0 点赞
2025-08-19
Python极速搭建局域网文件传输服务器
在日常工作中,是否遇到下面的困扰:同事急需你电脑上的资料文件,却找不到U盘聊天工具传输速度慢,文件类型受限云存储等第三方工具存在隐私泄露风险,还需要复杂配置今天我们使用Python内置神器,3秒搭建局域网文件共享服务器!你没看错,就是3秒!核心武器:HTTP服务器模块Python自带了一个强大的模块http.server,只需要一条命令就能启动文件共享服务器# 在文件所在目录执行 python -m http.server默认端口8000,浏览器访问http://your_ip:8000,就可以查看当前目录下的所有文件实测传输1GB的文件用时不到10s(千兆局域网环境)手机连接同一个局域网,同样也能在浏览器访问服务端可以查看到所有的访问记录(如上图所示)进阶使用技巧1.自定义端口将默认的8000端口替换为其他未被占用的端口python -m http.server 78792.自定义共享目录设置共享的根目录# Linux/Mac共享/share文件夹 python3 -m http.server -d /share 7879 # Windows共享D:\share文件夹 python -m http.server -d D:\share 78793.多线程性能优化http.server默认为单线程,多人使用有高并发阻塞风险,可使用socketserver.ThreadingTCPServerimport socketserver from http.server import SimpleHTTPRequestHandler handler = SimpleHTTPRequestHandler with socketserver.ThreadingTCPServer(('', 7879), handler) as httpd: httpd.serve_forever()安全提示:使用完毕后请及时关闭文件共享服务(关闭cmd命令终端窗口即可),避免长期暴露文件技术不在于复杂,而在于解决实际问题。下次需要共享文件时,无需聊天工具来回发送,也不必寻找U盘,只需打开终端,一行命令开启专属高速文件共享通道!
2025年08月19日
62 阅读
0 评论
0 点赞
1
2
...
8