Introduction¶
During the development or use of DeepSeek Harness (DSH), it is often necessary to mark key information in a conversation or preserve the thought process. Manual copy-and-paste is not only cumbersome, but it can also easily break context associations. Below is an introduction to dsh-session-notes, which highlights text in the conversation and attaches sticky notes to it. It persists and aggregates this information, solving this pain point.
Plugin Overview¶
dsh-session-notes is an unofficial project that is independently developed and maintained by community member iptton-ai under the MIT license. It uses the CSS Custom Highlight API to implement highlighting without modifying the DOM, and supports sticky note management across three scopes: session, workspace, and global.
Core Features¶
The plugin provides the following core capabilities:
- Highlighting and Annotation: Supports selections that span bold text, inline code, and paragraph boundaries. Click the floating button to add a sticky note, and the selected text will retain persistent highlighting.
- Three Scopes: Notes can belong to “this session”, “current directory”, or “global”. Create, edit, or delete notes in the panel; notes within a scope are visible in the corresponding session.
- Panel Filtering: The right-side panel supports filtering by “All”, “Current Directory”, and “This Session”, and displays real-time counts.
- Send to Editor: Appends the note content and the referenced original text to the current input box, making it easy to continue follow-up questions.
- Self-Healing Highlights: Monitors DOM changes using MutationObserver and performs reconciliation every 5 seconds to ensure highlights persist after re-rendering or pagination.
- Task Notes and Timed Triggers: Supports creating task notes with
next(next action) anddoneWhen(completion condition), or scheduled triggers withdueAt(deadline). The former can generate a new session, while the latter can trigger automatically. - Orphan Prevention: The plugin polls
session/listevery 3 minutes. When the session associated with a task is deleted, it automatically falls back to notification mode and provides a decision card in the panel, avoiding silent failure.
Installation and Enablement¶
Two installation methods are supported: persistent mode and dynamic mode.
Persistent Mode (Recommended)¶
This is the recommended method. The plugin persists after the dsh web process is restarted.
dsh plugin --profile web add github:iptton-ai/dsh-plugin-session-notes
Or use a local path:
git clone https://github.com/iptton-ai/dsh-plugin-session-notes
dsh plugin --profile web add /abs/path/to/dsh-plugin-session-notes
Dynamic Mode¶
No build step is required. The plugin is effective only during the current dsh web process lifecycle.
- Open DSH and use “Creative Mode” or a preset with
cordis_define/cordis_runtools. -
Ask the Agent to install it:
Help me install this plugin: repository https://github.com/iptton-ai/dsh-plugin-session-notes. Use cordis_define to define it (read src/host.js as code.host, src/client.js as code.client, with plugin id prefix snote), then cordis_run to activate and approve.
-
Refresh the page and the plugin will be ready to use.
Configuration Notes¶
- Do not manually insert the
session-notesline intodsh.profile.bundlesincordis.patch.yml
. The plugin’s storage file is located at~/.dsh/storages/session-notes/notes.json.
Usage¶
- Select any sentence in a DSH session message.
- Click the floating 📝 Note button.
- Write a note in the pop-up input box.
- In the right-side panel, switch the filter view (All/Current Directory/This Session) to browse all notes.
- Click a note to view details, and click edit to modify it.
- Select highlighted text and click send to the input box to append the note content to the current input box.
Important Notes¶
- Unofficial Project: This plugin is independently maintained by community members and is not affiliated with DeepSeek official.
- Permission Scope: On the host side, the plugin has
danger-full-accesspermissions only for its own storage file~/.dsh/storages/session-notes/notes.json. It does not touch other paths. - Data Persistence: In persistent mode, data is stored persistently. In dynamic mode, if the
dsh webprocess restarts, you need to rerun the installation command, but the note data on disk is usually preserved.