前言¶
DeepSeek Harness (DSH) 採用插件化架構,支持運行時動態加載能力。在維護代碼時,git blame 能告訴我們一行代碼是誰寫的、何時提交的,但往往無法解釋“這段代碼具體做什麼”以及“爲什麼要存在”。dsh-backstory 插件通過整合 Git 歷史記錄與智能體的會話歷史,爲任意一行代碼提供其“背景故事”(Backstory),即它做什麼以及爲什麼在這裏。
插件簡介¶
- 名稱:
dsh-backstory - 維護者: MeghanBao
- 分類: 聯網工具
- 許可: MIT
- 定位: 一個 DeepSeek Harness 插件,用於通過 Git 和會話歷史解釋代碼的意圖。
核心功能¶
該插件主要提供以下能力:
1. 代碼意圖解釋: 詢問任意代碼行的功能及存在理由。
2. 歷史追溯: 將代碼行追溯到具體的提交信息、作者和日期。
3. 智能體溯源: 對於由智能體(DSH 進程)編寫的代碼,重建其編寫時的輪次和提示詞(dsh-native origin)。
4. 持久化賬本: 將所有寫入或編輯記錄到 .dsh/backstory.l 賬本文件中。
5. 防漂移歸屬: 通過內容哈希(content hash)匹配行內容,確保代碼行移動後仍能找到歸屬。
6. Git 提交尾註: 支持通過 Git 提交尾註(commit trailers)進行溯源。
7. 敏感信息脫敏: 自動從提示詞中刪除常見的密鑰和令牌。
安裝與啓用¶
在已安裝 DeepSeek Harness 的環境中,執行以下命令安裝插件:
dsh plugin add dsh-backstory
使用方法¶
插件提供 /backstory 命令以及自然語言交互接口。
- 指定文件與行號:
/backstory src/auth.ts:40-60
/backstory utils/date.ts
- 自然語言提問:
智能體會使用內置的backstory工具來回答,例如:- “what’s the backstory of
src/auth.tsline 88?” - “explain
utils/date.tslines 10–40 and why each part is there”
- “what’s the backstory of
注意事項¶
- 脫敏機制: 敏感信息(如 API keys, tokens)的移除是盡力而爲的模式匹配,並非絕對保證,敏感數據仍建議在提交前人工檢查。
- 運行環境: 插件以當前 DSH 進程的權限運行,請確保對源碼倉庫有讀取權限。
- 非 Git 環境: 如果不在 Git 倉庫中,插件會優雅降級爲僅返回源碼行。
- 禁用功能: 如果不想記錄智能體輪次,可以通過環境變量禁用:
DSH_BACKSTORY_DISABLE=1
總結¶
dsh-backstory 通過將代碼行的功能解釋與其 Git 歷史及智能體編寫歷史相結合,解決了“代碼爲何存在”的疑問,適合在代碼審查、快速上手或維護遺留代碼時使用。