返回目录
Agent 与会话 插件

dsh-memoryleak

warmwine/dsh-memoryleak

基于dsh的知识库和待办管理工具

Stars
0
Forks
0
Issues
0
更新
今天

PROJECT TOPICS

项目标签

INSTALL REFERENCE

安装参考

未验证
dsh plugin --profile web add github:warmwine/dsh-memoryleak

该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。

PROJECT README

README

dsh-memoryleak

好记性不如烂笔头,有了 memoryleak 你就不会 memoryleak。 一个把记事本带进 DSH 的插件:记的东西全是本地 Markdown 文件,git 和任何编辑器都能直接用,换个工具也带得走。

[!WARNING] ⚠️ 隐私警示:谨慎使用本插件 ⚠️

任何 dsh 工作目录都可以把笔记写进同一个 Vault——这同样意味着你的领导很容易通过蒸馏(distill)你的 Vault 摸清你的动态

  • 当前请谨慎使用本插件,想清楚什么能记、什么不能记。
  • 后续会推出「失联即焚」功能。在此之前,务必做好云备份,甚至不要把 Vault 放在公司电脑上
  • 在此之后,更要做好备份,防止系统自燃

更新历史

你能用它干什么

你在写代码的时候,总有各种事想顺手记下来:这个 bug 怎么修的、明天要跟进什么、哪天要交什么材料。这些事放进专门的笔记软件就散落各处,放在脑子里又会漏。这个插件把它们集中存在你自己指定的一个目录(Vault)里:

  • 先选一个 Vault,只用选一次。刚装好时设置是空的,执行任意 /ml 命令会引导你选一个本地文件夹:输入路径时Tab 自动补全(↑↓ 选候选,输 e 补盘符、~ 开头是用户目录),或直接用当前工作区;目录不存在会自动创建。之后所有日志、待办都固定写进这个目录,不再跟着会话的工作区跑。换项目、换会话,记的事都在同一个地方。
  • 想到什么,一句话记下来。输入 /ml 明天找财务对一下发票 回车,这句话就写进了今天的日志文件(2026-08-16.md)。文件就在 Vault 根目录,打开就能看,提交 git 就能留痕。
  • 待办带结构和优先级。输入 /ml todo add 交季度报告,会弹一个固定表单问你类型和重要程度,各选一项、选完自动提交;选到 deadline / sleep 时输入区变成日期选择器(日历 + 今天/明天/本周/本月快捷键),点一下就定好日期。有截止日的到期自然浮出来;不急的可以设成"睡到"某天再提醒你。
  • 找文件像 VSCode 一样快。输入 /ml view 加几个字母,输入框上方弹出候选列表,↑↓ 选、Tab 补全、回车打开。
  • 以上全部不花一个 token。所有命令都在本地完成,不经过大模型,不进对话历史。

安装

dsh plugin --profile web add github:warmwine/dsh-memoryleak
# 重启 dsh web 生效
# 卸载:dsh plugin --profile web remove dsh-memoryleak

装好之后在输入框敲 /ml help 看全部命令。

记的东西长什么样

全部是普通 Markdown 文件,放在 Vault 根目录。每天的日志叫 2026-08-16.md,每周的叫 2026W33.md(用哪种在设置里选):

start: 2026-08-10          ← 周志模板自带的起止日期
end: 2026-08-16

## MemoryLeak              ← /ml 记的流水账都在这里
- 上午重构了扫描器
- 下午修了候选卡错位

## Todo                    ← /ml todo add 存的待办在这里
- [ ] (ml:deadline 2026-09-01 urgent) 完成设计稿
- [ ] (ml:sleep 2026-12-01 low) 学一遍内部源码
- [ ] (ml:anytime medium) 整理收藏夹
- [x] (ml:active low done:2026-08-16) 复盘一次上线

待办有四种类型:

类型 日期 是什么
deadline 必填 有截止日的事,到点就出现在列表里
sleep 必填 暂时不想看见的事,到唤醒日才自动出现(出现时会自动改写成 active)
anytime 不填 随便什么时候搞一下的事
active 不填 sleep 睡醒之后的样子,系统自动转换,不用手动写

优先级三档:urgent(紧急)、medium(中等)、low(低)。完成一件事时(/ml todo d)会自动在后面记上完成日期(done:2026-08-16),取消完成或撤销时自动去掉。就算你手动把文件的格式改坏了,那一条也只是变回普通待办,不会丢。

命令一览

完整说明输入 /ml help 随时看,这里列个速查:

命令 干什么
/ml init 指定/更换 Vault 目录(唯一的设置入口)
/ml <文本> 记一笔到今天(或本周)的日志
/ml todo add <内容>(简写 n 加待办,弹表单选类型和优先级
/ml todo list(简写 l 列出待办,默认只看没完成的
/ml todo list all / open / done 按状态过滤
/ml todo list <关键词> 按关键词过滤
/ml todo d <序号>(简写 done 把列表里第几条标成完成(或取消完成)
/ml todo u(简写 undo 反悔刚才那次 d,连按可以一路撤回去
/ml view(简写 v 看今天(或本周)的日志
/ml view <文件名几个字母> 模糊找文件直接打开
/ml help(简写 h 看这份说明

Vault 未设置时,除 help / init 外的所有命令都会直接报错并提示先执行 /ml init——init 是唯一严格的目录设置入口,不会自动弹引导。

输入 /ml view 后继续打字,输入框上方会弹实时候选:当前日志排第一个,下面是匹配的文件。↑↓ 换选中的,Tab 把文件名补全到命令里,回车直接打开,Esc 关掉。

设置分两层,都是手改友好的 YAML:

  • 全局层存在 ~/.dsh/settings.yamlmemoryleak: 段(DSH 官方统一位置,和其他插件同款)。GUI 设置面板 → MemoryLeak 分区改的就是它:Vault 目录(「浏览…」弹系统目录选择对话框,「清除」一键置空)、扫描哪些扩展名、排除哪些目录、数量上限、默认过滤、用日志还是周志、两个模板的内容。
  • Vault 层是 Vault 根目录下的 .memoryleak.yaml。GUI 保存与 /ml init 都会双写——全局与这个文件同步为同一份,换台机器把整个 Vault 拷走、设置跟着走。读取时此文件里的键优先级更高(vault 路径除外——它只认全局层,文件里写了也无效);缺键回退全局层,全局层也没有就用默认值;文件写坏了也不崩,按缺失处理。手改这个文件仍可读,但下次 GUI 保存会被覆盖。

两件可能让你困惑的事

新建会话里命令没反应? DSH 的设计是:一个会话在发出第一条消息之前不挂聊天记录区,所以这时跑任何斜杠命令(包括官方的 /plan)结果都看不见,但命令其实执行了,文件也写了。随便发一条消息,之前的命令卡片就会补出来。

改了代码没生效? 浏览器部分(设置窗口、候选卡、命令卡片)刷新页面就行;核心逻辑(命令处理、扫描、文件读写)在服务端,要重启 dsh web

开发

pnpm install
pnpm test            # 261 个测试

代码分三层:src/core/ 是纯逻辑,不碰文件系统,测试直接跑;src/adapters/ 负责真实的文件读写(测试用内存版替换);src/index.jssrc/client.js 分别是服务端和浏览器两端。

给 AI 留了接口但还没启用:新的待办格式只需要注册一个新的解析策略;renderTodoJson 输出稳定的 JSON,将来 AI 可以直接按这个格式读和筛待办。

License

MIT

CLASSIFICATION EVIDENCE

分类依据

项目类型插件
功能分类Agent 与会话
规则置信度

系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: memory-management。