前言¶
在 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,腳本會:
- 查找 Python(
-Python→ 環境變量REPO_AUTOPILOT_PYTHON→python3→python→py -3.12),檢查版本與依賴,並對自帶vendor/repo-autopilot/做逐文件 sha256 校驗; - 生成
host.local.js(寫入自帶副本路徑DEFAULT_REPO_ROOT); - 執行 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