DeepSeek Harness 代码学习插件:dsh-coding-plugin

前言

DeepSeek Harness(DSH)的设计理念是“一切皆插件”。在使用过程中,开发者经常需要在对话流中直接执行代码、完成课程关卡或分析代码逻辑。如果频繁切换窗口或使用外部工具,会打断对话的连贯性。dsh-coding-plugin 是一个面向编程学习者的 DSH 动态 Cordis 插件,它通过右侧悬浮窗的方式,将代码编辑器、多语言执行、课程评判与分析功能集成在当前会话中。

插件定位

dsh-coding-plugin 由 Paimonshen 维护,采用 MIT 许可证。它是一个代码学习插件,核心价值在于通过动态 Cordis 插件机制,在 DSH 桌面版客户端中提供悬浮窗编辑、执行与分析能力。

核心功能

右侧悬浮窗
会话内输入 /coding 激活插件,右下角展开 7 页签面板,支持拖拽与八向缩放。

代码执行
支持 Python、JavaScript、TypeScript、PowerShell。打开面板会自动预热解释器,结果以“一体式结果卡”展示,包含状态头(退出码、耗时)及输出体(stdout 与 stderr 同卡展示)。

分析直投对话
点击编辑器页的「📨 分析(发到对话)」按钮,代码内容会作为用户消息进入当前会话,由对话主模型直接输出分析结果。

课程系统与进度追踪
支持导入 JSON 课程包,关卡自动评判(包含/等于/不包含),并提供提示与参考答案。支持记录关卡状态、完成时间、尝试次数,并导出 JSON 或 Markdown 格式的进度与笔记。

模型工具与交互
插件注册了 coding_run、coding_submit、coding_progress、coding_note、coding_lesson、coding_snippet、coding_analyze 7 个工具,允许在对话中直接调用。

安装与启用

插件已发布至 npm,可通过 DSH 插件管理器安装:

dsh plugin add dsh-coding-plugin

安装完成后,在任意会话中输入 /coding 即可激活悬浮窗并查看使用指导。输入 /coding close 可关闭。

典型用法

运行代码
在编辑器页选择语言,编写代码后点击「▶ 运行」。

导入课程
在课程页粘贴 examples/course-sample.json 的内容进行导入,然后在关卡页提交答案。

对话内指令
直接在对话中下达指令,例如“用 python 跑这段代码”、“提交关卡”、“导出进度”、“记笔记”或“分析这段代码”。

注意事项

数据存储
用户数据仅保存在当前工作区的 .dsh-coding/ 目录下(如 state.json、progress.json/md),不会上传至云端。

执行限制
代码执行沿用 DSH 沙箱策略,命令超时时间设为 20 秒。Client 沙箱禁用原生定时器,一律使用 Cordis 的 timer 服务;Host 禁用阻塞的 shell.run。

会话与进程
动态插件在 DSH 进程重启后会丢失,需重新输入 /coding 激活。分析直投对话功能要求目标会话处于运行状态。

环境依赖
--experimental-strip-types 依赖 Node.js 版本大于等于 22.6。源码只允许单引号与反引号,禁止双引号、反斜杠与行注释。

总结

该插件通过悬浮窗的形式,将开发与学习工具无缝嵌入对话流,适合需要频繁调试代码或完成结构化编程课程的场景。更多细节可参考插件目录或源码仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜