Preface¶
The design philosophy of DeepSeek Harness (DSH) is “everything is a plugin”. In practice, developers often need to execute code directly within the conversation flow, complete course levels, or analyze code logic. Frequently switching windows or using external tools can interrupt the continuity of the conversation. dsh-coding-plugin is a dynamic Cordis plugin for programming learners. It integrates the code editor, multi-language execution, and course evaluation and analysis into the current session through a right-side floating window.
Plugin Positioning¶
dsh-coding-plugin is maintained by Paimonshen and is licensed under the MIT License. It is a code learning plugin. Its core value lies in providing floating-window editing, execution, and analysis capabilities in the DSH desktop client through the dynamic Cordis plugin mechanism.
Core Features¶
Right-side Floating Window
Type /coding in a conversation to activate the plugin. A 7-tab panel expands in the bottom-right corner and supports dragging and eight-direction resizing.
Code Execution
Supports Python, JavaScript, TypeScript, PowerShell. Opening the panel automatically warms up the interpreter. Results are displayed as a “unified result card,” including a status header (exit code and elapsed time) and an output body (stdout and stderr displayed in the same card).
Direct Analysis to the Conversation
Click the “📨 Analyze (send to conversation)” button on the editor tab. The code content is inserted into the current conversation as a user message, and the main conversation model directly outputs the analysis result.
Course System and Progress Tracking
Supports importing JSON course packs. Levels are automatically evaluated (contains/equals/does not contain), with hints and reference answers provided. It records level status, completion time, and attempt count, and supports exporting progress and notes in JSON or Markdown format.
Model Tools and Interaction
The plugin registers 7 tools: coding_run, coding_submit, coding_progress, coding_note, coding_lesson, coding_snippet, and coding_analyze, allowing direct invocation within the conversation.
Installation and Activation¶
The plugin is published on npm and can be installed via the DSH plugin manager:
dsh plugin add dsh-coding-plugin
After installation, type /coding in any conversation to activate the floating window and view usage guidance. Type /coding close to close it.
Typical Usage¶
Run Code
On the editor tab, select a language. After writing code, click “▶ Run”.
Import a Course
On the course tab, paste the contents of examples/course-sample.json to import it, then submit answers on the level tab.
In-conversation Commands
Issue commands directly in the conversation, such as “run this code in Python,” “submit the level,” “export progress,” “take notes,” or “analyze this code.”
Important Notes¶
Data Storage
User data is stored only in the .dsh-coding/ directory of the current workspace (e.g., state.json, progress.json/md) and is not uploaded to the cloud.
Execution Limits
Code execution follows the DSH sandbox policy. The command timeout is set to 20 seconds. The Client sandbox disables native timers and always uses Cordis’ timer service; Host disables blocking shell.run.
Sessions and Processes
Dynamic plugins are lost after a DSH process restart and must be reactivated by typing /coding. The direct analysis to conversation feature requires the target conversation to be running.
Environment Dependencies
--experimental-strip-types requires Node.js version 22.6 or later. Source code allows only single quotes and backticks; double quotes, backslashes, and line comments are prohibited.
Summary¶
This plugin embeds development and learning tools into the conversation flow using a floating window, making it suitable for scenarios that require frequent code debugging or completion of structured programming courses. For more details, refer to the plugin directory or source code repository.