Monaco 编辑器
使用 Monaco 编辑器和模型驱动的工具生命周期为 DeepSeek Harness 创建和管理沙盒 JavaScript 工具。
项目简介
每个工具还声明它存在哪里: location: 'global':存在共享设置命名空间,所有 workspace 都可用,直到被删除。 location: 'workspace':存在 /workspace-tools/ 下按 workspace 根路径哈希命名的独立文件里,仅对该 workspace 的会话可见(注册进对应 agent 自己的工具作用域)。
代码字段是一个异步函数体 async (args, env) => value: 返回值必须是 JSON 值(string / number / boolean / null / array / 普通对象);undefined 或非 JSON 值会使调用失败。 参数:object 根的 JSON Schema,仅限 harness 子集——type、properties、required、items、enum、const、oneOf、additionalProperties、description、title、default、examples。 全局量:fetch(allowNetwork: false 时被禁)、console、TextEncoder/TextDecoder、URL/URLSearchParams、atob/btoa、structuredClone、AbortController、setTimeout/setInterval 及 clear 函数。env 为 { tool, scope }。workspace 作用域额外有 fs。 配置
所有可调参数均为 cordis.yml 里 dsh-custom-tool 条目的 config 字段: 字段 · 默认值 · 含义 字段: timeoutMs · 默认值: 30000 · 含义: 单次调用的墙钟预算(毫秒) 字段: memoryLimitMb · 默认值: 128 · 含义: 单次调用的 worker 老年代堆上限(MB) 字段: maxResultChars · 默认值: 16000 · 含义: 结果渲染文本的字符预算 字段: maxCodeBytes · 默认值: 65536 · 含义: 单个工具代码的 UTF-8 字节预算 字段: maxTools · 默认值: 100 · 含义: 可存储的工具数上限 字段: allowNetwork · 默认值: true · 含义: 是否允许工具代码调用 fetch 开发