前言¶
DeepSeek Harness (DSH) 采用插件化架构,Agent 的记忆与状态管理通常需要手动维护。dsh-journal-calendar 插件旨在解决这个问题,它允许 Agent 将每日的行动与计划记录为 JSON 文件,并在 Web 界面的右侧侧边栏通过日历视图呈现,同时提供可勾选的任务清单。
它是什么¶
这是一个由 crease123 维护的客户端插件,开源协议为 MIT。它将三个功能封装在一个 Bundle Row 中:
* Host 服务:在 $DSH_HOME/journal 路径下提供 journal Remote 命名空间。
* 工具:提供 journal_record 工具以及一个固定的 Duty Prompt 区域。
* 浏览器端:右侧侧边栏的日历卡片,展示月视图、选中日期的 TODO 与 MEMORY 区域。
核心功能¶
- 文件存储:以纯 JSON 格式在
$DSH_HOME/journal目录下按日期存储日志文件。 - 工具调用:提供
journal_record工具,支持记录kind(如todo计划或memory记忆)、title、detail、tags等信息。 - 日历可视化:在右侧侧边栏绘制月历网格,标记每日数据。
- 交互式任务:日历下方的 TODO 支持复选框操作,勾选状态会实时写回对应的日文件。
- 内联编辑:支持通过按钮在界面上内联编辑 Duty Prompt(职责提示句),文本会保存在
$DSH_HOME/journal/duty.md。 - 手动编辑:支持直接手动编辑 JSON 日志文件。
安装与启用¶
安装命令如下,安装后会自动解析包并部署 Web 界面:
dsh plugin --profile web add dsh-journal-calendar
执行安装命令后,重新加载页面,即可在右侧侧边栏看到 日历 / Journal 标签页。
若需锁定版本:
dsh-journal-calendar@0.2.0
若需自定义日志存储目录,可在配置中添加 dir 选项:
- id: journal
name: dsh-journal-calendar
config:
dir: /absolute/path/to/journal
典型用法¶
- Agent 使用:Agent 在工作过程中调用
journal_record工具记录任务或记忆。如果使用相同的id重复记录,工具会返回已存储的条目而非重复添加。 - 手动维护:日志文件位于
$DSH_HOME/journal/<YYYY-MM-DD>.json。文件结构示例如下:
{
"version": 1,
"date": "2026-09-30",
"entries": [
{
"id": "…",
"kind": "todo",
"time": "20:00",
"title": "跑 2 公里",
"done": false
}
]
}
注意事项¶
- 依赖环境:
dsh plugin命令实际调用pnpm,因此目标机器必须已安装pnpm。 - 构建授权:若从 Git 仓库源码安装(
git+https://github.com/crease123/dsh-journal-calendar),会在本地构建,需在 profile 的pnpm-workspace.yaml中添加allowBuilds配置并授权。 - 文件格式:存储的 JSON 文件必须保持有效格式。格式错误会导致硬错误,而不是自动修复。
- 进程重启:如果重新生成了 Typert Artifacts,必须重启 DSH Host 才能加载新的定义。
- Node 版本:已验证的 Node 版本为 22.19.0 和 26.4.0;24 和 25 版本未经验证。
总结¶
dsh-journal-calendar 通过标准化的 JSON 文件与可视化日历,为 DSH Agent 提供了结构化的日常记录能力。文件由用户拥有且支持手动编辑,适合需要长期追踪 Agent 行为与计划的开发者。
- 插件目录:https://www.skillhub.cn/plugins/crease123/dsh-journal-calendar
- 源码地址:https://github.com/crease123/dsh-journal-calendar