@hzpeng/aisync
v0.3.1
Published
Collect and sync AI tool skills across Claude Code, Cursor, Codex, OpenCode, Pi, Agents, Gemini, and CC Switch
Maintainers
Readme
aisync
在 Claude Code、Codex、Cursor、OpenCode、Pi、Agents、Gemini 和 CC Switch 之间同步 AI 编码工具 Skills。
aisync 扫描各工具实际使用的 skills 目录,把新 skill 收集到可配置的中心库,再为工具补回软链接。无论用什么工具安装,最后运行一次同步即可。
安装
npm install -g @hzpeng/aisync快速开始
# 用任意工具或 npx skills add -g 安装后执行:
aisync skills sync
# 查看中心库和所有已安装工具
aisync scan -d
# 直接添加或删除 skill
aisync skills add ./my-skill
aisync skills remove my-skill
# 打开本机可视化控制台
aisync ui
# GitHub 分发是独立流程
aisync skills github connect --repo you/ai-skills
aisync skills github sync命令
aisync skills sync
扫描已安装工具目录中顶层且包含 SKILL.md(大小写不敏感)的目录。新 skill 会解引用复制到中心库,已经指向中心库的软链接会跳过。中心库中旧配置留下的外链会在导出前安全物化;断链或软链环只报告并保持原状。同名但内容不同只报告冲突,不覆盖任何一边。
aisync skills sync
aisync skills sync --dry-run
aisync skills sync --from claude_code,codex
aisync skills sync --to claude_code,codex,cursor默认导出目标是 Claude Code、Codex、Cursor 和 OpenCode。使用旧 aisync store 时还会导出到 Agents 和 Pi;使用默认 agents store 时 Pi 已经原生读取中心库,不会再写一份。Gemini 和 CC Switch 只扫描,不作为导出目标。
aisync scan
显示当前中心库、每个工具是否安装及 skill 数量。-d 展开矩阵,标记 store、symlink→store、real、symlink→other、broken 或 missing。
aisync scan
aisync scan -daisync skills import --from <tool>
交互式导入指定工具的 skills。已经指向中心库的链接标记为 (already managed),不会重复复制;导入始终解引用,保证中心库保存实文件。
aisync skills export --to <tool>
交互式把中心库 skill 链接到工具目录。store=agents 时导出到 Agents 或 Pi 会跳过,Gemini 和 CC Switch 永远不是导出目标。
aisync skills add <path> / aisync skills remove <name>
向当前中心库添加本地 skill,或删除 skill 及其受 aisync 管理的链接。aisync skills list(以及顶层 aisync list)可列出中心库内容。
aisync ui
打开只监听 127.0.0.1 的本机 Vue 控制台。它会展示每个 skill 的中心库路径、digest、真实来源、受管软链、外链、冲突和断链。选择一个 skill 后,可以在 Cytoscape 关系图中查看完整链路,并在预览和确认后执行单个导入、链接、修复或移除操作。UI 不接受任意文件系统路径,也不替代批量 aisync skills sync 或独立的 GitHub 流程。
aisync ui
aisync ui --no-open
aisync ui --port 4317中心库配置
默认中心库是 ~/.agents/skills,Pi 会直接读取。配置文件为 ~/.aisync/config.json:
{
"store": "agents"
}设置为 "aisync" 可切回旧的 ~/.aisync/skills。AISYNC_STORE=agents|aisync 优先级最高,其次是配置文件,最后是默认值。如果旧库有数据而 agents 库为空,list、scan、sync 会提示没有自动搬迁;如果两边都有数据,也会警告且不会自动合并。
GitHub 分发
GitHub 命令保持独立流程,配置仍保存在 ~/.aisync/github.json,不受中心库路径影响。
aisync skills github connect --repo you/ai-skills
aisync skills github sync
aisync skills github sync --prune
aisync skills github statusGitHub sync 会发布本地独有 skill、安装远端独有 skill,并报告冲突而不覆盖任一侧。aisync skills sync 不会自动执行 GitHub sync。
aisync clean
二次确认后删除当前中心库。--skills 仅为兼容旧命令保留,没有独立作用。确认文案会显示绝对路径。如果中心库是 ~/.agents/skills,默认拒绝删除,因为 Pi、Cursor 等工具也在用这个目录;必须再加 --force:
aisync clean --skills
aisync clean --skills --force支持的工具
| Key | 工具 | Skills 目录 | 角色 |
| --- | --- | --- | --- |
| claude_code | Claude Code | ~/.claude/skills/ | 扫描/导出 |
| codex | Codex | ~/.codex/skills/ | 扫描/导出 |
| cursor | Cursor | ~/.cursor/skills/ | 扫描/导出 |
| opencode | OpenCode | ~/.config/opencode/skills/ | 扫描/导出 |
| pi | Pi | ~/.pi/agent/skills/ | 仅 store=aisync 导出 |
| agents | Agents | ~/.agents/skills/ | store=agents 时为中心库 |
| gemini | Gemini | ~/.gemini/skills/ | 扫描源 |
| cc_switch | CC Switch | ~/.cc-switch/skills/ | 仅扫描源 |
只扫描用户级目录,默认不扫描项目级 .agents/skills 和 .claude/skills。
MCP
aisync 尚未实现 MCP 同步。
许可
MIT
