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 调用及报表组装等模块。
羽毛球分组比赛记分
小程序二维码

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

小夜