Vast-Unhurried/dsh-toolkit--packages-dsh-note1

dsh-note

DeepSeek Harness 原生便签:在输入框权限选择器(Full access)右侧放一个与周边图标同款的便签按钮,点击弹出可编辑便签,内容自动保存到磁盘($DSH_HOME/storages/dsh-note.json);不改动 Harness 核心。

包名
dsh-note
版本
1.0.0
许可证
MIT
最近更新
2026年8月16日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Vast-Unhurried/dsh-toolkit#02a5c2046fab4dd227992c912edcc24e75da4656&path:packages/dsh-note

dsh-note — DeepSeek Harness 原生便签

在会话输入框的工具行(Full access 权限选择器右侧)放一个与周边图标同款的 便签按钮(28×28 圆钮、同款图标色),点击弹出浮层编辑区,内容自动保存到 磁盘,刷新、重启都不丢。纯增量注入,不改动 Harness 核心文件。

功能

  • 位置:输入框工具行,Full access 选择器右边(conversation.input.left 插槽,官方预留的小控件座位)。
  • 外观:与旁边的 + 按钮同款(--dsw-specific-selector 圆底、 --dsw-alias-label-primary 图标色、hover 高亮),图标为官方主题同族的 清单笔图标(IconListPenOutline16,14px)。随主题自动变色。
  • 新建便签:每次打开弹层都是新建便签(空白开始)。编辑区下方 一行并列三个元素:「新建便签」标签、「历史便签」入口、「保存」按钮。 点击保存commitNote)才会把内容归档为历史便签并清空编辑区, 可继续写下一条;编辑过程中不会自动保存。若关闭弹层(点外部 / ESC)时还有未保存内容,会作为草稿落盘(防丢),下次打开自动恢复 (恢复的内容未点保存前不会进历史)。
  • 历史便签(可移动窗口):点击「历史便签」弹出独立窗口(高于 编辑弹层)。拖住标题栏可自由移动拖右下角手柄可调整大小最近一次的位置和大小会自动记住(localStorage,下次打开恢复)。 每条保存的便签按新→旧排列(时间 + 内容预览);点击条目展开查看 完整内容,再次点击收起;展开的条目显示**「复制」按钮**(复制完整 内容到剪贴板,成功后按钮短暂变对勾);每条可单独删除;上限 30 条 (超出自动丢弃最旧);相同内容重复保存不会产生重复条目。按 ESC 先关 历史窗口、再关编辑弹层;点弹层外部同时关闭两者。
  • 状态:同一行内显示「加载中 / 保存中 / 已保存 / 未保存」, 空闲时不显示占位文字(无「空白便签」);出错时红色显示原因; 按钮悬停提示显示当前内容前 60 字。
  • 持久化$DSH_HOME/storages/dsh-note.json(Harness 原生 JSON 数据 目录),原子写入(临时文件 + 重命名),并发保存串行化。

安装

# 在 dsh-toolkit 仓库根目录执行
dsh plugin --profile web add file:./packages/dsh-note

宿主插件需要重启 dsh 服务才会加载;客户端部分硬刷新(Ctrl+Shift+R) 即可生效。

卸载

dsh plugin --profile web remove dsh-note

删除后 $DSH_HOME/storages/dsh-note.json 里的便签数据保留(不自动删除), 如需彻底清除手动删除该文件即可。

数据与 API

  • 路由:POST /plugins/dsh-note/api,方法 getNote / setNote / commitNote / deleteHistory / ping
  • setNote 只写草稿(关闭时防丢用),不进历史;commitNote 是显式 「保存」——文本归档进历史并清空草稿。文本上限 16,000 字符(中文 3 字节/字,加上 JSON 开销保持在 64 KiB 请求体上限内,超长中文便签不会 保存失败);历史上限 30 条;文件格式 {"text": "草稿", "updatedAt": "ISO 时间", "history": [{"id": "...", "text": "...", "updatedAt": "..."}]}
  • 宿主不落任何密钥;浏览器只收发便签文本。

限制

  • 全局单便签(草稿)+ 历史便签列表(用户确认的范围);将来需要分组/ 多便签时数据文件结构可平滑扩展。