前言¶
在 DeepSeek Harness(DSH)裏改界面或交互時,常見做法是開兩次會話、讓模型各寫一版,再憑 diff 或主觀印象拍板。界面類任務往往「測不出好不好」,只能人點一遍;兩版若不從同一基線出發,還容易出現依賴、端口和驗收標準不一致,比較失真。
AgentCompare 是社區維護的 DSH 工作流插件:同一條需求生成兩份實現,各自構建並在對話裏並排預覽,盲選後再揭曉模型或策略,通過驗收的版本才允許「審查並採用」寫回當前倉庫。下面介紹它的定位、能力與在 Web profile 下的安裝用法。
這是什麼¶
AgentCompare(npm 包名 dsh-agent-compare,維護者 lijiaqi-AI-Product-Manager)面向 DSH 宿主:在同一前端需求下並行跑兩個候選,複用 DSH 當前已配置的模型(雙模型模式則從已配置模型裏各選一個)。插件簡介可概括爲:同一需求,兩版真跑,盲選再揭曉;英文說明爲 Two live builds for one task in DeepSeek Harness。
當前版本爲 0.2.0-alpha.18 預覽版。README 寫明首期支持本地 Git 倉庫根目錄的 Vite 前端,並複用 DSH 當前模型。許可證爲 MIT;在 DSH 0.2.1-rc.5 上做過測試(見倉庫徽章與 docs/demo.md)。社區目錄頁:https://www.skillhub.cn/plugins/lijiaqi-AI-Product-Manager/dsh-agent-compare;源碼:https://github.com/lijiaqi-AI-Product-Manager/dsh-agent-compare。
DSH 生態強調「一切皆插件」;SkillHub 等目錄爲獨立社區站點,與 DeepSeek / 幻方無官方從屬關係。
核心功能¶
兩種比較方式¶
| 方式 | 兩邊相同 | 兩邊不同 |
|---|---|---|
| 同一模型 · 兩種策略(默認) | 模型、需求、驗收 | 「穩妥」沿用現有寫法 vs「大膽」重做交互 |
| 兩個模型 · 同一要求 | 需求、驗收、給 Agent 的說明 | 模型(從 DSH 已配置模型中選兩個) |
插件替你收斂的步驟¶
README 歸納了手工雙會話時最難對齊的部分,插件將其合成一條工作流:
- 兩份代碼從同一基線出發(含未提交改動),不改動你當前的 index 與工作區文件;
- 每個候選在獨立副本上申請宿主寫入約束,並披露宿主實際提供的約束範圍;
- 兩邊分別裝依賴、構建、各佔端口,同時跑預覽;
- 用事先固定並綁定內容的同一套驗收比較;候選若改驗收腳本或測試則不算通過;
- 選定後寫回前核對當前項目與候選改動能一起工作,確認後才寫入。
從發需求到採用的流程概要¶
- 基線:用私有臨時 index 對工作區快照(含未提交與未跟蹤、不含被忽略文件),不改你的 index 和文件。
- 驗收綁定:從基線確定
typecheck/lint/test/build與頁面驗收;記錄腳本與相關配置、測試文件、倉庫根目錄.agent-compare.json等內容哈希。.agent-compare.json可配置逐步交互驗收。 - 隔離副本:爲每個候選建不帶分支的
git worktree,位於~/.dsh/agent-compare/w/<run>/<A|B>。 - 候選會話:每側爲獨立 DSH 會話,目錄即副本;生成上限可在界面選 5 / 15 / 30 / 60 / 120 分鐘(默認 30)。
- 封存與驗證:凍結改動爲提交與補丁 → 凍結安裝(有鎖文件時)→ 跑驗收 →
vite preview跑構建產物 → 無頭瀏覽器做頁面驗收(含桌面/手機截圖等)。 - 盲選與揭曉:面板 iframe 只標 A/B;選擇後揭曉策略、實際模型與 token 用量。
- 審查並採用:僅對通過驗收的版本開放;衝突檢測、預演、寫入前再覈驗;失敗可恢復或撤銷(受 README 所述條件約束)。未通過者僅可「另存爲分支」供查看。
界面和交互類任務(搜索篩選、表單、落地頁、儀表盤佈局、組件重設計等)適合用本插件;答案唯一的修 bug 或重構,文檔建議單 Agent 加測試更合適。
安裝與啓用¶
插件以當前 DSH 進程權限運行,安裝前應自行查看源碼與 MIT 許可證。Node.js 要求:^22.22.2 || ^24.15.0 || >=26.0.0;package.json 中 DSH 引擎範圍爲 >=0.2.1-rc.3 <0.3.0。
以下命令面向自行運行的 DSH Web profile。桌面版的 desktop profile 由應用管理,請使用應用內插件頁面。
安裝 npm 預覽版到默認 Web profile:
dsh plugin --profile web add dsh-agent-compare@0.2.0-alpha.18
若使用其他自行運行的 profile,將 web 換成實際名稱。安裝後需重啓 DSH。更完整的收錄與安裝說明見倉庫 docs/distribution.md。
典型用法¶
重啓 DSH 後,在主對話輸入框左下角點 A|B:
- 輸入框上方展開設置條,選擇「同一模型 · 兩種策略」或「兩個模型 · 同一要求」;默認複用當前模型。雙模型模式提供兩個已配置模型的下拉框。
- 選擇每版生成上限(5–120 分鐘)。設置保存在當前對話。
- 在原輸入框寫需求併發送。模式切換保留草稿、引用與附件;暫不支持的附件會由宿主拒絕並保留原稿。
- 同一條對話裏出現 A|B 卡片,兩個小窗口爲兩版真實運行的應用。可切換統一桌面/手機視口或專注 A/B;「大窗口查看」用於放大檢查。
- 選擇後揭曉模型和策略,展開代碼改動,再點「審查並採用」。先顯示目標倉庫與覈驗結果,確認後才寫入。採用後點「繼續主對話」退出比較模式,記錄仍保留。
設置條中的「試跑內置示例」會新建獨立示例倉庫並在本對話啓動,不修改已有草稿;示例結果只採用到示例倉庫。
右上角 比較記錄 與 使用教程 在新建和已有對話中均可打開。完整操作可參考倉庫內 GIF/視頻(docs/media/comparison-workflow.mp4,約 28 秒)與 docs/demo.md。
適用場景與注意¶
適合:需要人眼體驗才能判斷好壞的前端/Vite 根目錄項目;希望在同一驗收與同一基線下公平比較「穩妥 vs 大膽」或「模型 A vs 模型 B」。
範圍與限制(以 README 爲準):
- 預覽版能力邊界:首期側重本地 Git 倉庫根目錄 Vite 前端。
- 隔離與安全:候選寫文件依賴 DSH 沙箱;README 說明 Windows 沙箱爲 partial、網絡與進程可見性不隔離等邊界,詳見「隔離與安全:保證什麼、不保證什麼」一節。
- 無鎖文件時只能非凍結安裝,界面會提示;構建未通過時可能僅提供標爲「僅供觀察」的開發模式預覽。
運行記錄、重啓與恢復見 docs/runs-and-recovery.md;自定義驗收見倉庫根目錄 .agent-compare.json 說明。
結尾¶
AgentCompare 把「雙實現、雙預覽、統一驗收、盲選、審查寫回」收進 DSH 對話,減少手工開兩路會話時的基線與驗收漂移。若要安裝或跟蹤更新,可訪問 SkillHub 插件目錄 與 GitHub 倉庫。