dsh-sticky-notes
Verified@joyapple/dsh-sticky-notes · v1.2.7 · Apache-2.0 · Web UI
StickyMind:DSH 便签插件。右下角浮动便签板,马卡龙配色、字数上限、自动保存,还能把便签贴到页面任意位置自由拖动(贴出/收回/置顶/固定位置)。StickyMind: a pretty sticky-notes board for DSH — pastel notes, char limit, autosave, and tear-off notes that float anywhere on the page with drag, pin and position-lock.
Install
dsh plugin add @joyapple/dsh-sticky-notes Confirm the layer applied with dsh --profile default --dump-config — see the install guide.
Source
Published to npm without a public repository. Inspect the package contents before installing.
Readme
StickyMind · DSH 便签插件
@joyapple/dsh-sticky-notes· 一个长得像便利贴、脑子像助手的 DSH 便签板。
StickyMind 是 DeepSeek Harness(DSH)的便签插件:右下角一个不打扰的浮动按钮,点击展开一片马卡龙色便利贴板——可以写、可以贴到页面任意位置、可以让 AI 处理内容、可以设置智能提醒并推送到飞书。
✨ 功能一览
🗂️ 便签管理
- 右下角浮动按钮:渐变圆角按钮 + 便签数量角标,平时不打扰,点击展开/收起;自动避开聊天输入框
- 多张便签:2 列马卡龙便利贴(柠檬黄 / 樱花粉 / 薄荷绿 / 天空蓝 / 丁香紫 / 蜜桃橙)
- 直接编辑:标题 + 正文(随内容自动增高、无滚动条),Enter 在标题与正文间跳转
- 置顶 / 改色 / 删除:置顶排序在前;删除需二次点击确认,防误删
- 自动保存:编辑 500ms 防抖保存 + 失焦保存 + 关闭页面兜底(sendBeacon),每张便签带保存状态小圆点
- 深浅主题通吃:面板跟随 DSH 设计令牌,明暗模式下都清晰好看
📌 贴页模式(自由贴便签)
- ⚙ 设置里切换到「贴页模式」后,每张便签右上角出现 ↗ 按钮
- 点一下便签就贴到页面上,像桌面便利贴一样按住任意位置拖动
- 位置按视口百分比保存,刷新/换屏不丢;浮签点击置顶层级;大头针 = 固定位置(不能拖动)
- 点浮签上的 ⬇ 收回面板
✍️ 字数上限(便签不是 word)
- ⚙ 设置里可调「字数上限」(10~500 字,默认 150)
- 输入时实时显示「已写 / 上限」,写满即止;正文随内容自动增高
🤖 AI 处理(不进对话)
- 每张便签 ✨ 按钮 → 润色 / 总结 / 翻译成英文 / 扩写
- 由 host 端直调默认模型完成,处理过程与结果都不会出现在主对话里
- 结果 ≤ 字数上限 → 「替换 / 追加」回填;过长 → 展开预览,绝不撑爆便签
⚡ 发给 AI 执行
- 便签 ✨ → 「发给 AI 执行」:把便签内容作为任务交给当前会话,AI 在对话里处理
🔍 搜索
- 面板右上角 🔍,按标题 + 正文实时筛选,显示"找到 N 张"
🔔 智能提醒 + 飞书推送
- 每张便签 🔔 按钮 → 提醒时间选择:
- 自动识别便签内容里的时间:明天 / 下周 / 下个月X号 / 过一会 / 等一下 / 几月几号 / 下午3点 / 15:00 等
- 快捷:10 分钟后 / 1 小时后 / 今晚 20:00 / 明天 09:00
- 自定义:自绘日历 + 时/分逐分钟选择
- 到点触发三路通知:浏览器通知(授权后)+ 飞书机器人推送(⚙ 配置 webhook)+ 应用内横幅
- 提醒一次性,触发后自动清除
📦 安装
其他电脑部署(三步)
# 1. 安装 DSH
npx @deepseek-ai/dsh web
# 2. 在 profile 目录安装插件
cd ~/.dsh/profiles/web # Windows: C:\Users\<用户名>\.dsh\profiles\web
npm install @joyapple/dsh-sticky-notes --registry=https://registry.npmjs.org/ --legacy-peer-deps
# 3. 编辑 profile 的 package.json,把插件加进 bundles
package.json 的 dsh.profile.bundles 里必须包含(漏一个 = 静默不生效):
"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"@joyapple/dsh-sticky-notes"
]
}
}
装完完全退出 DSH 再启动,浏览器强刷(Cmd+Shift+R)。
⚠️ 三个坑(详见部署指南):
- 包名必须是带
@joyapple/前缀的完整名- 不要把
@deepseek-ai/dsh-agent-default-model加进 bundles(它是 dsh-base 的依赖,自动加载;加了会启动崩溃)- 改完代码要
rm -rf node_modules/@joyapple/dsh-sticky-notes && pnpm install刷新本地拷贝
本地开发
cd ~/.dsh/profiles/web
# dependencies 增加 "file:/.../dsh-sticky-notes" 路径引用
pnpm install
# 改完代码:rm -rf node_modules/@joyapple/dsh-sticky-notes && pnpm install,再重启 DSH
验证是否生效
curl http://127.0.0.1:3080/sticky-notes
# 返回 {"ok":true,"notes":[...],"settings":{...}} 即加载成功
⚙️ 配置
所有配置都在便签面板右上角 ⚙ 设置 里:
| 配置项 | 说明 | 默认 |
|---|---|---|
| 显示方式 | 收纳模式(右下角)/ 贴页模式(便签贴到页面) | 收纳模式 |
| 字数上限 | 每张便签正文最多字数 | 150 |
| 飞书 Webhook URL | 提醒到点时推送的飞书自定义机器人地址 | 空(不推送) |
飞书机器人设置
- 飞书群 → ⋯ → 群机器人 → 添加机器人 → 自定义机器人
- 安全设置选 自定义关键词,填
StickyMind或提醒(不要选加签) - 复制 Webhook 地址,粘贴到 StickyMind 设置里
🧠 数据存储与迁移
- 便签存在 DSH 用户设置里(
~/.dsh/settings.yaml的dsh-sticky-notes命名空间),重启不丢失 - 换电脑:把
settings.yaml拷过去覆盖(或合并其中dsh-sticky-notes段)即可迁移 - 包只带"功能"不带"内容",迁移时别忘带上数据文件
🔌 接口(host 端)
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /sticky-notes |
返回全部便签 + 显示设置 |
| POST | /sticky-notes/save |
新增/更新一张便签(body: { note }) |
| POST | /sticky-notes/remove |
删除一张便签(body: { id }) |
| POST | /sticky-notes/settings |
保存设置({ displayMode, charLimit, feishuWebhook }) |
| POST | /sticky-notes/ai/process |
host 端 AI 处理({ note, op },不进入对话) |
| POST | /sticky-notes/feishu/notify |
转发提醒到飞书 webhook |
🛠️ 开发
目录结构
dsh-sticky-notes/
├── package.json # 包元数据 + dsh bundle 声明
├── cordis.patch.yml # profile 层插入补丁
├── lib/index.js # host 端:settings 持久化 + REST 接口 + AI 直调
└── client/client.js # client 端:界面(FAB/面板/浮签/提醒/AI 菜单)
发布
cd dsh-sticky-notes
npm version patch # 或 minor / major
npm publish --access public --registry=https://registry.npmjs.org/
测试
node --check lib/index.js client/client.js— 语法检查- host 端逻辑用 mock 上下文跑集成测试(settings + webServer + llm 打桩)
- client 端渲染用 React SSR(renderToString)验证各路径
📄 许可证
Apache License 2.0 — 详见 LICENSE。
允许自由使用、修改、分发(含商用),需保留版权声明与许可证副本;修改的文件需注明变更;若对 Work 提起专利诉讼,依据第 3 条终止专利授权。
StickyMind · 记下想法,让 AI 帮你想清楚、办到位。