☰
从Claude Code/Codex迁移到Gajae-Code:/extensions一键导入Skills、Hooks与MCP完全教程
2026/10/2 17:14:56 网站建设 项目流程

从Claude Code/Codex迁移到Gajae-Code:/extensions一键导入Skills、Hooks与MCP完全教程

【免费下载链接】gajae-codeGajae Code MVP项目地址: https://gitcode.com/gh_mirrors/ga/gajae-code

Gajae-Code 是一款面向开发者的 AI 编程智能体(coding agent),支持 Claude、Codex 等多模型接入。如果你已经在 Claude Code 或 Codex 中积累了自己的 Skills、Hooks 和 MCP 配置,Gajae-Code 提供了/extensions命令,可以一键预览、确认并导入这些定制内容到本地或全局作用域,迁移过程安全可回滚、全程可视化。

为什么需要迁移?

Claude Code 和 Codex 都是优秀的编程助手,但不同工具生态之间,你的"个人经验资产"——自定义技能(Skills)、生命周期钩子(Hooks)、外部工具服务器(MCP)——往往被锁死在各自的配置目录里。

Gajae-Code 的迁移设计目标很明确:不让你重写任何配置,而是读懂旧格式、转换到原生格式。🎯

先认识 /extensions:统一的定制管理面板

在 Gajae-Code 的交互式会话中,输入/extensions即可打开定制化管理面板。它是 Skills、Hooks、MCP 三大扩展的"统一入口":

  • 作用域管理:同时覆盖项目级(<project>/.gjc/)和用户全局(~/.gjc/agent/)两个作用域
  • 状态诊断:显示每个扩展的启用/禁用状态、来源(provenance)等信息
  • 安全操作:支持启用、禁用、删除,且所有写入采用"原子写 + 失败回滚"策略

导入功能的实现位于 customization/import.ts,清单聚合逻辑位于 customization/inventory.ts。

一键导入:Skills、Hooks、MCP 各支持什么

/extensions内置了Import from Claude Code / Codex引导流程。启动后会按三类内容分别扫描:

📚 Skills(技能)

来源扫描目录
Claude Code.claude/skills
Codex.codex/skills

扫描覆盖项目级和全局两个作用域。导入时 SKILL.md 的 frontmatter 会被规范化,保证加载名称与目录 slug 一致。

🪝 Hooks(钩子)

来源目录约定
Claude Code.claude/hooks/<pre\|post>/
Codex扁平结构.codex/hooks/<phase>-<tool>.ts\|js

两侧的钩子会被统一归一化为 Gajae-Code 规范的<root>/hooks/<pre|post>/布局(归一化逻辑见 hooks/normalize.ts),并按"项目优先、同名先到先得"去重。

🔌 MCP 服务器

  • Claude Code 的mcp.json和 Codex 的 TOML 配置,都会经过兼容性适配器(discovery/mcp-compat.ts)转换并校验,再原子合并进 Gajae-Code 的 MCP 配置。
  • 面板展示时对密钥、token 类字段自动打码,不会泄露凭据。

导入流程四步走:预览 → 决策 → 确认 → 原子写入

/extensions的导入不是"一把梭",而是事务式的安全流程:

  1. 归一化预览:先列出所有候选项(会导入什么、写入哪里),预览内容经过脱敏,不含密钥
  2. 冲突策略:遇到同名冲突时,可逐条选择跳过(skip)/ 重命名(rename)/ 覆盖(overwrite);内置工作流技能名称受保护,不会被误覆盖
  3. 显式确认:预览完必须手动确认才执行
  4. 原子写入 + 回滚:每个目标路径先做包含性与符号链接检查,写入采用"同目录临时文件 + rename"方式;任何一步失败(包括校验失败)都会精确回滚本次事务写过的文件,不会触碰任何已有文件

导入成功后,Skills 的 frontmatter 会写入x-gjc-imported-from键,记录来源,方便日后追溯。

非交互场景:gjc migrate 命令行

如果你更喜欢脚本化或 CI 环境,可以用 CLI:

# 干跑,只看报告不写入 gjc migrate --from all --dry-run # 从指定来源导入 gjc migrate --from claude-code --from codex # 机器可读报告 gjc migrate --from all --json

支持的来源为claude-code、codex、opencode,--from all会按固定顺序展开。每种导入结果都有清晰的状态语义:imported(新导入)、updated(更新)、skipped_exists(已存在跳过)、failed_io(IO 失败)等,失败状态会以非零退出码结束,方便自动化判断。类型与状态定义见 migrate/types.ts,Claude Code 适配器见 migrate/adapters/claude-code.ts。

MCP 服务器也可以直接用gjc mcp命令单独管理。

导入之后的日常管理

迁移完成后,日常维护全部回到/extensions面板:

  • 查看项目/全局两个作用域下的全部 Skills、Hooks、MCP 清单
  • 一键启用/禁用某个扩展(对应skill:<name>、mcp:<name>标记)
  • 被遮蔽(shadowed)的重复钩子、格式错误的配置文件都会以invalid行明确标出

更多扩展体系细节可参考官方文档:docs/customization.md、docs/standalone-mcp.md,以及扩展开发示例目录 examples/extensions/。

迁移小贴士

  • 🔍先 dry-run 再真跑:无论面板还是 CLI,都先看预览报告,确认目的地作用域(项目 vs 全局)是否符合预期
  • 🗂同名冲突优先重命名:除非你确定旧版本已废弃,否则重命名比覆盖更安全
  • 🧹清理旧配置:导入并验证无误后,可以移除旧的.claude/、.codex/目录,避免双份维护
  • 🔐检查密钥:MCP 导入的是连接方式,API Key 等敏感值请按需重新配置

Gajae-Code 的完整 README 中还介绍了/extensions与 SDK 扩展能力,详见 README.md。现在就可以在你的项目里输入/extensions,把 Claude Code / Codex 的心血一次性带过来吧。🚀

【免费下载链接】gajae-codeGajae Code MVP项目地址: https://gitcode.com/gh_mirrors/ga/gajae-code

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询