首页
关于
友链
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
条评论
首页
栏目
奇思妙想
代码相关
软件分享
游戏分享
游戏相关
我的家庭影院
页面
关于
友链
搜索到
98
篇与
的结果
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-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 点赞
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 点赞
2025-08-12
使用GitHub Action 自动构建 RustDesk 客户端
1. 安装rustdeskdocker-compose 文件:假设你的域名是rustdesk.test.comservices: rustdeskapi: container_name: rustdeskapi ports: - 21114:21114 - 21115:21115 - 21116:21116 - 21116:21116/udp - 21117:21117 - 21118:21118 - 21119:21119 image: lejianwen/rustdesk-server-s6:latest environment: RELAY: "rustdesk.test.com:21117" #中继服务器:21117 ENCRYPTED_ONLY: 1 MUST_LOGIN: Y #默认为N,设置为Y 则必须登录才能链接 TZ: Asia/Shanghai RUSTDESK_API_RUSTDESK_ID_SERVER: "rustdesk.test.com:21116" #ID服务器 RUSTDESK_API_RUSTDESK_API_SERVER: "https://rustdesk.test.com" #API服务器 RUSTDESK_API_RUSTDESK_KEY: "" # 首次运行后给的 RUSTDESK_API_JWT_KEY: "随便一个" # 自定义JWT KEY,为空则不启用JWT,如果没使用lejianwen/rustdesk-server中的MUST_LOGIN,建议设置为空 RUSTDESK_API_RUSTDESK_WS_HOST: "wss://rustdesk.test.com" volumes: - ./server:/data - ./api:/app/data #将数据库挂载 restart: unless-stoppednginx文件:参考:HTTPS Reverse Proxy · lejianwen/rustdesk-api Wikiserver { server_name <server>; listen 443 ssl; ssl_certificate /etc/nginx/ssl/<server>/fullchain.pem; ssl_certificate_key /etc/nginx/ssl/<server>/privkey.pem; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://rustdesk-api:21114/; } location /ws/id { proxy_pass http://rustdesk-server:21118; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } location /ws/relay { proxy_pass http://rustdesk-server:21119; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } server { if ($host = <server>) { return 301 https://$host$request_uri; } server_name <server>; listen 80; return 404; }2. Fork Rustdesk仓库rustdesk/hbb_commonrustdesk/rustdesk2.1 拉取 Fork 后的代码请注意,替换仓库地址为你fork后的仓库地址,而不是直接复制我下面的命令 # 可选:如果需要使用代理 # git config --global http.proxy http://127.0.0.1:10808 # git config --global https.proxy http://127.0.0.1:10808 # 拉取仓库代码到本地 请替换为你fork后的仓库地址 git clone https://github.com/irains/hbb_common.git git clone https://github.com/irains/rustdesk.git 3. 修改 hbb_common代码打开 hbb_common 仓库下的 src/config.rs文件,修改 101-102 行 的默认服务器和密钥为你自己的服务器和密钥。 3.1 推送修改后的代码# 将修改的代码添加到暂存区 git add . # 将代码提交到本地仓库 git commit -m "修改默认的服务器和 key" # 将本地仓库代码推送到远程仓库 如果你没有登录过GitHub会要求你登录github git push 3.2 查看最新提交的 commit IDgit log --oneline我这里提交后的commit id是b8d80ca,可用于后续验证rustdesk服务器和key是否修改成功4. 修改 rustdesk 仓库代码我们切换到克隆下来的rustdesk代码目录下,按照下面的方式修改子模块地址并更新。4.1 更新 .gitmodules打开并编辑 .gitmodules 文件,将 url 替换为你Fork后的 hbb_common 仓库地址。比如我fork后的仓库地址是https://github.com/irains/hbb_common\则将 https://github.com/rustdesk/hbb_common地址换为前面这个地址即可,记住是hbb_common的地址,而不是rustdesk仓库的地址4.2 更新子模块将上面修改好的代码保存,执行下面的命令更新子模块到最新的commit idgit submodule sync git submodule update --remote如果上面的方法不行,用下面这个cd libs/hbb_common git checkout <上面提到的版本号> cd ../.. git add libs/hbb_common git commit -m "Pin submodule to specific version"4.3 提交并推送代码git add . git commit -m "修改子模块仓库地址" git push4.4 确认 Commit ID 更新代码推送完毕后,进入你Fork 后的 rustdesk 仓库的 libs 目录下,查看 hbb_common 后面的 commit id,确保它是3.2提到的b8d80ca(这个值每个人的是不同的),否则请回到上面的步骤重新检查是否遗漏了某个操作。 5. 触发 GitHub Action 构建5.1 创建 Tag在本地 rustdesk 仓库中创建一个新 tag,例如 1.3.9,请使用 固定格式 (如 1.3.9 或 v1.3.9),以便于自动匹配构建规则。git tag -a 1.3.9 -m "修改内置服务器和 key"5.2 增加API_SERVER来到rustdesk项目,settings --> Secrets and variables --> new repository secretname:API_SERVERsecret:RUSTDESK_API_RUSTDESK_API_SERVER的值5.3 触发 GitHub Actions 构建在 rustdesk 仓库中,进入 Actions 页面,点击下面图中的按钮启用自动构建。启用后回到本地rustdesk代码中使用下面的命令将tag推送到Github后将自动开始构建。git push --tags5.4 下载构建好的客户端Tag推送完毕后会出现下面的构建进度。 等待 Action 执行完成后(时间比较长,一个半小时左右才能全部构建完成),进入 Releases 页面,即可下载构建好的客户端并使用。
2025年08月12日
101 阅读
0 评论
0 点赞
2025-08-07
Windows使用wsl开发
安装wsl1. 安装wsl --install2. 重启电脑使用可以直接在资源管理器里面输入这个链接\\wsl$\Ubuntu\home\你的用户名cmd里面使用wsl -d Ubuntu # 默认root用户 ubuntu config --default-user root
2025年08月07日
35 阅读
0 评论
0 点赞
2025-07-12
rclone 配置同步
配置 MinIO 连接示例:n) New remote name> myminio Storage> s3 provider> Other env_auth> false access_key_id> YOUR_MINIO_ACCESS_KEY secret_access_key> YOUR_MINIO_SECRET_KEY region> us-east-1 endpoint> http://your-minio-server:9000 location_constraint> acl> storage_class> 配置 AWS S3 连接示例:n) New remote name> mys3 Storage> s3 provider> AWS env_auth> false access_key_id> YOUR_AWS_ACCESS_KEY secret_access_key> YOUR_AWS_SECRET_KEY region> ap-northeast-1 endpoint> location_constraint> acl> storage_class> 基本同步命令单向同步(MinIO → S3)rclone sync myminio:bucket1 mys3:bucket2双向同步(保持两端一致)rclone bisync myminio:bucket1 mys3:bucket2高级同步选项增量同步(只传输变化的部分)rclone sync --update myminio:bucket1 mys3:bucket2
2025年07月12日
25 阅读
0 评论
0 点赞
2025-07-10
minio命令
客户端配置# 配置别名(连接远程MinIO服务器) mc alias set myminio http://localhost:9000 ACCESS_KEY SECRET_KEY # 示例: mc alias set myminio http://127.0.0.1:9000 username password # 列出所有配置的别名 mc alias list存储桶操作# 创建存储桶 mc mb myminio/mybucket # 列出所有存储桶 mc ls myminio # 删除空存储桶 mc rb myminio/mybucket # 强制删除非空存储桶 mc rb --force myminio/mybucket对象操作# 上传文件 mc cp localfile.txt myminio/mybucket/ # 下载文件 mc cp myminio/mybucket/remotefile.txt . # 列出存储桶内容 mc ls myminio/mybucket # 删除对象 mc rm myminio/mybucket/file.txt # 递归删除目录 mc rm --recursive myminio/mybucket/mydir策略管理# 设置存储桶为公开可读 mc anonymous set download myminio/mybucket # 设置存储桶为私有 mc anonymous set none myminio/mybucket # 添加用户 mc admin user add myminio newuser newpassword # 设置用户策略 mc admin policy set myminio readwrite user=newuser监控与维护# 查看服务器信息 mc admin info myminio # 查看服务健康状态 mc admin heal myminio # 查看存储桶使用情况 mc du myminio/mybucket高级功能# 设置对象保留策略 mc retention set --default GOVERNANCE 30d myminio/mybucket # 设置对象锁定(合规模式) mc retention set --default COMPLIANCE 30d myminio/mybucket # 启用版本控制 mc version enable myminio/mybucket # 列出对象版本 mc ls --versions myminio/mybucket管理用户mc admin user # 创建用户 mc admin user add <alias> <username> <password> # 示例:创建名为reports的用户 mc admin user add myminio reports user123456 # 列出所有用户 mc admin user list <alias> # 示例:列出myminio的所有用户 mc admin user list myminio # 查看用户信息 mc admin user info <alias> <username> # 示例:查看reports用户信息 mc admin user info myminio reports # 禁用用户 mc admin user disable <alias> <username> # 示例:禁用reports用户 mc admin user disable myminio reports # 启用用户 mc admin user enable <alias> <username> # 示例:重新启用reports用户 mc admin user enable myminio reports # 删除用户 mc admin user remove <alias> <username> # 示例:删除reports用户 mc admin user remove myminio reports用户策略管理# 为用户分配策略 mc admin policy attach <alias> <policy-name> --user=<username> # 示例:为reports用户分配readonly策略 mc admin policy attach myminio readonly --user=reports # 查看用户当前策略 mc admin policy info <alias> --user=<username> # 示例:查看reports用户的策略 mc admin policy info myminio --user=reports # 解除用户策略 mc admin policy detach <alias> <policy-name> --user=<username> # 示例:移除reports用户的readonly策略 mc admin policy detach myminio readonly --user=reports用户密钥管理# 修改用户密码 mc admin user update <alias> <username> <new-password> # 示例:修改reports用户密码 mc admin user update myminio reports newpassword123 # 生成临时访问密钥 mc admin user svcacct add <alias> <username> # 示例:为reports用户创建服务账户 mc admin user svcacct add myminio reports高级用户配置# 创建带策略的新用户(一步完成) mc admin user add <alias> <username> <password> --policy-name=<policy> # 示例:创建带writeonly策略的用户 mc admin user add myminio uploader upload123 --policy-name=writeonly # 设置用户描述信息 mc admin user update <alias> <username> --description="User description" # 示例:设置用户描述 mc admin user update myminio reports --description="Monthly reports generator"用户管理实际使用案例# 1. 创建管理员用户 mc admin user add myminio admin admin123 mc admin policy attach myminio consoleAdmin --user=admin # 2. 创建只读用户 mc admin user add myminio viewer view123 mc admin policy attach myminio readonly --user=viewer # 3. 创建特定存储桶权限用户 # 先创建自定义策略文件bucket-policy.json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:GetObject"], "Resource": ["arn:aws:s3:::reports-bucket/*"] } ] } # 添加策略 mc admin policy create myminio reports-reader bucket-policy.json # 创建用户并附加策略 mc admin user add myminio report-reader reader123 mc admin policy attach myminio reports-reader --user=report-reader配置同步mc mirror -w old new
2025年07月10日
54 阅读
0 评论
0 点赞
1
2
...
7