Skip to content

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.jsondsh.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 提醒到点时推送的飞书自定义机器人地址 空(不推送)

飞书机器人设置

  1. 飞书群 → ⋯ → 群机器人 → 添加机器人 → 自定义机器人
  2. 安全设置选 自定义关键词,填 StickyMind提醒不要选加签
  3. 复制 Webhook 地址,粘贴到 StickyMind 设置里

🧠 数据存储与迁移

  • 便签存在 DSH 用户设置里(~/.dsh/settings.yamldsh-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 帮你想清楚、办到位。