前言¶
在 DeepSeek Harness(DSH)里让 agent 改 CAD,常见卡点不是「能不能看懂图」,而是指代对不齐:口头说「这几个孔改大」,agent 不知道是哪几个;截图只有像素,没有 DXF 句柄和世界坐标。社区插件 dsh-corn-cad(目录名 xingyingyuzhui/dsh-corn-cad,维护者 xingyingyuzhui,分类:客户端)把预览、圈选和对话接在一起:你在侧边栏右键拖框,框住的图元、图层、句柄与坐标范围会随指令进入会话,agent 不必猜「你刚才说的那个地方」。
下面介绍它做什么、怎么装、怎么用,以及安装前需要知道的边界。
这是什么¶
玉米 CAD 是 DSH 的文档预览类客户端插件:在工作区文件树打开 .dxf 或 .dwg 后,右侧文档预览标签显示矢量图纸;右键拖框圈选区域,在弹出气泡里写一句话,经 Ctrl/⌘ + Enter 或「发送」交给当前会话的 agent。消息里会带图纸路径、框选说明、选中图元清单、DXF 世界坐标范围,并在图纸同目录写入 .corncad/selection.json,便于 agent 按 handle 精确定位图元。
插件仓库:https://github.com/xingyingyuzhui/dsh-corn-cad
社区目录页:https://www.skillhub.cn/plugins/xingyingyuzhui/dsh-corn-cad
README 写明已在 DSH 0.2.1-rc.3 上实测;宿主侧依赖 DSH 内部的文档预览注册、侧边栏 slot、/api 通道与会话作用域下的 conversation.send() 等接缝,官方无兼容承诺,升级 DSH 后若气泡发不出去,需优先检查是否在 session scope 内发送。
核心功能¶
看图¶
| 操作 | 行为 |
|---|---|
| 拖拽 | 平移 |
| Ctrl/⌘ + 滚轮 | 缩放 |
工具栏 − + 适应宽度 |
缩放控制 |
.dxf 由零依赖渲染器解析;.dwg 依赖包内 @mlightcad/libredwg-web(GPL-3.0,约 12 MB,可离线安装)。中文图纸按 $DWGCODEPAGE 等规则解码;R2007+ 按 UTF-8 处理。
圈选(画板)¶
左键拖动平移、单击选中图元、Shift + 单击追加选择;右键拖框圈选并弹出指令气泡;Shift + 左键拖框只圈选不弹气泡。工具栏「区域 / 图元」切换框选粒度:
| 模式 | 语义 |
|---|---|
| 区域(默认) | 穿过框的图元被选中,并记录框内那一段折线(inBand);适合改局部细节 |
| 图元 | 框到的图元整体选中,覆盖率不足的不选 |
README 说明两种模式都不用简单包围盒相交判定,以免图框、表格线在小框时被整段误选。区域模式下交给 agent 的消息会标明框选模式,长线不会被默认整条重写。
气泡 → agent¶
松手后气泡出现在指针位置。进入对话的消息示例(格式见 README)包含文件名、绝对路径、框选修改内容、选中图元类型与句柄、世界坐标范围,以及 selection.json 路径。同目录 JSON 记录 instruction、picks(含 layer、handle、bbox 等),agent 可直接读文件改图。
让 agent 改 DXF(可选能力)¶
除预览与圈选外,README 描述 agent 可通过 corncad_edit 列出图元并按句柄做结构化编辑(如 radius、text、move、layer、color、delete),写入前自动 .bak 备份,原子替换文件;DSH 文档预览 autoRefresh 默认开启时会刷新侧边栏。约束包括:只改 .dwg 需先导出 DXF、单文件超过 64 MB 拒绝编辑、任一条编辑失败则整文件不写。编辑依赖 Python 包 ezdxf;未安装时预览仍可用,编辑返回 NO_EZDXF。可通过 CORNCAD_PYTHON 指定解释器,优先使用 DSH 自带 Python 运行时。
安装与启用¶
先安装 DeepSeek Harness 桌面端。插件以当前 DSH profile 的进程权限运行,安装前应自行查看仓库源码与 MIT 许可证(DWG 解码组件见 THIRD-PARTY.md)。
方式一 · 插件页(推荐)
侧栏 插件 → 添加插件,填 https://github.com/xingyingyuzhui/dsh-corn-cad → 安装 → 启用。安装后重启 DeepSeek Harness(宿主半边为进程级模块)。
方式二 · 命令行
dsh plugin --profile <profile> add https://github.com/xingyingyuzhui/dsh-corn-cad
离线 / 受限网络(仅 .dwg 需要 vendor)
node tools/install-vendor.mjs --profile <profile>
(在插件包目录内执行;README 说明插件管理器无法联网时使用。)
停用可在 profile 的 cordis.patch.yml 中将 corn-cad 设为 disabled: true;卸载:
dsh plugin --profile <profile> remove dsh-corn-cad
主题(须成对修改,否则线条可能与背景同色不可见):
- id: corn-cad
config:
background: "#000000"
foreground: "#ffffff"
典型用法¶
- 在文件树点开
.dxf(或已装好 DWG 依赖的.dwg)。 - 右侧出现图纸与工具栏,底部显示图元总数。
- 右键拖框 → 选中图元高亮 → 气泡弹出,例如写「这几根线改成黑色」。
Ctrl/⌘ + Enter发送;agent 收到带路径、句柄与坐标范围的完整消息,并可读取.corncad/selection.json。
自然语言改图示例(README):「把 165,105 那个孔改成直径 16」「标题改成『底板 240x160』」「这两个孔往右移 5mm」——由 agent 调用工具链完成定位与写入。
适用场景与注意事项¶
适合:在 DSH 里频繁对照 DXF/DWG、需要把「图上这一块」和文字指令绑在一起交给 agent 的开发者或 CAD 协作场景;中文工程图、局部改线型/图层/尺寸等需句柄级指代的任务。
需要心里有数:
| 项 | 说明 |
|---|---|
| 渲染限制 | MULTILEADER 不渲染;HATCH 只画边界;部分图元类型清单外静默忽略 |
| 框选 | 图元模式下覆盖不足 50% 不选中;文字外框为估算 |
| 视图 | 不保存视图状态,重开文件回到适应宽度 |
| 依赖 | Node >=20;DWG 用 GPL-3.0 的 libredwg-web;编辑用 ezdxf |
| 生态 | DSH 强调「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系 |
仓库提供纯 Node 自检:node test/selfcheck.mjs,通过时输出 46/46 checks passed。
结尾¶
dsh-corn-cad 把 CAD 对话里最难的对齐步骤落到可复现的数据上:预览、右键圈选、结构化选中集与可选的 DXF 编辑闭环。若要安装或看更新说明,可访问 SkillHub 目录页 与 GitHub 仓库。