repo-autopilot-plugin:把 repo-autopilot 只讀檢查註冊成 DSH 工具

前言

在 DeepSeek Harness(DSH)裏做倉庫維護或驗收,模型往往需要知道「環境是否就緒」「演練臺賬是否合格」「兩份副本能否合併」——這些檢查若靠人工翻腳本、對文檔,容易打斷對話節奏。直接在會話裏跑 repo-autopilot 的寫流程(開 PR、打標等)又會牽涉憑證與人類閘門,不適合當成通用工具暴露給模型。

repo-autopilot-plugin(維護者 AristotleAsborg,分類:工作流)做的是另一件事:把 repo-autopilot 本體打包進插件,並把其中只讀入口註冊成 Harness 可調用的一個工具。四種模式(doctor / drill / acceptance / compare)不讀 GitHub 憑證、不寫倉庫,適合在智能體工作流裏做自檢與比對。

這是什麼

插件全名對應 GitHub 倉庫 AristotleAsborg/repo-autopilot-plugin。它不是 repo-autopilot 業務邏輯的分叉,而是適配層:定位倉庫根、拼命令行、經 shell 起子進程,再把退出碼和 stdout/stderr 翻譯成人話返回給模型。

倉庫內自帶一份已打好的 repo-autopilot(vendor/repo-autopilot/,含 MANIFEST.json 逐文件 sha256),裝完不需要再單獨準備 repo-autopilot 檢出;也可用工具參數 repo_root 指向你自己的路徑。

目錄頁:SkillHub 插件頁
源碼:GitHub

核心功能:工具 repo_autopilot_check

模型通過 1 個工具 repo_autopilot_check 調用,可選參數 mode 與 repo_root:

模式 檢查內容
doctor 七項環境自檢(state 完整性、閘門懸掛審批、本地小模型、GitHub 連通性等)
drill 7 天實戰演練臺賬是否合格
acceptance 驗收步驟表能否加載
compare 源倉庫與副本的逐文件內容哈希比對(合併兩份副本之前使用)

對外行爲可以概括爲:執行一條只讀命令 → 按內置語義解釋退出碼(例如 drill 退出碼 1 表示「未滿 7 天」,而非失敗)→ 返回結論與原始輸出尾部。插件範圍內不存在讀取憑證或對外寫入的路徑;repo-autopilot 的寫能力仍在其自身閘門流程中,不在本插件內。

環境要求

項目 要求
Python 3.12 或更高
Python 模塊 yaml、requests、numpy
repo-autopilot 隨插件自帶;或自備路徑並通過 repo_root 指定
shell 服務 PowerShell 系(Windows 上爲 pwsh),用於拼接並執行命令
Node ≥ 20(見 package.json 的 engines)
git 可選;只讀四種模式不依賴 git

repo-autopilot 倉庫本身沒有 requirements.txt,依賴須裝在實際用來跑檢查的那個解釋器裏。

安裝與啓用

兩種裝法共用同一份實現(lib/index.js 由 host.js 生成)。注意:向 profile 安裝會寫 %DSH_HOME%\profiles\...,在 DSH 會話沙箱內可能 EPERM,宜在資源管理器雙擊安裝腳本或在普通終端執行。

一鍵安裝(profile 層,推薦「裝完重啓即生效」)

雙擊 install.cmd,腳本會:

  1. 查找 Python(-Python → 環境變量 REPO_AUTOPILOT_PYTHON → python3 → python → py -3.12),檢查版本與依賴,並對自帶 vendor/repo-autopilot/ 做逐文件 sha256 校驗;
  2. 生成 host.local.js(寫入自帶副本路徑 DEFAULT_REPO_ROOT);
  3. 執行 profile 層安裝:
dsh plugin --profile <名字> add <本插件目錄>

可用環境變量:DSH_PROFILE(默認 standard)、DSH_BIN(dsh 可執行文件路徑)。

卸載:

dsh plugin --profile <名字> remove repo-autopilot-plugin

會話內安裝(dynamic Package)

生成 host 配置:

python scripts/install.py --emit-host

將輸出的 host.local.js 全部內容交給 cordis_define 註冊 Cordis Package(詳見倉庫 README「註冊成 Cordis Package」一節)。

安裝前自檢(路線 A,推薦)

在插件目錄用 Python 3.12+ 運行:

python scripts/install.py --repo-root <repo-autopilot 的絕對路徑>

省略 --repo-root 時,腳本會從當前目錄向上自動查找 repo-autopilot 根。退出碼 0 表示可以註冊,1 表示有缺件。成功後建議固定解釋器:

$env:REPO_AUTOPILOT_PYTHON = 'D:\PythonEnv\venv\Scripts\python.exe'

(路徑換成你本機實際解釋器。)

裝後隨時可跑冒煙檢查:

python scripts/smoke.py
python scripts/smoke.py --repo-root <你自己的 repo-autopilot 路徑>

典型用法

在 Harness 會話中,由模型調用工具即可,例如:

  • 部署或改配置後:repo_autopilot_check(mode="doctor"),確認環境與 state 是否完整;
  • 跟進 7 天演練:repo_autopilot_check(mode="drill"),對照臺賬是否達標(注意退出碼語義);
  • 發佈前:repo_autopilot_check(mode="acceptance"),確認驗收表可加載;
  • 合併兩份倉庫副本前:repo_autopilot_check(mode="compare", repo_root="..."),做逐文件哈希比對。

若你維護的是獨立檢出的 repo-autopilot,傳入 repo_root 指向該絕對路徑;否則默認使用安裝時寫入的自帶副本路徑。

適用場景與注意

適合誰

  • 已在用或計劃用 repo-autopilot 做倉庫維護、驗收與演練,希望在 DSH 對話裏讓模型只讀拉自檢結果;
  • 需要在合併副本、上線前用同一套 doctor/drill/acceptance/compare 邏輯,且不想在插件層暴露寫 token 或開 PR 能力。

邊界

  • 本插件僅覆蓋四種只讀模式;/細化idea、/修復、/建新項目 等寫路徑仍走 repo-autopilot 本體與人類閘門,不通過此工具觸發。
  • 插件以當前 dsh 進程權限在主機上起子進程;安裝前應閱讀源碼與 MIT 許可證,確認路徑與 shell 行爲符合你的安全策略。
  • SkillHub 等爲社區目錄,與 DeepSeek / 幻方無官方從屬關係;插件星標與版本以 GitHub 倉庫爲準(當前 package 版本 1.0.0)。

結尾

repo-autopilot-plugin 把 repo-autopilot 的只讀檢查收成 Harness 上的一個工具:自帶可校驗的 vendor 副本、零憑證、語義化的退出碼,便於在工作流裏做環境體檢、演練臺賬、驗收表與副本比對。需要寫操作或完整八條對話指令時,應繼續使用 repo-autopilot 本體。

  • 目錄頁:https://www.skillhub.cn/plugins/AristotleAsborg/repo-autopilot-plugin
  • GitHub:https://github.com/AristotleAsborg/repo-autopilot-plugin
  • repo-autopilot 本體:https://github.com/AristotleAsborg/repo-autopilot
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜