跳到正文

HuanLinOTO/dsh-plugin-interpreters

60最近提交 2026年8月15日

dsh-plugin-interpreters DSH 插件

该插件暴露两个模型可调用的工具:run_python 和 run_node。用户可通过设置页的配置卡片设定 Python 和 Node.js 解释器路径,工具描述会动态反映解释器位置。代码通过 spawn 解释器并传入 stdin 执行,捕获 stdout、stderr 和退出码。

如何安装 dsh-plugin-interpreters DSH 插件

dsh plugin --profile web add @huanlin/dsh-plugin-interpreters

复制不会执行命令。安装 dsh-plugin-interpreters DSH 插件前请核对仓库和版本。

dsh-plugin-interpreters DSH 插件数据来源

dsh-plugin-interpreters DSH 插件快照日期:2026年8月16日

discovered

dsh-plugin-interpreters DSH 插件能做什么

  • 提供 run_python 和 run_node 工具,通过 stdin 执行代码并返回 stdout、stderr 和退出码。
  • 在设置页「插件配置」分区提供配置卡片,用于设置 Python 和 Node.js 可执行文件路径。
  • 支持可配置的执行超时(默认 30000 毫秒)。
  • 工具描述会根据配置的解释器路径动态更新。
  • 配置持久化到 $DSH_HOME/settings.yaml 文件中。

dsh-plugin-interpreters DSH 插件适合哪些场景

  • 在 DSH 对话中直接运行 Python 代码片段,测试算法或进行数学计算。
  • 在 DSH 环境中执行 Node.js 脚本,用于原型测试或数据处理。
  • 将代码执行作为工作流的一部分,由模型调用 run_python 或 run_node 自动完成。
  • 无需离开 DSH 界面即可交互式地验证代码输出和错误信息。

dsh-plugin-interpreters DSH 插件适合谁

  • 希望在 DSH 对话中执行 Python 或 Node.js 代码的开发者。
  • 需要快速运行代码片段并在 DSH 界面中直接查看结果的用户。

dsh-plugin-interpreters DSH 插件的限制

  • 仅支持 Python 和 Node.js 解释器,不支持其他语言。
  • 用户需要自行安装 Python 和 Node.js,并正确配置可执行文件路径。
  • 默认执行超时为 30 秒,可通过设置调整,但无法按请求单独设置。
  • 代码执行未做沙箱隔离,存在安全风险。

dsh-plugin-interpreters DSH 插件的仓库 README 摘录

以下文字摘自 dsh-plugin-interpreters DSH 插件的上游仓库 HuanLinOTO/dsh-plugin-interpreters 的 README,版权归原作者,仅作引用。

> 📌 本插件已收录于 [dshfind](https://dshfind.com/zh) 插件超市,点击上方徽章直达主页。 # dsh-interpreters [![npm version](https://img.shields.io/npm/v/@huanlin/dsh-plugin-interpreters)](https://www.npmjs.com/package/@huanlin/dsh-plugin-interpreters) DSH 插件:暴露 `run_python` 和 `run_node` 两个模型可调用工具,通过 stdin 执行代码并返回 stdout/stderr/exit code。在设置页「插件配置」分区提供配置卡片,让用户设置 Python 和 Node.js 解释器的可执行文件路径,工具描述中会告知模型解释器位置。 ## 架构 - **工具**:`run_python` / `run_node`,通过 `spawn(executable, ['-'])` 执行代码,代码经 stdin 传入(无命令行长度限制) - **设置持久化**:通过 `ctx.settings` 命名空间 `interpreters` 持久化到 `$DSH_HOME/settings.yaml` - **动态 description**:工具的 `description` 在注册时根据配置计算,包含解释器路径;设置变更时通过 `bridge.onChange()` 自动重新注册 - **配置暴露(TypertRemoteService 模式)**:DSH 的 settings RPC 域(api-proxy)只向配置客户端提供白名单命名空间(`interpreters` 不在其中),所以浏览器通过 host 内置的 typertRemote `/api` RPC 通道读写 `interpreters` 命名空间——`InterpretersConfigGateway` 继承 `TypertRemoteService` 并用 `@Remote('get')` / `@Remote('set')` 标记方法,typertRemote 的 SRC discovery 自动 claim `/api/interpreters/get` 和 `/api/interpreters/set` 端点。gateway 在 host 进程内 in-process 调 `ctx.settings.update(ns, patch)`,绕过 wire-layer allowlist - **客户端 bundle**:配置卡片通过 `settings.plugin.item` slot 注册(「插件配置」分区),卡片用 `connection.rpc.call

阅读完整 README仓库许可: NOASSERTION

dsh-plugin-interpreters DSH 插件常见问题

如何安装 dsh-interpreters 插件?

在终端中运行 `dsh plugin --profile web add @huanlin/dsh-plugin-interpreters` 即可从 npm 安装。确保你已经安装了 DSH 并配置了名为 'web' 的 profile。

除了 Python 和 Node.js,还能运行其他语言吗?

不能,该插件仅支持 Python 和 Node.js 解释器,提供 run_python 和 run_node 两个工具。如果需要其他语言,需要使用其他插件或自行实现。

如何配置 Python 和 Node.js 的路径?

安装插件后,进入 DSH 设置页面,找到「插件配置」分区,你会看到 dsh-interpreters 的配置卡片,可以在其中设置 Python 和 Node.js 可执行文件的路径。修改会持久化到 $DSH_HOME/settings.yaml 文件中。

代码执行超时会发生什么?

默认超时为 30000 毫秒(30 秒)。如果执行时间超过此限制,进程会被终止,工具会返回错误并包含 stderr 输出。你可以在插件设置卡片中调整超时值。

代码执行是否做了沙箱隔离以确保安全?

没有,该插件没有对衍生进程做沙箱或隔离。代码会直接使用你配置的解释器运行。为了安全,请谨慎允许模型执行代码,尤其是运行不受信任的脚本时。