YAOTU INSIGHTS

从 GitHub 同步私有技能到 Claude Code 与 Codex:Jarvis Registry Skill 网关与 AI Skills CLI 实战

从 GitHub 同步私有技能到 Claude Code 与 Codex:Jarvis Registry Skill 网关与 AI Skills CLI 实战
从 GitHub 同步私有技能到 Claude Code 与 CodexJarvis Registry Skill 网关与 AI Skills CLI 实战【免费下载链接】jarvis-registryConnect any AI copilot or autonomous agent to your enterprise tools — through a single, secure MCP/Agent gateway with built-in identity, access control, and full observability.项目地址: https://gitcode.com/gh_mirrors/ja/jarvis-registryJarvis Registry 的 Skill 网关Skill Gateway可以把你存放在 GitHub 私有仓库中的 AI Skills 单向同步到企业私有注册表中再借助 AI Skills CLI 一键同步分发到 Claude Code、Codex 和 GitHub Copilot 环境。整个过程由 ACL 权限与 OAuth 授权保护技能内容无需发布到任何公开市场是团队统一分发私有技能的完整方案。为什么需要 Skill 网关很多团队会在 GitHub 上沉淀一批 SKILL.md 技能文件但直接把私有仓库内容复制进各个开发者的 Claude Code 或 Codex 配置目录会带来三个问题内容分散谁拿到的是哪个版本无法追溯技能更新靠口头通知权限失控私有技能可能被拷贝到不该看到的机器上凭据散落每个脚本都带着 GitHub 和注册表的 tokenSkill 网关把注册表变成技能的唯一事实来源托管在注册表 UI 或 API 中创建、编辑技能按分类、标签组织并跟踪版本治理技能默认私有按 VIEW / EDIT / DELETE / SHARE 四级 ACL 控制每个用户的访问分发CLI 只同步当前用户有权访问的技能权限变更后自动对账reconcile功能细节可参考 docs/features/skill-gateway.md 与 docs/features/ai-skills-cli.md。三步接入GitHub 同步源创建指南第一步创建 Skill 同步源在注册表中新建同步源时核心配置只有 4 项配置项说明owner/repoGitHub 仓库支持私有仓库ref分支或标签默认mainpaths要扫描的目录如[skills/]每个直接子目录含SKILL.md即被识别为一个技能GitHub App 凭据githubAppClientId与githubAppClientSecret服务端 AES-CBC 加密存储响应中永不返回同步是一次只进的单向管道解析 ref → 下载不可变的仓库快照 → 发现SKILL.md→ 逐技能解析校验 → 原子性落库。路径穿越、符号链接、超大文件和解压炸弹都会在提取阶段被拦截单个技能出错只记录错误项不会破坏整批同步。完整字段与校验规则见 docs/design/skill-sync-source-api.md。第二步授权 GitHub AppPKCE 安全流程授权分三步顺序不能乱Connect GitHub浏览器整页跳转到 GitHub 授权页采用 PKCE state 参数防 CSRF令牌加密存入服务端Test connection以dryRun: true触发只读校验确认仓库、ref 与 GitHub App 安装范围都正确——这一步不产生任何写入Sync now真正的同步任务落库为持久化 Job带租约lease机制进程崩溃后会自动接管重试一个常见坑GitHub App 必须安装在对应组织并勾选目标仓库且 Contents 权限为只读。否则授权能成功但 API 调用返回 404同步任务会报github_not_found错误。第三步跟踪同步任务每次同步都会经历queued → downloading → extracting → discovering → applying → completed阶段任务详情里可以看到discoverySummary发现了多少技能与applySummary新建 / 更新 / 删除 / 失败各多少条。上游被删除的技能会在下次同步时被自动清理保持两端一致。用 AI Skills CLI 同步到 Claude Code 与 Codex技能进入注册表后开发者在自己机器上只需固定三条命令jarvis-registry configure jarvis-registry auth login jarvis-registry skills sync --mode claude # 或 codex、copilot凭据保存在操作系统 keyring 中不写进任何脚本同步是访问感知且可重复执行的新增的技能会被投递、变更的内容会被更新、权限收回后本地托管技能会被对账清理支持同步到个人目录或指定项目目录CLI 自动处理各工具本地的目录布局isExecutable标记的文件同步后会自动chmod xCLI 拉取内容使用的是带skills-readscope 的同步接口docs/design/skills-sync-api.md每个技能在本地重建为一个标准目录skills-root/mongoose-to-beanie/ ├── SKILL.md └── references/ └── guide.mdSKILL.md由 frontmattername、description、allowed-tools 等加上正文重建而成与手工编写的技能文件完全兼容。权限与安全私有技能治理要点技能级 ACL创建者自动获得 OWNER 权限其他用户只获得被显式授予的权限列表和内容接口都会先按 ACL 过滤无权技能根本不会出现在结果里文件限制单文件 5 MiB、单技能 200 个文件、总载荷 10 MiB保证内容与同步行为可预期令牌隔离GitHub 访问/刷新令牌按用户 同步源分别加密存储更换 App 凭据会自动删除旧令牌强制重新授权双向保护注册表不向 GitHub 回写任何变更GitHub 凭据也只保存在服务端常见问题 FAQQ同步是双向的吗不是。GitHub 是唯一的技能来源方向repository → Registry注册表不会向 GitHub 推送变更。Q一个组织里不同用户看到的技能会不同吗会。CLI 同步是访问感知的每个用户只拿到自己有权查看的技能这正是私有分发与公开市场的关键区别。Q同步失败如何定位查看任务的skillErrors字段含技能路径、阶段与错误码例如skill_name_mismatch表示 frontmatter 的name与文件夹名不一致file_too_large表示超过 5 MiB 限制。QGitHub 仓库后来新增了仓库给 App 授权需要重新连接吗不需要后续添加的仓库直接生效但若修改了 App 权限需要组织管理员接受权限更新。延伸阅读Skill 网关功能说明docs/features/skill-gateway.mdAI Skills CLI 使用指南docs/features/ai-skills-cli.md同步源 API 设计含 PKCE 时序与状态机docs/design/skill-sync-source-api.md技能同步下发 APIdocs/design/skills-sync-api.md前端 GitHub 授权面板实现frontend/src/pages/FederationRegistryOrEdit/GithubAuthorizationPanel.tsx前端技能管理页面frontend/src/pages/Skills/index.tsx【免费下载链接】jarvis-registryConnect any AI copilot or autonomous agent to your enterprise tools — through a single, secure MCP/Agent gateway with built-in identity, access control, and full observability.项目地址: https://gitcode.com/gh_mirrors/ja/jarvis-registry创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考