只读 CAD 工具:查看、提取 DWG/DXF 图纸,导出 SVG/PNG 预览或转换 DXF。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-cad-plugin
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:roymina/dsh-cad
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
面向 DeepSeek Harness 的只读 DWG/DXF 工具集:查看、提取和导出 CAD 图纸——支持 SVG/PNG 预览与 DWG→DXF 转换,全程不修改输入文件。
- 三个原生工具 ——
cad_inspect、cad_extract、cad_export。 - 只读设计 —— 源图纸永不被编辑;输出写入独立目录。
- 资源受控 —— 文件大小、实体、顶点、图像与输出字节数均有限额,并带 Worker 线程隔离与硬超时。
- 往返校验 —— DXF 输出会被重新打开,核对文字、实体类型与图层;严重不一致时返回
CONVERSION_VALIDATION_FAILED。
安装
在 dsh-market 插件市场中打开市场,找到 dsh-cad-plugin 并点击安装。也可以从命令行按名称安装:
dsh plugin --profile <你的-profile> add dsh-cad-plugin
从本地目录安装(开发用):
dsh plugin --profile dshcadtest add .
dsh --profile dshcadtest --dump-config
使用方法
安装后,三个 CAD 工具即可被模型调用。把 .dwg 或 .dxf 文件放到该 profile 的工作区(会话工作目录)里,直接用自然语言提问即可——模型会自动解析文件路径并调用对应工具:
「查看
plan.dwg,总结它的图层和块。」 「把./drawings/floorplan.dxf里的所有文字提取为 CSV。」 「把plan.dwg导出 SVG 预览(Model 布局,白色背景)。」
路径可以是绝对路径(C:\drawings\plan.dwg),也可以是相对工作区的相对路径(plan.dwg、./plan.dwg)。
关于附件: DeepSeek Harness Web 输入框的附件按钮目前仅支持图片。处理 CAD 文件时请用路径或文件名引用(如上所示),而不是把文件当附件上传。
工具
| 工具 | 用途 |
|---|---|
cad_inspect |
图纸元数据、单位、边界、图层、块与实体统计。 |
cad_extract |
提取文字、图层、块或实体;可选输出 JSON/CSV 报告。 |
cad_export |
导出 SVG 或 PNG 预览,或转换 DXF。 |
所有工具都返回 JSON:成功结果,或 { ok:false, error:{ code, message, details } }。
参数
cad_inspect——path(必填)。cad_extract——path、section(texts|layers|blocks|entities,必填);可选layers、entityTypes、limit、offset、search、handle、window、nearest、summary、saveAs(json|csv)、outputName。cad_export——path、format(svg|png|dxf,必填);可选layers、layout、width、height、background、outputName。
示例
{"path":"./plan.dwg"}
cad_inspect 返回版本/单位对象、Header 与实际边界、图层标志、模型空间/图纸空间与块统计、资源计数,以及有上限的警告摘要。
{"path":"./plan.dwg","section":"texts","limit":200,"saveAs":"csv","bom":true}
cad_extract 支持 texts、layers、blocks 和 entities;过滤与限额在返回记录前生效。CSV 中以 =、+、-、@ 开头的单元格会做公式注入防护。
{"path":"./plan.dwg","format":"svg","layout":"Model","background":"#ffffff"}
cad_export 支持 SVG、PNG 与经校验的 Unicode 二进制 DXF。SVG/PNG 结果包含输出字节数、SHA-256、边界、源/展开/渲染/跳过计数、不支持类型计数与预览完整度。DXF 转换会重新打开输出并比对文字、实体类型与图层;严重不一致返回 CONVERSION_VALIDATION_FAILED。
配置
所有配置项均为可选;未覆盖时采用下列默认值。
| 配置项 | 默认值 | 含义 |
|---|---|---|
outputDir |
./cad-output |
导出报告与预览的输出目录。 |
maxFileSizeMB |
50 |
输入文件大小上限。 |
maxEntities |
200000 |
解析实体数量上限。 |
maxExtractItems |
500 |
提取记录的默认条数上限。 |
maxImageDimension |
8192 |
PNG 宽/高像素上限。 |
maxImagePixels |
64000000 |
PNG 总像素上限。 |
maxWarningSamples |
50 |
每次返回的警告样例数。 |
maxBlockDepth |
16 |
嵌套块展开最大深度。 |
maxBlockInstances |
10000 |
展开块实例上限。 |
maxConcurrent |
2 |
最大并发 CAD 任务数。 |
maxWorkerTimeMs |
30000 |
Worker 隔离解析/渲染的硬超时。 |
maxSvgBytes |
20000000 |
SVG 输出字节上限。 |
maxCsvBytes |
20000000 |
CSV 输出字节上限。 |
maxTextLength |
1000000 |
单条文字长度上限。 |
maxTotalVertices |
5000000 |
总顶点数上限。 |
maxEntityVertices |
500000 |
单实体顶点数上限。 |
allowedInputRoots |
(未设置) | 可选输入根目录白名单;设置后,根目录之外的路径返回 INPUT_OUTSIDE_ALLOWED_ROOTS。 |
输出与输入相互隔离,已有文件永不被覆盖。
错误码
输入与访问 —— FILE_NOT_FOUND、PERMISSION_DENIED、NOT_A_FILE、READ_FAILED、UNSUPPORTED_FORMAT、INPUT_OUTSIDE_ALLOWED_ROOTS。
限额 —— FILE_TOO_LARGE、ENTITY_LIMIT_EXCEEDED、TEXT_LIMIT_EXCEEDED、GEOMETRY_LIMIT_EXCEEDED、RENDER_LIMIT_EXCEEDED、OUTPUT_LIMIT_EXCEEDED、OUTPUT_EXISTS。
参数与解析 —— INVALID_ARGUMENT、LAYOUT_NOT_FOUND、PARSE_FAILED。
转换与导出 —— CONVERSION_FAILED、CONVERSION_VALIDATION_FAILED、EXPORT_FAILED、OUTPUT_FAILED。
运行时 —— CANCELLED、TIMEOUT。
预览保真度
SVG/PNG 预览支持直线、圆、圆弧、椭圆、样条、填充、折线(含闭合/凸度路径)、文字/MText/属性、带嵌套变换与阵列的插入块、点、实体(solid)与引线。光栅图像、区域覆盖(wipeout)、网格与不支持的代理实体会在 unsupportedEntityTypes 中显式列出。图纸空间通过 layout 选择;默认为 Model。
许可证
链接
同类插件
Tencent/WeKnora#dsh-weknora★ 33809
把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己带引用的 RAG 或 ReAct agent 回答(含可续聊的 session id)。
superdesigndev/treg★ 5266
给 Agent 的工具目录:按「要做的事」检索约 2,600 个外部接口(SEO 与 SERP、外链、社交、人物与公司信息补全、广告库、抓取),查看参数与单次调用价格后直接调用,凭据由服务端注入。附带技能,MCP 行在未设置 TREG_TOKEN 前保持禁用。
TencentCloudBase/CloudBase-AI-Toolkit#dsh-plugin★ 1136
把腾讯云 CloudBase 后端接入 DeepSeek Harness——在对话里搭好并部署全栈应用,查询结果渲染为表格卡片(分页、排序、导出 CSV),部署后可预览真实域名,并提供 CloudBase MCP 工具集(`mcp__cloudbase__*`),登录走 device-code 流程。
gitroomhq/postiz-agent#dsh-postiz★ 515
通过 MCP 将 DeepSeek Harness 连接到 Postiz:列出已连接的社交媒体渠道、获取各平台发帖规则,并向 X、LinkedIn、Instagram、Facebook、Threads、TikTok、YouTube、Reddit、Bluesky、Mastodon、Discord、Slack、Telegram 等平台排期、存草稿或发布帖子;附带 postiz 工作流技能。
EthanYoQ/Invoice-Downloader#dsh-invoice-downloader★ 507
面向 DeepSeek Harness 的本地 IMAP 发票下载、OCR 识别、归档与 Excel 报销汇总。
anysearch-team/anysearch-dsh★ 460
基于 AnySearch 的实时网页与垂直搜索插件,为 DeepSeek Harness 提供搜索工具。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。