Preface¶
When writing code or revising plans using DeepSeek Harness (dsh), there are often things that pop up in the conversation window that should not be sent to the model immediately: an unrefined idea, a comment on a previous response, or a TODO item to handle later. If you stuff these contents into the current input box, they will be sent away with the next message; if you switch to an external note-taking app, you will have to leave the ongoing session.
The official repository deepseek-ai/deepseek-harness summarizes Harness as Everything is a plugin: interface slots can also be taken over by third-party packages. The community directory DeepSeek Harness Plugin Library collects a number of such plugins, which is an independent site and has no official affiliation with DeepSeek / FunPropeller, and should not be regarded as an official app store.
dsh-sticky-note fills this gap on the input bar side. It adds a sticky note button to the edit box toolbar. After clicking it, you can jot down notes categorized by idea / comment / TODO, and the content is saved as Markdown files. The history list and archive are both in the same panel. This article is collated after cross-checking with the directory details page, the GitHub repository README / package.json / lib/index.js / lib/client.js, and the upstream official repository.
What is this¶
dsh-sticky-note is a tool and capability plugin for the DeepSeek Harness Web client, maintained by Meredith2328. The repository Meredith2328/dsh-sticky-note uses the MIT license, and the main language is JavaScript. The version number in package.json is 0.2.1. The current star count on the GitHub repository is 9 (the directory page still shows 6, please refer to the repository page for accuracy). The GitHub topics are marked as dsh-plugin and dsh-external.
The problem it solves is very specific: keep temporary notes within the DSH interface, instead of mixing them into the conversation, and without having to open a separate note-taking app. Both the directory page and the repository description refer to it as a “bottom-left sticky note”; the client actually injects the button into the conversation.input.left input slot on the left side of the input bar, and clicking it pops up the sticky note panel.
The plugin is split into two parts: the Host side is responsible for reading/writing disks and regular cleanup; the Web side is responsible for the panel, keyboard shortcuts, and settings page. cordis.patch.yml will install both the Host and Web parts of the same-named package into the current profile.
Core Features¶
The following capabilities are from the repository README and cross-checked against the Host / client source code.
Quick Jotting and Auto-Save¶
There is a sticky note button on the edit bar toolbar (with aria-label “Open Sticky Notes”). You can write Markdown directly in the popped-up panel. The auto-save interval can be set to 10 seconds / 1 minute / 5 minutes, or turned off (interval set to 0). Pressing Ctrl+S will save immediately. Empty content will not be written to a file.
The default root directory is $DSH_HOME/sticky-notes (if DSH_HOME is not set, it defaults to ~/.dsh/sticky-notes). Files are named with timestamps, for example 20260818-153045.md; if the category is TODO, a -todo suffix will be added. The same draft will overwrite the same file if the category remains unchanged, and a new file will only be created when switching categories or clicking “New”.
Three Categories, Sending, and History List¶
Sticky notes are divided into three categories: Idea / Comment / TODO, with shortcuts Ctrl+Shift+1/2/3 to switch. The default category is “Idea”.
After finishing writing, you can send the content to the current conversation in two ways:
- send: Send directly (default)
- append: Append to the end of the input box
The history section is a grouped list that can be expanded and collapsed. The client’s help text states: clicking an item will reveal the send button, double-clicking to view the content. The archive group can move items back to their original category directory. Historical sticky notes support secondary editing and saving; if you edit the corresponding .md file with an external editor, the view will refresh.
Retention, Auto-Cleanup, and Recycle Bin¶
Each sticky note can be marked as “retained” (pin icon). Auto-cleanup counts the age based on the last modified time of the file. Entries that are not marked as retained and have expired will first be moved to the “cleaned” directory, rather than being deleted immediately. The cleanup cycle can be set to 1 / 3 / 7 days, set to 0 to disable auto-cleanup; the default is 7 days. Items in the recycle bin will be permanently deleted after another 30 days.
The Host runs a cleanup once when it starts, and then once every hour thereafter, regardless of whether the user has opened the history list. A commit on 2026-08-16 fixed a regression: the retention mark identifies the identity by “category + original filename”, so archived and restored items are still exempt from cleanup.
Markdown, Themes, and Settings¶
Switch between edit and preview modes with Ctrl+Shift+V. The README states that it supports tables, task lists, strikethrough, and images. The color scheme follows the DSH theme variables, switching between light and dark modes together.
The settings entry is located at Settings → Plugins → Sticky Notes. Configurable items include: storage path, save interval, cleanup cycle, default category, sending method, and view mode (inline to view the full text in the panel, file to open the file with the system default program). The configuration is written to $DSH_HOME/sticky-note-config.json, and the retention list is written to $DSH_HOME/sticky-note-retained.json.
The disk directory structure is as follows:
<root>/
├── 点子/ ← .md files named with timestamps
├── 感想/
├── TODO/
├── 归档/ ← Archived items, filename prefixed with original category name, one-click restore
└── 已清除/ ← Auto-cleanup recycle bin (kept for another 30 days)
Installation and Activation¶
The installation command given on the community directory page is:
dsh plugin add github:Meredith2328/dsh-sticky-note
package.json declares the client platform as web, and the README also requires installing it to the web profile. A more reliable way is to explicitly specify the profile:
dsh plugin --profile web add github:Meredith2328/dsh-sticky-note
For reproducible installations, fix the commit hash as prompted on the directory page. When this article was checked, the latest commit on the repository’s main branch was ebabb6c746b1495c5f077e440d98b6665d7a61b9 (2026-08-16):
dsh plugin --profile web add github:Meredith2328/dsh-sticky-note#ebabb6c746b1495c5f077e440d98b6665d7a61b9
For local development, you can install from the directory as listed in the README:
dsh plugin --profile web add file:/path/to/dsh-sticky-note
The README also mentions dsh plugin --profile web add dsh-sticky-note (without the github: prefix). No package with the same name can be found on the npm registry currently, so this command cannot be used as a published npm installation method; please use the above github:Meredith2328/dsh-sticky-note for installation from GitHub.
After installation, restart DSH (Web or Desktop) as instructed in the README. The upstream CLI documentation states: when pulling source code from Git, pnpm ≥10 may block prepare and other build scripts. If the first add fails, add the package keys from the prompt into that profile’s pnpm-workspace.yaml and retry. This repository publishes the built lib/ directory, so whether this prompt appears depends on your local pnpm behavior.
The security warning on the directory page also applies: the plugin runs with the permissions of the current dsh process, and may execute code during installation. Please check the source code repository and license before installing.
Typical Usage¶
- Start
dsh web(or Desktop) and confirm that the sticky note button appears on the left side of the input bar. - Click the button to open the panel, press
Ctrl+Shift+1/2/3to select “Idea / Comment / TODO”, and write your content. The default auto-save interval is about 10 seconds; pressCtrl+Sto save immediately if you need to store it quickly. - When you need to send this content to the model, use the sending function on the panel: send directly, or append it to the input box first and then revise it yourself.
- Open “History Sticky Notes” to view the grouped list. Double-click to view and continue editing; mark important entries as retained to keep them long-term; archive entries that have been completed, and restore them with one click later.
- Go to Settings → Plugins → Sticky Notes to modify the storage path, save interval, and cleanup cycle. If you want to open files with VS Code / Notepad, change the view mode to
file. There is also an “Open Sticky Notes Folder” on the panel, and the Host will call the system’s default file manager (Windows usesexplorer, macOS usesopen, Linux usesxdg-open).
Common keyboard shortcuts (listed in the README, with corresponding handling in the client source code):
- Esc: Exit layer by layer
- Tab / Shift+Tab: Indent
- Ctrl+S: Save immediately
- Ctrl+Shift+V: Edit / Preview
- Ctrl+Shift+X: Strikethrough
- Ctrl+Shift+T: Task list item
- Ctrl+T: Insert table skeleton
Applicable Scenarios and Notes¶
It is suitable for users who are already using the DSH Web interface and need to jot down “things they don’t want to send to the model yet” nearby. The three-category directories separate ideas, comments, and todos, and the history list plus archive function is suitable for sessions spanning multiple consecutive days on the same machine. It is not a knowledge base, and does not have full-text search or cross-device synchronization; notes are just local Markdown files.
Please pay attention to these boundaries before using:
1. Only declared for Web clients. dsh.client.platform in package.json is web, and it injects @deepseek-ai/dsh-client-ui-slots. Installing it on Headless / TUI profiles will not display this panel.
2. Runs with the permissions of the current dsh process. The Host reads and writes files in the configured root directory, and can also launch the system default program to open files or folders. Before installing, please read lib/index.js, lib/client.js, and the MIT license; do not install plugins from untrusted sources.
3. Auto-cleanup will move files. By default, notes that have not been modified for 7 days and are not marked as retained will be moved to “Cleaned”, and deleted after 30 days. Mark important entries as retained, or set clearAfter to 0.
4. The community directory is not an official store. deepseek-harness-plugin.com has no official affiliation with DeepSeek / FunPropeller. Harness is still in developer preview, and plugins may have incompatible changes with core upgrades. For a reproducible environment, fix the commit hash mentioned above.
Summary¶
dsh-sticky-note embeds a local Markdown sticky note into the input bar of DSH: categorized recording, timed saving, one-click sending to the conversation, and all history and archiving are completed in the panel. It does not replace professional note-taking software, but only fills the gap of “still in the conversation, but the message cannot be sent to the model yet”.
Directory page: https://deepseek-harness-plugin.com/en-US/plugins/dsh-sticky-note/
GitHub: https://github.com/Meredith2328/dsh-sticky-note