Repository navigation
dsh-calendar 1.0.0 — 把 Obsidian 内联进 DSH
隐私说明(2026-10-04):本附件做过一次脱敏重建。打包进包的
DEVELOPMENT.md曾包含个人目录名与真实待办文本,现已替换为占位符(<user>/日记/…);scripts/*.test.mjs里的真实目录名同样改为通用名。代码与 tag 一致,只有文档文本脱敏。
dsh-calendar 1.0.0 — 把 Obsidian 内联进 DSH
在 DeepSeek Harness 的右侧栏里打开你的 Obsidian 日记:月历、当天时间轴(Day Planner 风格)、
待办与日记正文;勾选完成 / 改内容 / 改时间都会写回你的 Markdown 原文件。
本次亮点
首次使用向导:装好打开侧栏时若还没配置,面板会显示「连接 Obsidian」——
点「自动寻找」会在常见位置找带 .obsidian 的目录、读出它的 Daily Notes 文件夹并填好建议值;
也可以手动填路径。保存即用,不用重启。
给 AI / 命令行的安装接口:scripts/setup.mjs(--print / --detect [--json] / --root <路径> / --dsh-home)
与 HTTP GET|POST /dsh-calendar/setup 共用同一套实现 —— 把 README 给 AI 看,它能自己把路径配好。
与已装的 Obsidian 插件对齐
- Day Planner:
HH:mm - HH:mm/ 单点HH:mm时间块 → 紧凑时间轴、「现在」红线、完成进度条;
新建带时间的待办自动写进# Day planner小节;读它的startHour/defaultDurationMinutes/showNow - Calendar(Liam Cain):日期格字数点(
wordsPerDot)+ 悬停已写 N 词 · x/y 个任务完成 - Tasks 语法:
- [ ]/[x]/[-]、📅⏳🛫➕✅❌🔁、⏫🔼🔽⏬🔺、#tag
双向同步:Obsidian 改 → DSH 15 秒内跟上;DSH 点圆圈 → 写回 - [x] … ✅ 2026-09-19。
写回有护栏:乐观并发(expect 不符即 409 不写)、原子写 + 回读校验、realpath 越界拦截、
逐行最小改动、同文件串行写、审计日志(不进你的 vault)。
界面:iOS 视觉月历(周一起始、今日高亮、无边框阴影)、背景渐变、点击波纹、任务正文就地编辑、
进入会话自动展开日历 tab(按会话记账,手动关掉不弹回)。
质量
- 零运行时依赖:host 半边只用 Node 内建模块,client 半边只用平台自带的 React
- 5 套回归、317 项断言,不需要浏览器、不需要 Obsidian:
npm test - CI:GitHub Actions 在 Node 20 / 22 上跑全部回归 + 页面体积守卫(< 64KB)+ 打包
- 跨平台:路径守卫同时覆盖 Windows(盘根/
C:\Users\me)与 POSIX(/、/home/me、macOS/System)
安装
# 插件市场搜索 dsh-calendar,或:
dsh plugin --profile web add "<路径>\dsh-calendar-1.0.0.tgz"首次打开右侧栏日历 → 按向导填 Obsidian 日记文件夹即可。
文档
- 用户向:README.md
- 开发/验收记录:DEVELOPMENT.md
- 变更:CHANGELOG.md
附件:dsh-calendar-1.0.0.tgz(91.8 KB)—— 包含 lib / standalone / scripts / README / LICENSE / CHANGELOG。