dsh-daily-log
Daily work log plugin for DeepSeek Harness: /daily scaffold plus daily_log_write (merge-on-write with .bak backups), daily_log_read, and daily_log_list tools; YYYY-MM-DD.md and a theme-aware YYYY-MM-DD.html
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:ShineFree7/dsh-daily-log说明文档
阅读完整 README ↗使用 Usage
面向用户的 /daily 命令:
Human-facing /daily command:
/daily # today, default output directory
/daily 2026-08-19 # a specific date (scaffold only, never overwrites)
/daily list # list existing log dates, newest first
面向模型(agent)的工具:
Model-facing tools:
daily_log_write— 写入某天日志。合并规则:只覆盖你传入的区块,未传的 区块保留原内容(首次写入时缺失区块渲染为提示占位)。即将被覆盖的文件会先备份 为YYYY-MM-DD.bak.md/.bak.html。六个区块中至少提供一项:done、changes、problems、next、improve、takeaways。空数组视为“未提供” (不会清空区块)。返回updated/preserved/backups供确认。daily_log_read— 将某天日志读为结构化区块 + 原始 Markdown(省略date即今天)。daily_log_list— 列出输出目录中全部日志日期,最新在前。
problems 的每条可写成“问题:xxx;解决:yyy”(也可用“处理方式:”“,改用”
等自然写法);HTML 渲染时会自动拆分为“问题/解决”两栏,没有解决方式的条目
右侧显示横杠。
daily_log_write— write one date's log. Merging: only the sections you send are overwritten; omitted sections keep their previous content (a first write renders missing sections as hint placeholders). Files that will be overwritten are first backed up toYYYY-MM-DD.bak.md/.bak.html. Provide at least one of the six sections:done,changes,problems,next,improve,takeaways. Empty arrays count as "not provided" (never wipes a section). Returnsupdated/preserved/backupsfor confirmation.daily_log_read— read one date's log as structured sections plus the raw Markdown (dateomitted = today).daily_log_list— list all log dates in the output directory, newest first.
Each problems item may use "Problem: xxx; Solution: yyy" (or natural phrasing
such as "处理方式:" / ",改用" / "fixed by"); the HTML renderer splits it into
a problem/solution pair, and an item without a solution keeps a dash on the
right.
.md 与 .html 始终渲染全部六个区块,.md 同时是合并数据源。如果手工编辑
破坏了生成格式,下次合并会明确报错而不是覆盖,daily_log_read 也会返回原始
Markdown 以便恢复。
Both .md and .html are always rendered with all six sections; the .md is
also the merge source. If hand edits break the generated section format, the
next merge fails loudly instead of overwriting, and daily_log_read returns
the raw Markdown for recovery.
配置 Configuration
在 profile 的 cordis.patch.yml 中覆盖输出目录与语言:
Override the output directory and language from the profile's
cordis.patch.yml:
- id: dsh-daily-log
config:
outputDir: 'D:\\dsh\\workspace\\daily-log'
locale: zh # 'zh' (default) or 'en'
outputDir 默认为 ~/.dsh/daily-log(不会使用 process.cwd());locale
控制区块标题、工具描述、命令输出和渲染文档的语言。
outputDir defaults to ~/.dsh/daily-log (never process.cwd()); locale
controls section labels, tool descriptions, command output, and the rendered
documents.