在 DSH(DeepSeek Harness)環境中,會話數量往往隨着跨工作區和 SSH 路由的使用而激增。手動整理這些聊天記錄、統計工作時長並生成總結報告非常耗時。dsh-worklog 插件提供了一種自動化的解決方案:它全量彙總所有會話,按天登記工作時長與內容摘要,並支持生成多種格式的報告。
核心功能¶
dsh-worklog 主要解決會話記錄的整理與彙報問題,具備以下能力:
- 全量彙總:使用
ctx.sessionQuery讀取本機與 SSH 路由上所有會話,包括已結束的會話。 - 對話節點級摘要:將對話細分爲“用戶發消息 → 模型完成”的節點,逐節點生成摘要,並按本地日期歸屬。
- 主動 / 手動摘要:開啓“主動模式”可即時補摘要;在工作臺提供“生成摘要(節點切片)”按鈕,支持按需強制重算。
- 獨立 LLM 配置:支持 DSH 內置、OpenAI 兼容、Anthropic 三種接口。可配置 baseUrl、apiKey、model、上下文以及自定義摘要 prompt。
- 報表生成:在日曆視圖選擇日期區間,勾選條目(支持全選/全不選),即可生成 Markdown 格式的日報/週報/月報/半年總結。
- 模型工具:提供
worklog_status / day / range / report / rescan工具,可在任意會話中使用。
安裝與啓用¶
前置條件:DSH(deepseek-harness)環境,Node.js 版本 ≥ 22。
使用官方倉庫地址安裝:
dsh plugin --profile web add github:aijunjiang/dsh-worklog
安裝完成後需要重啓 dsh web 以完成宿主插件、掃描、摘要工具以及「工作臺」client 模塊的自動註冊。bundle.gui.patch.yml 已內置相關配置,無需手動修改 profile。
pnpm dsh web
卸載命令如下:
dsh plugin --profile web remove dsh-worklog
使用方法¶
- 查看工作臺:在任意會話的頭部視圖切換中點擊「工作臺」頁籤,可以看到月曆視圖,顯示每天會話量與時長。
- 查看某天詳情:點擊日曆上的一個日期查看當天條目。默認收起,點擊「展開 N 個節點」可查看該日節點級摘要。點擊兩個日期可選中區間。
- 生成報告:選好日期區間後,點擊「全選/全不選」或逐條勾選條目,選擇報告類型(日報/週報/月報/半年),點擊「生成報告」。
- 補摘要:選中日期後,點擊「生成摘要(節點切片)」可按需重算。
- 配置摘要模型:進入「設置 → 插件 → 插件配置」,找到「工作日誌」配置項,設置摘要模型、Prompt 以及主動模式。
配置與數據¶
摘要設置¶
在「設置 → 插件 → 工作日誌」中可配置以下項:
| 項 | 默認 | 說明 |
|---|---|---|
| 模型接口格式 | dsh |
dsh(內置默認模型)/ openai(OpenAI 兼容)/ anthropic |
| Base URL | — | 外部接口地址(openai/anthropic 時) |
| API Key | — | 留空則回退環境變量/憑據庫 GJSL_API_KEY |
| Model Name | — | 外部模型名 |
| 上下文窗口 | 0 | 輸入上下文窗口 tokens |
| 摘要 Prompt | 內置 | 可自定義 |
| 主動模式 | 開 | 每個有新活動的日期即時補摘要 |
行級配置¶
若需覆蓋默認值(如時區偏移、掃描間隔、靜默閾值、輸出上限、摘要併發等),可在 profile 的 cordis.patch.yml 中按 id 覆蓋:
- id: worklog
config:
timezoneOffsetMinutes: 480 # 時區偏移(分鐘),默認 480(UTC+8)
scanIntervalMs: 300000 # 語料掃描間隔(毫秒)
autoSummarize: true # 會話結束後自動 LLM 摘要
數據與緩存¶
- 數據目錄:默認位於
$DSH_HOME/dsh-worklog/items.json。 - 緩存機制:每個會話存儲
nodes[],節點摘要攜帶內容指紋。指紋不變則複用,會話有新活動時只補新增節點,不重複消耗 token。
注意事項¶
- 該插件以當前 dsh 進程權限運行,安裝前建議檢查源碼與許可證。
- 插件依賴 Node.js ≥ 22。
- 插件核心文件位於
src/目錄,包括宿主插件入口、摘要隊列、節點切片、LLM 調用及報表組裝等模塊。