dsh-plugin-agent-workflow:以用戶輪次查看 Agent 執行鏈路

前言

在 DeepSeek Harness(DSH)裏跑 Agent 時,一次用戶發言往往會觸發多輪模型請求和若干工具調用。內置「對話」適合看最終結果,「軌跡」適合按事件排查;若希望以「這一輪用戶說了什麼」爲入口,在同一視圖裏按時間順序串起請求、響應和工具調用,就需要額外的 Web UI 能力。下面介紹社區插件 dsh-plugin-agent-workflow:它在不替換內置「軌跡」的前提下,增加獨立的「工作流」標籤頁,數據來自 Session 中已有記錄,只讀展示。

這是什麼

dsh-plugin-agent-workflow 是可獨立安裝的 DSH Web UI 插件,由 flynow-harness 維護;當前資料中的包版本爲 0.4.0,適配 dsh@0.2.2-alpha.2。簡介表述爲:以用戶輪次爲入口查看模型請求、響應與工具調用鏈路。

插件在 Cordis 側通過 patch 注入客戶端 bundle,面向 web profile,依賴宿主提供的 Session、Trajectory 等客戶端模塊;0.4.x 通過標準 hook useTrajectory 讀取內置 Trajectory 投影,並複用 Session 事件窗口做分頁,不註冊自有視圖目標,因此不與 Chat、Trajectory 的生命週期交錯。

核心功能

按輪次與鏈路瀏覽

  • 左側固定展示當前 Session 的用戶對話輪次:提示詞摘要、開始時間、模型/工具調用次數、完成狀態。
  • 右側按時間順序展示本輪的模型調用與工具調用;單行內容過長時可橫向滾動。
  • 頁頂彙總用戶對話數、模型調用數、工具調用數和總耗時(統計範圍限於客戶端已加載的 Session 歷史)。

請求與響應檢查

點擊請求卡片可查看該次模型請求的真實記錄:

  • 系統提示詞、與提供方無關的 messages[]、工具定義 tools,均以可摺疊 JSON 樹展示,支持複製與放大。
  • 響應側可查看 reasoning、content、工具調用及當次響應的原始記錄。

messages[] 按 DSH 與模型請求相同的 Session surface 規則在每次請求邊界重建;系統提示詞、工具定義、響應與工具結果來自內置 Trajectory 投影。插件不會向模型請求中追加消息、提示詞或工具。

工具執行與 Token

  • 工具卡片區分運行中、完成、失敗,展示參數、結果、耗時與錯誤摘要。
  • Token 與緩存統計區分輸入、未緩存輸入、緩存讀取、緩存寫入和輸出,便於分析上下文複用。

性能與交互

輪次列表與模型調用列表獨立滾動;模型調用行使用虛擬化渲染,長鏈路不會拖垮整頁。JSON 展開與卡片選中狀態僅保存在當前頁面,無深鏈接分享;同一次響應中的多個工具調用以線性序列展示,不畫並行分支圖。

版本兼容

升級 DSH 時需安裝與之匹配的插件版本:

插件版本 DSH 版本
0.4.x dsh@0.2.2-alpha.2
0.3.x dsh@0.2.0-rc.2
0.2.x dsh@0.1.5-alpha.1
0.1.x dsh@0.1.0-rc.8

從 0.3.x 升到 0.4.x 後需重啓 Web UI。DSH 仍處於預發佈階段,RC 間客戶端接口可能變化,應成對升級宿主與插件。

安裝與啓用

插件以當前 DSH 進程權限運行;安裝前建議閱讀倉庫源碼與 MIT 許可。社區目錄頁 SkillHub 提供索引,與 DeepSeek / 幻方無官方從屬關係。

假設安裝包 dsh-plugin-agent-workflow-0.4.0.tgz 位於當前目錄,在 web profile 下執行:

npx --yes @deepseek-ai/dsh@0.2.2-alpha.2 plugin \
  --profile web \
  add ./dsh-plugin-agent-workflow-0.4.0.tgz

檢查是否安裝成功:

npx --yes @deepseek-ai/dsh@0.2.2-alpha.2 plugin \
  --profile web \
  list --depth 0

列表中出現 dsh-plugin-agent-workflow 0.4.0 即表示成功。重啓 Web UI 後出現「工作流」標籤頁:

npx --yes @deepseek-ai/dsh@0.2.2-alpha.2 web

其他 profile(例如 video)可使用同一 .tgz,命令形式爲 dsh plugin --profile <name> add ./dsh-plugin-agent-workflow-0.4.0.tgz 後啓動對應 profile 的 DSH。

若需在本地 DSH 0.2.2-alpha.2 源碼樹中安裝,在已構建好的源碼目錄執行(將路徑換爲安裝包絕對路徑):

pnpm dsh plugin --profile web add /absolute/path/dsh-plugin-agent-workflow-0.4.0.tgz
pnpm dsh plugin --profile web list --depth 0
pnpm dsh web

卸載(不影響內置「軌跡」):

npx --yes @deepseek-ai/dsh@0.2.2-alpha.2 plugin \
  --profile web \
  remove dsh-plugin-agent-workflow

卸載後需重啓 DSH Web。

資料中還說明:pnpm 11 默認可能阻止 Git 依賴的構建腳本,推薦先 pnpm pack 得到 .tgz 再安裝,而非直接 github: 依賴(除非在 workspace 中顯式放行構建且信任源碼)。

典型用法

  1. 按上文命令安裝並啓動 dsh web,打開已有 Agent Session。
  2. 在 Web UI 中切換到「工作流」標籤(與「對話」「軌跡」並列)。
  3. 在左側選擇某一用戶輪次,右側查看該輪內的模型請求、響應與工具調用順序。
  4. 點擊具體請求卡片,在詳情中展開 system、messages[]、tools 或響應 JSON,複製字段用於對比配置或復現問題。
  5. 結合頁頂彙總與 Token/緩存行,判斷本輪成本與緩存命中情況。

本地開發插件時需 Node.js ^22.19.0 或 >=24.0.0、pnpm 11;可通過 pnpm install、pnpm run typecheck、pnpm test、pnpm pack 生成可安裝的 tarball。

適用場景與注意

適合需要在 Web UI 中以「用戶輪次」組織視角、快速掃一遍 Agent 執行鏈路的開發者與調試場景;與內置「軌跡」互補,而非替代。

需注意:彙總與列表受客戶端已加載歷史限制;插件只讀 Session 事件,不改變模型行爲。項目基於 xuanyuanzhifeng/dsh-plugin-agent-workflow(MIT)適配 dsh@0.2.2-alpha.2,由 flynow-harness 繼續維護。

結尾

dsh-plugin-agent-workflow 把 DSH Session 裏已有的 Trajectory 與 messages[] 重建結果,整理成按輪次瀏覽的工作流視圖,便於檢查 Agent 的請求體、響應與工具狀態。目錄與詳情見 SkillHub 插件頁 與 GitHub 倉庫。

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

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

小夜