Introduction¶
When running multi-round tasks with DSH, a common problem is “doing a lot but not recording it.” The agent’s window for each round is new; previous goals and progress are lost unless persisted to disk, scattering in the conversation, making them easy to lose and prone to re-doing. dsh-goal-board is a plugin designed for this problem: it records goals in a three-layer structure (Project -> Goal -> Item), automatically injects them into the agent each round, and archives them after the agent verifies the output.
The plugin is maintained by Little-Mostima, categorized under “Memory” in the community directory. The current star count is 0, and the version is 0.2.0 (tags started from v0.2.0). Below is an introduction to its positioning, installation method, and key behavioral points.
What is this¶
One-sentence positioning: A goal checklist board shared between you and the agent, saving progress across sessions, and injecting the current actionable items into the agent’s context each round.
It solves the problem of external memory for goals and progress. Here, the “person” (you) is responsible for breaking down goals and checking status, while the “agent” is responsible for claiming, advancing, verifying output, and archiving. The data is not in the plugin repository but in .dsh\goal-board\data.json in the working directory. The plugin reads it into memory on startup and persists changes immediately. Therefore, upgrading or rolling back code does not affect the checklist data.
Core Features¶
-
Three-layer checklist: Project -> Goal -> Item. Specific items hang under goals; items are the actual unit claimed and executed.
-
Injection per round: The server injects the current checklist state to the agent at the start of each conversation round, so it knows what to do and how far it has gone.
-
Claim and Heartbeat Release: After an item is claimed, it carries a heartbeat. If there is no activity for 30 minutes, it is automatically released, and the card returns to “Queued,” requiring no manual intervention. During debugging, you can change this duration using the environment variable
DSH_GOAL_BOARD_TTL_MS. -
Automatic Archiving: After a goal is completed, the agent verifies the output and fills in the output pointer, then archives it and removes it from the checklist.
-
Session Activity Logging: The plugin logs sessions that have been active within the last 2 hours. If a session has no corresponding card during this period, each injection will specifically ask it to “open a card” first to prevent “doing a lot but not recording.”
-
Tombstone Protection: Goals manually deleted leave a tombstone file
.dsh\goal-board\tombstones.json. Every subsequent injection will remind the agent not to rebuild or continue working on these deleted goals.
Installation and Enablement¶
The installation command comes from the official README. Execute directly in DSH, pointing to this repository:
dsh plugin add github:Little-Mostima/dsh-goal-board
After installation, it only takes effect after restarting the desktop client. The checklist data lands in .dsh\goal-board\data.json; data.backup-*.json in the same directory is a backup; uninstalling the plugin will not delete these data files.
If you don’t want to type commands manually, the README provides a command you can send directly to any agent for installation and updates:
Help me install or update the dsh-goal-board plugin:
dsh plugin add github:Little-Mostima/dsh-goal-board(if already installed, run it again to overwrite with the latest version), restart the desktop client after installation, and then tell me where the goal checklist panel is and what the current version number is.
The update method is the same as installation; re-run the same command to overwrite with the latest version, then restart the desktop client. You can check the version number in the version field of package.json or the repository tag (starting from v0.2.0).
Note: The server (index.js) and the panel (client.js) do not support hot reloading; changes to the code also require restarting the desktop client to take effect.
Typical Usage¶
- Run smoke tests. The repository comes with a self-test that uses a temporary
DSH_HOMEto run a fake ctx with 15 assertions and does not touch the real checklist. Execute in the repository root directory:
node smoke.test.mjs
-
Daily workflow. In the desktop client panel, break goals into items. The agent receives the injected checklist at the start of each round, claims items to advance; after completion, the agent verifies the output and archives it. If an item has no heartbeat for 30 minutes after being claimed, it automatically returns to “Queued” to wait for re-claiming.
-
Handling deleted goals. Manually deleted goals leave tombstones. Every subsequent injection will remind the agent not to rebuild these goals, preventing deleted items from being picked up and re-done repeatedly.
Applicable Scenarios and Notes¶
Suitable for scenarios in DSH involving multi-round, multi-task workflows that require tracking goals and progress across sessions, especially when you want goals and outputs to be traceable and don’t want to rely solely on chat memory.
A few things to note:
-
The plugin runs with the permissions of the current DSH process. Before installing, check the source code and license to ensure it doesn’t exceed the capabilities you expect. This plugin’s license is MIT.
-
The checklist data is stored locally in the
.dsh\goal-board\directory. Uninstalling the plugin does not clear it; conversely, upgrading or rolling back code does not affect existing data. -
The plugin’s dependency on
@deepseek-ai/dsh-toolsis an optional peer dependency. The compatible DSH version is declared inpackage.jsonas0.2.1-rc.5(compatible). -
Star count is 0, making it a relatively new community plugin. It is recommended to run the smoke test above and read through the source code before adopting it.
Conclusion¶
The value of dsh-goal-board lies in moving “goals” and “progress” from the conversation to a traceable three-layer checklist that spans sessions, automatically injecting them each round and archiving them upon completion. It relies on local data files and does not support hot reloading, so you need to check the source code yourself before installing.
Directory Page: https://www.skillhub.cn/plugins/Little-Mostima/dsh-goal-board
GitHub: https://github.com/Little-Mostima/dsh-goal-board