dsh-custom-tool¶
| 类型 | 插件 | 分类 | 开发者工具 |
| 星数 | ⭐23 | 状态 | ✅ 活跃 |
| 能力 | coding, ui | 更新时间 | 2026-08-13 |
📖 项目简介¶
Custom tools for the DeepSeek Harness: users author their own JavaScript tools in the settings UI with a Monaco (VS Code) editor and TypeScript intellisense, and the model grows and prunes the same toolset itself through custom_tool_create / custom_tool_remove / custom_tools_list. Every tool is durable, hot-registered, and written into the model prompt on the next step.
✨ 核心特性¶
- Settings UI (
Custom Toolsection, own nav glyph): list, create, edit, enable/disable, delete. Model-created and workspace-scoped tools - Monaco editor: VS Code engine + TypeScript language service;
argstyped from the parameter schema,env/sandbox globals declared, com - Durable store: tools live in the
custom-toolssettings namespace (schema defaults, composition base, user document — the ordinary sett - Live registration: enabled tools register into
ctx.toolsthe moment the settings write commits; disabled/removed tools unregister imme - Model self-service:
custom_tool_create(upsert by name),custom_tools_list, andcustom_tool_removeshare the UI's validation gate
📦 安装¶
dsh plugin --profile web add https://github.com/omdsh-dev/dsh-custom-tool/archive/refs/heads/main.tar.gz
dsh web # restart the server to pick the plugin up
🚀 快速开始¶
// args is typed from the parameter JSON Schema you declared.
const url = `https://api.example.com/weather?city=${encodeURIComponent(args.city)}`
const response = await fetch(url)
if (!response.ok) throw new Error(`upstream returned ${response.status}`)
return await response.json()