關與 AI Skills CLI 實戰(zhàn))
從 GitHub 同步私有技能到 Claude Code 與 CodexJarvis Registry Skill 網(wǎng)關與 AI Skills CLI 實戰(zhàn)【免費下載鏈接】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 網(wǎng)關Skill Gateway可以把你存放在 GitHub 私有倉庫中的 AI Skills 單向同步到企業(yè)私有注冊表中再借助 AI Skills CLI 一鍵同步分發(fā)到 Claude Code、Codex 和 GitHub Copilot 環(huán)境。整個過程由 ACL 權限與 OAuth 授權保護技能內(nèi)容無需發(fā)布到任何公開市場是團隊統(tǒng)一分發(fā)私有技能的完整方案。為什么需要 Skill 網(wǎng)關很多團隊會在 GitHub 上沉淀一批 SKILL.md 技能文件但直接把私有倉庫內(nèi)容復制進各個開發(fā)者的 Claude Code 或 Codex 配置目錄會帶來三個問題內(nèi)容分散誰拿到的是哪個版本無法追溯技能更新靠口頭通知權限失控私有技能可能被拷貝到不該看到的機器上憑據(jù)散落每個腳本都帶著 GitHub 和注冊表的 tokenSkill 網(wǎng)關把注冊表變成技能的唯一事實來源托管在注冊表 UI 或 API 中創(chuàng)建、編輯技能按分類、標簽組織并跟蹤版本治理技能默認私有按 VIEW / EDIT / DELETE / SHARE 四級 ACL 控制每個用戶的訪問分發(fā)CLI 只同步當前用戶有權訪問的技能權限變更后自動對賬reconcile功能細節(jié)可參考 docs/features/skill-gateway.md 與 docs/features/ai-skills-cli.md。三步接入GitHub 同步源創(chuàng)建指南第一步創(chuàng)建 Skill 同步源在注冊表中新建同步源時核心配置只有 4 項配置項說明owner/repoGitHub 倉庫支持私有倉庫ref分支或標簽默認mainpaths要掃描的目錄如[skills/]每個直接子目錄含SKILL.md即被識別為一個技能GitHub App 憑據(jù)githubAppClientId與githubAppClientSecret服務端 AES-CBC 加密存儲響應中永不返回同步是一次只進的單向管道解析 ref → 下載不可變的倉庫快照 → 發(fā)現(xiàn)SKILL.md→ 逐技能解析校驗 → 原子性落庫。路徑穿越、符號鏈接、超大文件和解壓炸彈都會在提取階段被攔截單個技能出錯只記錄錯誤項不會破壞整批同步。完整字段與校驗規(guī)則見 docs/design/skill-sync-source-api.md。第二步授權 GitHub AppPKCE 安全流程授權分三步順序不能亂Connect GitHub瀏覽器整頁跳轉(zhuǎn)到 GitHub 授權頁采用 PKCE state 參數(shù)防 CSRF令牌加密存入服務端Test connection以dryRun: true觸發(fā)只讀校驗確認倉庫、ref 與 GitHub App 安裝范圍都正確——這一步不產(chǎn)生任何寫入Sync now真正的同步任務落庫為持久化 Job帶租約lease機制進程崩潰后會自動接管重試一個常見坑GitHub App 必須安裝在對應組織并勾選目標倉庫且 Contents 權限為只讀。否則授權能成功但 API 調(diào)用返回 404同步任務會報github_not_found錯誤。第三步跟蹤同步任務每次同步都會經(jīng)歷queued → downloading → extracting → discovering → applying → completed階段任務詳情里可以看到discoverySummary發(fā)現(xiàn)了多少技能與applySummary新建 / 更新 / 刪除 / 失敗各多少條。上游被刪除的技能會在下次同步時被自動清理保持兩端一致。用 AI Skills CLI 同步到 Claude Code 與 Codex技能進入注冊表后開發(fā)者在自己機器上只需固定三條命令jarvis-registry configure jarvis-registry auth login jarvis-registry skills sync --mode claude # 或 codex、copilot憑據(jù)保存在操作系統(tǒng) keyring 中不寫進任何腳本同步是訪問感知且可重復執(zhí)行的新增的技能會被投遞、變更的內(nèi)容會被更新、權限收回后本地托管技能會被對賬清理支持同步到個人目錄或指定項目目錄CLI 自動處理各工具本地的目錄布局isExecutable標記的文件同步后會自動chmod xCLI 拉取內(nèi)容使用的是帶skills-readscope 的同步接口docs/design/skills-sync-api.md每個技能在本地重建為一個標準目錄skills-root/mongoose-to-beanie/ ├── SKILL.md └── references/ └── guide.mdSKILL.md由 frontmattername、description、allowed-tools 等加上正文重建而成與手工編寫的技能文件完全兼容。權限與安全私有技能治理要點技能級 ACL創(chuàng)建者自動獲得 OWNER 權限其他用戶只獲得被顯式授予的權限列表和內(nèi)容接口都會先按 ACL 過濾無權技能根本不會出現(xiàn)在結(jié)果里文件限制單文件 5 MiB、單技能 200 個文件、總載荷 10 MiB保證內(nèi)容與同步行為可預期令牌隔離GitHub 訪問/刷新令牌按用戶 同步源分別加密存儲更換 App 憑據(jù)會自動刪除舊令牌強制重新授權雙向保護注冊表不向 GitHub 回寫任何變更GitHub 憑據(jù)也只保存在服務端常見問題 FAQQ同步是雙向的嗎不是。GitHub 是唯一的技能來源方向repository → Registry注冊表不會向 GitHub 推送變更。Q一個組織里不同用戶看到的技能會不同嗎會。CLI 同步是訪問感知的每個用戶只拿到自己有權查看的技能這正是私有分發(fā)與公開市場的關鍵區(qū)別。Q同步失敗如何定位查看任務的skillErrors字段含技能路徑、階段與錯誤碼例如skill_name_mismatch表示 frontmatter 的name與文件夾名不一致file_too_large表示超過 5 MiB 限制。QGitHub 倉庫后來新增了倉庫給 App 授權需要重新連接嗎不需要后續(xù)添加的倉庫直接生效但若修改了 App 權限需要組織管理員接受權限更新。延伸閱讀Skill 網(wǎng)關功能說明docs/features/skill-gateway.mdAI Skills CLI 使用指南docs/features/ai-skills-cli.md同步源 API 設計含 PKCE 時序與狀態(tài)機docs/design/skill-sync-source-api.md技能同步下發(fā) APIdocs/design/skills-sync-api.md前端 GitHub 授權面板實現(xiàn)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創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考