flyhigao/dsh-sticky-notes 预览 preview

flyhigao/dsh-sticky-notes

Project Overview项目介绍

This is a native sticky notes plugin built exclusively for DeepSeek Harness (DSH). After installation, it adds a compact sticky notes entry to the header of your current DSH conversation, without taking up any extra valuable space in the DSH sidebar. You can use this entry to create, edit, and delete multiple sticky notes per workspace, and all notes are saved as individual Markdown files in the dsh-notes/ directory of your current working directory. The plugin automatically matches your DSH active language setting, supporting both Chinese and English user interfaces.

This plugin is designed for developers who need to jot down scattered ideas, track to-do items, save development inspiration, or keep meeting notes directly in their DSH workspaces. The workflow is straightforward: after opening any DSH session, click the sticky note icon on the right side of the conversation header to bring up the operation popup. At the top of the popup, you can select your target workspace, which defaults to the current session’s workspace, but you can also switch to any other registered local workspace on your machine. The left side of the popup shows a list of all sticky notes in the selected workspace, while the right side has a title input and content editor, and the bottom holds buttons for new, delete, and save operations.

This plugin has zero external runtime dependencies and does not rely on the deprecated dsh-client-runtime. It is compatible with all DSH versions starting from 0.1.0-rc.6, and it is released under the permissive MIT open source license. It is built using DSH’s official conversation header add-on slot, so it will not replace the entire conversation header or cause conflicts with other plugins in terms of ID, API endpoints, or CSS styles. Any unsaved edits are automatically saved before you switch notes, switch workspaces, or close the window, and manual edits to existing Markdown files will show up when you reopen the notes panel.

这是一个专为 DeepSeek Harness(DSH)开发的原生工作区便签插件,安装后会在DSH当前会话的头部添加一个紧凑的便签入口,不占用侧边栏额外空间。用户可以通过该入口在当前工作区创建、编辑、删除多张便签,所有便签以独立Markdown文件的形式保存在当前工作区的 dsh-notes/ 目录中,数据格式透明开放,可直接用Git进行版本管理。插件界面语言跟随DSH当前语言设置自动切换,同时支持中文和英文两种语言。

适合需要在工作区记录零散想法、待办事项、开发灵感、会议记录的开发者使用。使用流程非常简单:打开任意DSH会话后,点击会话头部右侧的便签图标即可唤起操作弹窗,弹窗顶部可选择目标工作区,默认选中当前会话的工作区,也可切换到其他已注册的本地工作区。左侧展示选中工作区的所有便签列表,右侧是标题输入框和正文编辑区,底部设有新建、删除、保存操作按钮。

本插件零外部运行时依赖,不依赖已废弃的dsh-client-runtime,兼容DSH 0.1.0-rc.6及以上所有版本,遵循MIT开源许可证。插件使用DSH官方的对话头部加法插槽开发,不会替换整个会话头部,也不会与其他插件发生ID、接口或样式冲突,切换便签、工作区或关闭窗口前会自动保存未提交的编辑内容。用户也可手动修改目录内的Markdown文件,重新打开面板即可生效。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 warning1 项注意
  • Only 2 stars - very few users, little community feedback星标只有 2,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add github:flyhigao/dsh-sticky-notes

把 flyhigao/dsh-sticky-notes 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-sticky-notes

dsh-sticky-notes

English

DSH(DeepSeek Harness)工作区便签插件。在当前会话头部提供一个紧凑的便签入口,点击后可以为当前工作区创建、编辑和删除多张便签。

便签以 Markdown 文件形式保存在当前工作区的 dsh-notes/ 目录中,简单、透明、可直接用 Git 管理。

功能

  • 当前会话头部快捷入口,不占用侧边栏空间。
  • 多便签管理:列表预览、点开编辑、新建、保存、删除。
  • 弹窗内提供工作区下拉框,默认当前会话工作区,也可以切换到本机其他已注册工作区。
  • 界面语言跟随 DSH 当前语言设置,支持中文和英文。
  • 切换便签、切换工作区或关闭窗口前,会自动保存未提交的编辑内容。
  • 数据落在当前工作区:<workspace>/dsh-notes/*.md。
  • 每个便签一个 Markdown 文件,方便直接用编辑器查看和修改。
  • 服务端通过 workspaceRegistry 解析工作区路径,不信任浏览器传入的任意路径。
  • 写操作仅接受同源 POST,避免跨站请求。

兼容性

  • 支持 DSH 0.1.0-rc.6、0.1.0-rc.8、0.1.1-rc.2、0.1.2-alpha.2 及更高版本。
  • 零外部运行时依赖,不依赖已被废弃的 dsh-client-runtime。
  • 本插件使用 DSH 官方的加法插槽 conversation.session.header.actions,不会替换整个会话头部,也不会独占该位置。
  • 使用唯一 ID sticky-notes,避免与其他插件冲突。
  • 使用 order: 30 排序,和其他插件按顺序共存。
  • HTTP API 统一使用 /dsh-sticky-notes/* 前缀,避免接口冲突。
  • 弹窗样式通过独立的 dsh-sticky-notes-modal 类名控制,不污染全局样式。
  • 通过 ctx.slots.inject(...) 注册,不依赖插件加载顺序。

为什么是多张便签

一个工作区会积累很多零散想法:待办、灵感、会议记录、临时代码片段。如果只有一张便签,所有内容会堆在一起,越来越难找。

多张便签更符合「便签」的直觉:

  • 每张便签一个主题。
  • 列表里可以直接看到标题、预览和更新时间。
  • 每个文件独立,方便用 Git 追踪和协作。

安装

从 GitHub 安装

dsh plugin --profile web add github:flyhigao/dsh-sticky-notes

重启 dsh web 后,进入任意会话,在会话头部右侧可以看到便签图标。

本地开发安装

如果你正在本地开发:

  1. 克隆仓库:

    git clone git@github.com:flyhigao/dsh-sticky-notes.git
    
  2. 安装到 Web profile 并重启:

    dsh plugin --profile web add file:/path/to/dsh-sticky-notes
    # 重启 dsh web
    

使用

  1. 打开一个会话。
  2. 点击会话头部右侧的便签图标。
  3. 在弹窗顶部选择工作区:默认选中当前会话工作区,也可以切换到本机其他工作区。
  4. 在弹窗中:
    • 左侧:所选工作区的便签列表。
    • 右侧:标题输入框 + 正文编辑区。
    • 底部:新建、删除、保存。
  5. 切换便签、切换工作区或关闭窗口时,未点击保存的内容也会先自动保存。
  6. 保存后,便签会立即写入所选工作区的 dsh-notes/ 目录。

数据格式

每个便签是一个 Markdown 文件:

<working-directory>/dsh-notes/<note-id>.md

文件内容:

# 便签标题

便签正文…
  • note-id 由插件生成,例如 note-msw19zz2-7gbiyg。
  • 删除便签即删除对应的 .md 文件,没有额外索引。
  • 手工修改或新增 .md 文件后,重新打开便签面板即可看到。

HTTP API

插件自带一组简单的 HTTP 接口,供浏览器端调用:

方法 路径 说明
GET /dsh-sticky-notes/list?workspaceId=<id> 列出当前工作区所有便签
POST /dsh-sticky-notes/save 新建或保存便签
POST /dsh-sticky-notes/delete 删除便签

保存请求体

{
  "workspaceId": "workspace-id",
  "note": {
    "id": "可选,编辑已有便签时传入",
    "title": "便签标题",
    "content": "便签正文"
  }
}

删除请求体

{
  "workspaceId": "workspace-id",
  "id": "note-id"
}

开发

  • 服务端入口:lib/index.js
  • 浏览器端入口:client/client.js
  • 插件 manifest:cordis.patch.yml

当前版本为手工维护的轻量实现,不需要额外构建步骤。client/client.js 是 DSH 客户端模块加载器可直接加载的 CJS bundle。

许可证

MIT

← 上一个 Prev dsh-eteams 下一个 Next dsh-ui-skin-switcher →