@local/dsh-canvas
DeepSeek Harness project-board plugin: agent-authored .canvas.tsx boards compiled and rendered live in the web GUI, with a host UI kit, action bridge, sidecar state, and agent-readable slices 适合需要智能体生成可视化看板、图表或交互界面的高级开发任务。
Install
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:demxyuanli/dsh-canvasREADME
Read the full README ↗配置项
随包发出的 cordis.patch.yml 默认值如下。
| 键 | 默认 | 含义 |
|---|---|---|
maxSourceBytes | 1048576(1 MB) | 源码字节硬上限,超出报 E_TOO_LARGE |
maxLines | 8000 | 源码行数硬上限 |
maxDataBytes | 4194304(4 MB) | 抽取后 DATA 的 JSON 字节硬上限 |
maxRenderRows | 5000 | 单次渲染行数硬上限;超出截断并显示 showing N of M(渲染期文案,不是编译诊断) |
compileTimeoutMs | 2000 | 单文件编译超时,超出拒绝编译 |
commandWhitelist | [] | runCommand 白名单,默认空 = 全部拒绝;每项 { id, title, command, cwd?, timeoutMs? } |
startTurnCooldownMs | 30000 | 同一画布 + 同一 prompt 的冷却窗口(去重) |
intentHook | true | 是否注册画布意图入口(agent/pre-step):命中时把 intake 指引注入当前步骤 |
intentKeywords | [] | 额外的弱名词,需搭配创建动词才触发;例如 ["风险登记册"] |
intentGuide | — | 用自定义指引替换内建 intake 正文(命中信号行仍会附在末尾) |
补充:
- 软阈值(源码 128 KB / 1500 行 /
DATA512 KB / 单组件 300 行)目前是内建常量,不在 Config 里,只产生W_LARGE_FILE警告;行数截断是渲染期文案,不是诊断。若要可配置,请先改INTERFACE.md再实现(配置面属于冻结接口)。 - 白名单项必须逐字匹配画布请求(按
id或完整command字符串);命令字符串永远取自白名单项,执行经ctx.shell并按调用 Session 的ctx.sandboxPolicy约束。白名单为空返回{ ok: false, code: "unsupported" },未登记返回denied。