SQLite memory entries, a calendar with due-time reminders, and cron-scheduled agent tasks, with 13 model tools and a bilingual zh/en UI.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:SiriusWJ/dsh-lite-memory
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
This plugin publishes its README in Chinese only.
参考 dsh-auto-memory 裁剪的轻量记忆插件:
- 条目化记忆(SQLite
~/.dsh/memory/memory.db):每条记忆含标题 / 内容 / 重要程度(高·中·低)/ 来源(工作区-会话)/ 创建更新时间,按条目增删改查 - 记忆工具:
memory_recall(关键词检索条目)/memory_entry(条目增删改查) - 日历与提醒:
calendar_add/calendar_list/calendar_done/calendar_remove;到点后通过agent.followup把提醒投递到注册会话(会话被移除则新建会话投递) - 定时任务:cron 表达式(5 字段「分 时 日 月 周」)驱动的进程内调度——到点由 DSH 拉起会话执行提示词,执行记录落库
- 工具:
cron_add/cron_list/cron_run(立即运行)/cron_toggle/cron_remove - 面板:任务列表(状态点 · 表达式 · 人话描述 · 下次运行 · 启停)+ 详情表单 + 表达式实时预览未来 5 次 + 执行记录,支持手动新增 / 编辑 / 删除 / 立即运行
- 表单尽量少填:工作区与模型都是下拉选择(工作区来自
workspaceRegistry的真实目录,模型来自llm的 provider/模型目录;选中某个模型后再按它真正支持的推理强度给下拉),任务名可留空自动取提示词前 20 字;表达式原文、超时、preset、触发落点收进「高级设置」 - 触发落点可选「新建会话」(缺省,跑完即卸载、会话日志保留)或「投递到指定会话」(活着直接投递,否则在原会话上续跑)
- 任务级模型路由:
provider/model/reasoningEffort+preset+cwd。路由只对「新建会话」生效,投递型沿用目标会话自身的模型;留空则用部署默认模型(agentDefaultModel),不会出现「没模型就跑」的情况 - 同一分钟内最多触发一次;同任务不重入、全局并发上限 2、单次超时缺省 600 秒(超时取消并记为
timeout)
- 工具:
- 对话面板「记忆」tab:条目化记忆面板(卡片列表 + 新增/编辑/删除,重要程度色标、来源角标)
- 设置页「记忆」分区:二级菜单(记忆 / 日历 / 定时)——日历为月视图 + 当天 07:00-22:00 时间轴 + 浮层编辑,面板下方「待执行」「已完成」双 tab 纵向列表
- 中英双语:跟随 DSH 设置的语言,无手动外观设置、默认字号
界面预览
设置 → 记忆 → 定时。工作区与模型都是下拉;推理强度在选中具体模型后才出现;表达式原文、超时、preset、触发落点收进「高级设置」。

兼容性 / 支持的 DSH 版本
- 实测版本:DSH
0.1.5-rc.1(@deepseek-ai/dsh-tools/dsh-base均为0.1.5-rc.2),Node24.12 - 声明范围:
engines.dsh: >=0.1.5-rc.1—— 插件市场按 package.json 的engines.dsh(或dsh.engines.dsh)判定宿主兼容性;未声明的插件在市场里显示为「未声明」 - Node:
>=22.5.0(用到node:sqlite;22.5–23.3 需--experimental-sqlite,24 起默认可用) - 用到的宿主能力(据此可自行判断其他 DSH 版本是否可用):
agents.create/resume/get/followup、agent.whenIdle、agent.cancel- 事件
agent/status、agent/error、session/event(turn/end、assistant/message) timer.interval、webServer.register、systemPrompt.context、tools.register+@deepseek-ai/dsh-tools的defineTool- 面板下拉数据源:
workspaceRegistry.list、llm.listProviders/listModels/resolveModelInfo、agentDefaultModel.currentSelection - 上述可选服务缺失时都能降级(下拉退回手填),但缺
agentDefaultModel会让新建会话的 prompt 装配失败
定时任务的触发边界
调度器跑在 dsh web 进程内,没有守护进程,不读写系统 crontab:
- 只在
dsh web运行期间触发;进程关闭时错过的时刻不会补跑(错过即丢) - 每次触发会新建一个会话(
cwd缺省为 dsh web 进程的工作目录),跑完即从内存卸载,会话日志保留可回看 - 每次触发是一轮真实的 agent 会话,会消耗 token;请给任务设置合理的超时
- 成本与权限控制:用任务级模型路由(provider / model / effort)选便宜的模型,用 preset 限定工具集与人格
- 无人值守执行:请在任务里指定 preset 并确认其审批策略与工具限制,否则任务可能卡在审批上
安装
cd ~/.dsh/profiles/web
pnpm add dsh-lite-memory
# 或 npm install dsh-lite-memory
然后在 package.json 的 dsh.profile.bundles 数组追加 "dsh-lite-memory",重启 dsh web 生效。
存储
| 数据 | 位置 |
|---|---|
| 记忆条目 | ~/.dsh/memory/memory.db(表 entries) |
| 日历事项 | ~/.dsh/memory/memory.db(表 calendar) |
| 定时任务 | ~/.dsh/memory/memory.db(表 cron_jobs) |
| 定时任务执行记录 | ~/.dsh/memory/memory.db(表 cron_runs,滚动保留最近 500 条) |
旧版 MEMORY.md / calendar.json 数据不再读写。
License
BSD-3-Clause
Links
More in this category
vectorize-io/hindsight#coding-agents★ 57722
Hindsight, agent memory that learns: long-term project memory with auto recall and retain, knowledge pages, deep reflection, and per-repo memory banks.
volcengine/OpenViking#examples/dsh-memory-plugin★ 41317
OpenViking memory and context bundle for DeepSeek Harness: pre-step auto-recall and profile injection, session capture, `viking://` URI guarding, and recall/write memory tools backed by an OpenViking server.
MemTensor/MemOS#memos-local-plugin★ 12224
Local-first memory plugin for DeepSeek Harness: layered L1/L2/L3 memory with automatic capture, manual memos_* retrieval tools, and a built-in memory viewer.
agentscope-ai/ReMe#dsh★ 3735
Connects DeepSeek Harness to ReMe's local-first, self-evolving personal knowledge base: automatically captures completed main-agent conversations as user-owned Markdown memory, searches conversations and source material through reme_search with BM25, optional embeddings, and wikilink expansion, and schedules daily memory consolidation.
zilliztech/memsearch#MemSearch★ 2815
Shared Markdown memory for DSH and other coding agents, with automatic capture, pre-step context injection, searchable recall, and memory-to-skill self-evolution through a review panel.
vshulcz/deja-vu#extensions/dsh★ 1352
Reads the session files forty-two other coding agents on this machine already wrote (Claude Code, Codex, Cursor, VS Code Copilot Chat, opencode, OpenClaw, Hermes, Kimi, Cline, Zed and more), including sessions from before it was installed: six tools (deja_recall, deja_session, deja_blame, deja_fix, deja_how, deja_remember), a /deja command, and optional automatic recall added to the runtime context. Local BM25 index, no LLM, no embeddings, no network (dsh plugin --profile web add dsh-deja).
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.