Skip to main content
agentscope-extensions-skill-git-repository 把一个远程 Git 仓库当作技能仓库:每次读取时做轻量的 remote ref 检查,只在远端 HEAD 变化时才真正 pull,平时几乎零开销。

何时使用

  • 想用 Git 来管控技能内容的版本与审阅。
  • 想跨多个项目共享同一份技能集。
  • 不希望在生产服务里嵌入数据库或配置中心。

添加依赖

底层使用 JGit,HTTPS / SSH 都支持。

快速上手

选定分支 / 自定义本地路径

私有仓库的鉴权

GitSkillRepository 复用系统级 Git 配置,不在 Java 侧管理凭证:
  • HTTPS:使用 ~/.gitconfig 里的 credential helper(osxkeychain、libsecret 等)。
  • SSH:使用 ~/.ssh/ 下的密钥与 ssh-agent。
CI 环境下请确保 runner 用户具备相应凭证或挂载好 SSH agent。

自动同步与手动同步

  • autoSync=true(默认):getSkill / getAllSkills / skillExists 等读操作前会先 ls-remote,如远端有更新才执行 pull。
  • autoSync=false:完全不自动 pull,要刷新时调用 repo.sync()

工程实践建议

  • 建议在 Spring Bean 上以单例形式持有仓库,重启时统一 close()
  • 临时目录会注册 JVM Shutdown Hook 自动删除;如果你强制 kill 进程,可能残留,需要外部清理。
  • 多实例部署时各自维护一份本地 clone,没有锁竞争。