dsh-worklog:DSH 工作日誌日曆

在 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

使用方法

  1. 查看工作臺:在任意會話的頭部視圖切換中點擊「工作臺」頁籤,可以看到月曆視圖,顯示每天會話量與時長。
  2. 查看某天詳情:點擊日曆上的一個日期查看當天條目。默認收起,點擊「展開 N 個節點」可查看該日節點級摘要。點擊兩個日期可選中區間。
  3. 生成報告:選好日期區間後,點擊「全選/全不選」或逐條勾選條目,選擇報告類型(日報/週報/月報/半年),點擊「生成報告」。
  4. 補摘要:選中日期後,點擊「生成摘要(節點切片)」可按需重算。
  5. 配置摘要模型:進入「設置 → 插件 → 插件配置」,找到「工作日誌」配置項,設置摘要模型、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 調用及報表組裝等模塊。
羽毛球分组比赛记分
小程序二维码

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

小夜