dsh-custom-js:在 DeepSeek Harness 中管理可信的 JavaScript / TypeScript 脚本

前言

DeepSeek Harness (DSH) 采用了「一切皆插件」的架构。在开发或使用过程中,你可能会遇到需要自定义界面、添加快捷键或实现特定工具逻辑的场景。直接修改核心代码或依赖不可靠的方案并不安全。

dsh-custom-js 插件提供了一个集中的环境,用于加载、编辑和管理可信的 JavaScript 和 TypeScript 用户脚本。它解决了在 DSH Web GUI 中缺乏统一脚本管理工具的问题,允许你通过编写脚本来自定义界面和功能。

核心功能

1. 内置编辑器与类型支持
插件内置了基于 CodeMirror 的编辑器,提供 JavaScript / TypeScript 语法高亮、行号、括号匹配和代码导航。支持 JavaScript、MJS 和 TypeScript 文件格式。

2. 热重载与生命周期管理
支持脚本的热重载功能,修改代码后可自动生效。提供显式保存机制,防止在编辑过程中执行未完成的代码。内置 TypeScript ES2022 模块转译和生命周期管理。

3. 安全导入与状态控制
默认采用安全导入策略,新导入的脚本默认处于禁用状态,需手动检查并启用。支持按脚本启用/禁用,并在脚本运行出错时提供上下文重试功能。

安装与启用

安装命令如下(请将 <profile> 替换为你的配置文件名,例如 web):

dsh plugin --profile <profile> add dsh-custom-js

安装完成后,必须重启 DSH 进程才能使插件生效。重启后,进入 Settings → General → Custom JavaScript / TypeScript 即可看到管理界面。

典型用法

  1. 打开 Settings → General → Custom JavaScript / TypeScript。
  2. 创建一个名为 hello.js 的脚本,并粘贴以下代码:
    console.log('Hello from dsh-custom-js')
  1. 保存脚本。如果开启了自动重载,Host 会检测到变化并通知 Client 加载新脚本。

你也可以直接在 $DSH_HOME/custom-js/ 目录下创建文件,插件会自动扫描该目录。

适用场景与注意

适用场景
适合需要在不修改 DSH 核心代码的情况下,通过脚本自定义 Web GUI 界面、添加辅助工具或扩展功能的开发者。

重要注意
* 权限范围:用户脚本运行在浏览器端,拥有当前页面的权限(如 DOM 操作、localStorage、网络请求等),并非沙箱隔离。请仅加载你自己编写或完全信任的代码。
* 兼容性:插件兼容 DSH >=0.2.0-rc.1 <0.3.0-0 版本。
* 恢复机制:如果某个脚本导致 Web GUI 崩溃,可以通过停止 DSH,将 $DSH_HOME/custom-js/ 目录下有问题的文件重命名(例如加上 .disabled 后缀),然后重新启动 DSH 来禁用该脚本。

结尾

dsh-custom-js 让你能够安全地在 DSH 中扩展功能。更多细节请参考 GitHub 仓库。

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

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

小夜