In the development workflow of DeepSeek Harness (DSH), TODO, FIXME, and similar markers are often scattered across different files in a code repository, making them difficult to track and organize consistently. This plugin recursively scans local code, converts the markers into a structured list, and provides status management and export capabilities to help Agents and developers manage technical debt.
This is a DeepSeek Harness client plugin maintained by zhaoxuejie. It recursively scans markers (such as TODO, FIXME, etc.) in local project directories, generates a structured list and statistics, supports status management and Markdown export, and displays a “TODO Radar” panel in the sidebar.
Core Features¶
- Recursively scans code markers in local code.
- Generates a structured list and statistics.
- Supports status management (
pending/in_progress/done/ignored). - Exports to Markdown.
- Displays a “TODO Radar” panel in the sidebar.
- Registers 8 tools on the Host side.
Installation and Activation¶
Install it using the official profile bundle format:
dsh plugin --profile <name> add dsh-plugin-todo-scanner
Host-side Tools¶
The plugin registers 8 tools on the Host side for LLM invocation:
todo_scan: Scans code markers in a directory.todo_list: Retrieves the current session list, with support for filtering and sorting.todo_get: Retrieves details of a single entry, including code context.todo_update_status: Updates the status of a single entry.todo_batch_update: Updates statuses in bulk.todo_export: Exports a Markdown task list.todo_stats: Views scan statistics for the current session.todo_clear: Clears the scan results and statuses of the current session.
Typical Usage¶
In Agent interactions, you can operate using the following instructions:
- Scan: Call
todo_scanto scan code markers in the current directory. - View: Call
todo_listto retrieve the list and filter it by status. - Update: Call
todo_update_statusto mark a TODO asdone. - Export: Call
todo_exportto generate a Markdown file.
Configuration and Notes¶
- Security and Isolation: The plugin performs read-only scanning and uses a whitelist together with a system-directory blacklist for protection. Statuses are stored in memory only, isolated by session, and cleared when the plugin is uninstalled.
- Environment Requirements: Node.js >= 20 is required, and only npm is supported.
- Network Restrictions: Panel data is retrieved via local HTTP polling (see the
server.portconfiguration for the port). By default, it listens only on127.0.0.1, requiring the Client and Host to run on the same machine.
Conclusion¶
This plugin addresses the problem of scattered code markers through structured management. It is suitable for DSH users who need to centrally track technical debt during development. Please review the source code and license before installation.