dsh-assistant-message-forge:消息鍛造臺

在 DeepSeek Harness (DSH) 環境中,調試會話上下文、修復損壞的日誌文件或批量測試助手消息往往需要額外的工具。dsh-assistant-message-forge 是一個雙面插件(Host + Client),提供瞭解析、記錄、編輯會話消息的能力,並支持導入與修復 sessionlog。目前該插件已停止功能更新,核心能力被 dsh-context-console 繼承,但保留了 0.1.1 版本供回滾使用。

核心能力

該插件主要解決會話數據持久化、動態修改和日誌修復的問題。

  • 上下文解析與記錄:將當前會話完整解析爲 ContextCard,按輪次分組,包含 turn/step 邊界、user/assistant 消息、tool call/result、request header 等各類事件。解析結果連同卡片覆蓋設置一起記錄到 $DSH_HOME/assistant-message-forge/context-<sessionId>.json。
  • 上下文卡片化與編輯:在“消息鍛造臺”頁籤中展示卡片流,支持動態編輯文本、reasoning、provider、model、usage 以及工具名與參數。編輯結果先保存爲記錄,刷新解析不會丟失。
  • 應用到會話:支持將卡片修改“保存並應用到會話”或“應用到會話”。對 user/message/assistant/message/tool-result 使用 surface replace 策略,直接改寫當前會話中的原消息,模型上下文即時生效。
  • 草稿管理:支持添加、修改、刪除 assistant 草稿。草稿持久化在 drafts.json 中,可完整注入到當前會話。
  • Sessionlog 導入與修復:支持識別導入 .jsonl(.zstd) 格式的日誌文件,並進行完整性預覽。對於損壞的日誌,可基於後寫分支覆蓋、官方 crash closer 和 seed 校驗創建新的 session-repaired-* 會話,原日誌保持只讀。

安裝與啓用

Web UI 需要作爲 bundle 安裝,不能使用裸 --patch。dsh.client 掃描器通過包名發現 exports["./client"],因此瀏覽器半必須作爲 bundle 安裝進 profile。

# 獨立測試 profile
pnpm dsh plugin --profile amf-test add D:/codeproject/dsh-plugin/plugins/assistant-message-forge

# 正式使用(裝進默認 web profile)
pnpm dsh plugin --profile web add D:/codeproject/dsh-plugin/plugins/assistant-message-forge

典型用法

  1. 刷新解析:在會話上下文中執行 context/refresh,將當前會話的完整事件解析並記錄到本地 JSON 文件。
  2. 編輯與注入:在卡片視圖中修改內容,選擇“保存並應用到會話”或“應用到會話”直接改寫消息;或使用草稿區的“注入到當前會話”功能,完整合成輪次並 flush。
  3. 導入識別:使用 sessionlog/parse 接口,上傳 base64 編碼的 sessionlog 數據,支持 zstd 解壓和 packed chunk 展開。

注意事項

  • 維護狀態:插件已停止功能更新,被 dsh-context-console 繼承。新部署建議遷移至新插件,現有 0.1.1 版本保留供回滾。
  • 傳輸限制:上傳 base64 數據限制在 128 MiB 以內。
  • Tool Result 限制:修改 tool/result 時,僅允許編輯 content,message id、source、isError 等包裝字段必須保持原值,isError 在記錄裏可改,應用時按原值寫回。
  • 會話邊界:會話正在運行(存在未閉合 turn)時,注入和應用操作都會被拒絕。
羽毛球分组比赛记分
小程序二维码

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

小夜