dsh-custom-tool

@omdsh-dev · 工具与能力
检测有风险提示无安装脚本

在设置页用 Monaco 编辑器创建沙箱化 JavaScript 自定义工具,模型也可自行创建和管理这些工具。

v0.1.2版本
GitHub 源码安装安装方式
2026-08-16最近更新
24Star
dsh plugin --profile web add github:omdsh-dev/dsh-custom-tool查看仓库

插件介绍

根据仓库资料整理 · commit 7cb9564

主要功能

  • 设置页提供「Custom Tool」板块,可列表查看、创建、编辑、启用/禁用、删除工具,模型创建和工作区专属工具会有标记。
  • 内置 Monaco(VS Code 内核)编辑器,参数按 JSON Schema 生成 TypeScript 类型提示与实时诊断。
  • 工具保存在设置存储中,启用即时热注册进 ctx.tools,禁用/删除立即注销,系统提示会自动汇总工具 schema。
  • 模型可通过 custom_tool_create / custom_tools_list / custom_tool_remove 自行创建、查询、删除工具,校验规则与设置 UI 一致。
  • 每个工具在独立 worker 线程的 node:vm 沙箱中执行,限制网络/文件系统/子进程权限,并设有超时、内存和代码大小等执行预算。
  • 工具分 global 与 workspace 两种执行作用域及存储位置:workspace 作用域可访问受限于会话工作区根目录的文件系统。

适合什么时候用

  • 希望不写 harness 插件包,就能在 UI 里为 Agent 添加自定义能力(如调用某个 API、处理文本)。
  • 希望模型在会话中根据需要自行创建、复用或清理一次性/重复性的小工具。
  • 需要一个针对工作区内文件的可复用小工具(如 PDF 阅读器),且要求文件访问被限制在工作区目录内。

安装后会多出什么

界面设置页「Custom Tool」板块(含独立导航图标) · Monaco 工具代码编辑器(含 TypeScript 智能提示)
Agent 工具custom_tool_createcustom_tool_removecustom_tools_list

使用前需要

  • 宿主 harness 需在 WEB_SETTINGS_NAMESPACES 白名单中包含 'custom-tools'(上游 commit d6ea05b5 已添加),否则设置无法保存。
  • 依赖多个 DSH 客户端/服务端包:@deepseek-ai/cordis、dsh-settings、dsh-tools、dsh-system-prompt、dsh-client-runtime、dsh-client-ui-settings、dsh-client-ui-slots、dsh-client-locale。
  • 面向 web 平台客户端(client.platform: web),需通过 dsh plugin 安装并重启 dsh web 服务生效。

在 GitHub 阅读完整 README

权限与能力

安装后它能碰到什么
不覆盖任何 dsh-base 宿主行:不接管沙箱、审批、凭据等能力。
宿主能力
Agent 控制浏览器 UI环境变量文件系统外部网络宿主子进程遥测
能力是范围不是结论:很多能力是功能所需。

基本信息

仓库omdsh-dev/dsh-custom-tool安装方式GitHub 源码安装(需 allowBuilds)安装提示源码安装会在你的机器上执行 prepare 构建,需要 allowBuilds 授权;建议用 github:omdsh-dev/dsh-custom-tool#7cb9564 锁定本次检测的 commit。收录日期2026-08-13固定 commit7cb95649dca9 · 2026-08-16
dsh plugin --profile web add github:omdsh-dev/dsh-custom-tool