前言¶
在 DeepSeek Harness(DSH)裏跑智能體循環時,你往往只能事後從會話日誌裏反推「當時 loop 在幹什麼」。若想在 loop 的特定節點上,用另一路模型(System One)做說明或評估,並把每一次調用、跳過和回答留成可檢索的證據,就需要在 harness 裏掛一個只做觀測、不做裁決的插件。下面介紹社區插件 dsh-system1-observer(維護者 johnlam1968):它在 loop 的「接縫(seam)」上詢問 System One 模型,把結果寫入 JSONL trace,本身不改變 loop 的決策。
這是什麼¶
dsh-system1-observer 是面向 DSH 的 seam observer。README 用三句話概括其邊界:
- 在你選定的 loop 節點上調用 System One 模型,詢問 agent loop 在做什麼;
- 每一次調用、跳過與回答寫入 JSONL trace;
- It decides nothing——各 listener 按引用返回 loop 自身決策;trace 每行帶
enforcement: "declarative", verified: false。產物是對決策模型在各節點回復的證據,而不是對被觀測會話的「判決」。
當前 package 版本爲 0.2.1,許可證 MIT。插件在 DSH 生態裏以「一切皆插件」的方式安裝;社區目錄頁見 skillhub.cn 條目,源碼與文檔在 GitHub。
核心功能¶
運行時 trace¶
- 路徑:
~/.dsh/logs/system1-observer.jsonl,每行對應一次調用、一次跳過或一次啓動。 - 可通過工具
system1_trace、Plugins 頁的 trace 卡片,或倉庫內scripts/trace.mjs閱讀。
九個 DSH 工具¶
README 列出的工具共九個:
| 工具 | 作用(據 README 簡述) |
|---|---|
system1_explain |
說明能做什麼、當前配置、一次讀數覆蓋什麼 |
system1_settings |
設置相關 |
system1_decide |
決策相關接口(插件本身不替 loop 做決定) |
system1_evaluate_session |
讀會話、分段、逐段提問、聚合並寫報告包 |
system1_measurements |
附加人工解讀等測量記錄 |
system1_session_subject |
會話主題相關 |
system1_question_sets |
問題集 |
system1_battery |
電池/批量提問相關 |
system1_trace |
讀 trace |
查找會話依賴 dsh-session-index 的 session_index_list / session_index_search / refresh(README 寫明爲毫秒級檢索,不屬於本插件自帶的九個工具)。
配置與 UI¶
- Plugins 頁有 settings card:可熱寫(hot-load)的運行時設置,以及「…」→ Observe this session。
- 配置變更會先寫入 trace;變更前後的讀數不宜直接對比(見下文注意項)。
- 完整設置、接縫(seams)、trace 格式及「已測量 / 未驗證」的聲明見倉庫 manual。
依賴與模型來源¶
安裝後需要 profile 內 harness 已提供 peerDependencies:@deepseek-ai/cordis 與 @deepseek-ai/dsh-tools(插件不打包這兩項)。調用模型可使用 profile 的 system1 服務,或 HTTP wire,默認 wireUrl 爲 http://127.0.0.1:8766。
package.json 中記錄的兼容測試基線:Node 25.3.0,DSH 0.1.7-rc.2(升級 Node 或 DSH 後維護者建議重跑 npm run ci 並更新該字段)。
安裝與啓用¶
將 web 換成你實際使用的 profile 名稱:
dsh plugin --profile web add dsh-system1-observer
README 另給出從倉庫執行 ./install.sh <profile> 的方式(需本地 clone);與上式二選一即可。安裝前請自行查看 源碼與 LICENSE,並記住插件以當前 dsh 進程權限運行。
典型用法¶
README「Sixty seconds」給出一條可復現的短流程(查找會話需已安裝 dsh-session-index):
system1_explain what it can do, what it is set to now, what a reading covers
session_index_search { query: 'XYZ' } find the session (dsh-session-index)
system1_evaluate_session { sessionId: '…', segmentChars: 57600, package: true } judge it, and package the run
system1_measurements { action: 'interpret', package: '…', text: '…', by: 'you' } attach your reading
說明:
system1_evaluate_session在一次調用裏完成機械步驟:讀會話、過大則分段、對每段問完配置中的問題、在代碼裏聚合並寫報告包。system1_measurements是單獨一步,由你寫 prose 解讀;README 寫明數字無法自動推導成文字說明。
動手前可先跑 system1_explain,它會打印運行中配置與「讀數前須知」全文。
適用場景與注意¶
適合誰
- 需要在 agent loop 固定接縫上收集 System One 回覆、做會話級評估或測量記錄,且接受「只留證據、不替 loop 執法」的開發者。
- 願意配合 dsh-session-index 定位
sessionId,並閱讀 manual / settings 文檔調整 seams 與問題集。
使用讀數前(README 四條)
- 長對話會被摘要,除非傳入
segmentChars;大會話應分段。 - 某處沒有配置問題時,會記錄「未提問」而不是猜測。
- 內置問題在 tool-call 節點上可測量地更弱,tool 密集的 run 讀數會不同。
- 配置變更前後的讀數不可直接對比;變更會先寫入 trace。
倉庫 findings 登記了本儀器曾暴露的問題及發現它們的測量;架構圖、測量深度(G0–G4)、問題類型與證據匹配等見 README 文檔表中的鏈接。
結尾¶
dsh-system1-observer 把 System One 調用釘在 loop 接縫上,輸出 JSONL trace 與可選的會話評估包,並明確標註 declarative、未驗證邊界。若你要在 DSH 裏做可審計的「第二意見」採集而非自動管控,可從安裝、system1_explain 和 trace 路徑入手。