dsh-system1-observer:在 Agent 循環接縫處採集 System One 讀數

前言

在 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

說明:

  1. system1_evaluate_session 在一次調用裏完成機械步驟:讀會話、過大則分段、對每段問完配置中的問題、在代碼裏聚合並寫報告包。
  2. system1_measurements 是單獨一步,由你寫 prose 解讀;README 寫明數字無法自動推導成文字說明。

動手前可先跑 system1_explain,它會打印運行中配置與「讀數前須知」全文。

適用場景與注意

適合誰

  • 需要在 agent loop 固定接縫上收集 System One 回覆、做會話級評估或測量記錄,且接受「只留證據、不替 loop 執法」的開發者。
  • 願意配合 dsh-session-index 定位 sessionId,並閱讀 manual / settings 文檔調整 seams 與問題集。

使用讀數前(README 四條)

  1. 長對話會被摘要,除非傳入 segmentChars;大會話應分段。
  2. 某處沒有配置問題時,會記錄「未提問」而不是猜測。
  3. 內置問題在 tool-call 節點上可測量地更弱,tool 密集的 run 讀數會不同。
  4. 配置變更前後的讀數不可直接對比;變更會先寫入 trace。

倉庫 findings 登記了本儀器曾暴露的問題及發現它們的測量;架構圖、測量深度(G0–G4)、問題類型與證據匹配等見 README 文檔表中的鏈接。

結尾

dsh-system1-observer 把 System One 調用釘在 loop 接縫上,輸出 JSONL trace 與可選的會話評估包,並明確標註 declarative、未驗證邊界。若你要在 DSH 裏做可審計的「第二意見」採集而非自動管控,可從安裝、system1_explain 和 trace 路徑入手。

羽毛球分组比赛记分
小程序二维码

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

小夜