前言¶
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