修复 CAD 导入链路并自动维护技能台账
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/24 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add L050110/dsh-vx-workbench该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · vision
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 11 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 80 处,展示前 42 条)
- 执行外部命令来自配置/变量index.js:55
execFile(cmd, args, { timeout, windowsHide: true }, (err, stdout) => { - 读取本地文件index.js:68
const buf = readFileSync(HOOPS_DLL); - 读取本地文件index.js:90
return createHash('sha256').update(readFileSync(path)).digest('hex').toUpperCase(); - 读取本地文件index.js:98
const s = statSync(path); - 读取本地文件index.js:107
const rows = readFileSync(path, 'utf8') - 读取本地文件index.js:128
for (const name of readdirSync(dir)) { - 读取本地文件index.js:147
return readFileSync(join(HERE, 'docs', 'logic.md'), 'utf8'); - 写入本地文件index.js:212
if (!existsSync(dir)) mkdirSync(dir, { recursive: true }); - 写入本地文件index.js:213
writeFileSync( - 写入本地文件index.js:309
if (!existsSync(dir)) mkdirSync(dir, { recursive: true }); - 写入本地文件index.js:310
writeFileSync(join(dir, 'skills.json'), JSON.stringify(state, null, 2), 'utf8'); - 写入本地文件index.js:315
writeFileSync(state.ledgerPath, renderLedger(state, view), 'utf8'); - 写入本地文件index.js:384
if (!existsSync(dir)) mkdirSync(dir, { recursive: true }); - 执行外部命令固定命令index.js:746
const child = execFile( - 执行外部命令固定命令index.js:762
? execFile('explorer.exe', ['/select,', path], { windowsHide: false, detached: true }, () => {}) - 执行外部命令固定命令index.js:763
: execFile('explorer.exe', [path], { windowsHide: false, detached: true }, () => {}); - 发起网络请求client.js:97
fetch('/vxwb') - 发起网络请求client.js:114
return fetch('/vxwb', { - 发起网络请求client.js:158
fetch('/vxwb', { - 发起网络请求client.js:364
fetch('/vxwb', { - 写入剪贴板client.js:583
navigator.clipboard.writeText(ov.instruction).then( - 写入剪贴板client.js:679
navigator.clipboard.writeText(skWriteHint).then( - 读取本地文件lib/skills.mjs:19
const s = statSync(path); - 读取本地文件lib/skills.mjs:54
entries = readdirSync(abs, { withFileTypes: true }); - 读取本地文件lib/skills.mjs:79
bytes = readFileSync(file); - 读取本地文件lib/skills.mjs:134
for (const ent of readdirSync(profilesRoot, { withFileTypes: true })) { - 读取本地文件lib/skills.mjs:164
if (!existsSync(root)) { - 读取本地文件lib/skills.mjs:171
entries = readdirSync(root, { withFileTypes: true }); - 读取本地文件lib/ov.mjs:63
if (!existsSync(file)) continue; - 读取本地文件lib/ov.mjs:65
const parsed = parseJsonc(readFileSync(file, 'utf8')); - 发起网络请求lib/ov.mjs:99
const res = await fetch(url, { - 读取本地文件lib/ov.mjs:269
if (!existsSync(path)) return null; - 读取本地文件lib/ov.mjs:271
const raw = JSON.parse(readFileSync(path, 'utf8')); - 读取本地文件lib/patch.mjs:170
if (!existsSync(file)) return { ok: false, error: '找不到文件:' + file }; - 读取本地文件lib/patch.mjs:171
const before = readFileSync(file); - 写入本地文件lib/patch.mjs:182
if (backupPath) copyFileSync(file, backupPath); - 写入本地文件lib/patch.mjs:185
writeFileSync(destination, patched); - 读取本地文件lib/patch.mjs:187
const readBack = readFileSync(destination); - 读取本地文件lib/patch.mjs:204
if (!existsSync(backup)) return { ok: false, error: '找不到备份:' + backup }; - 读取本地文件lib/patch.mjs:205
if (!existsSync(file)) return { ok: false, error: '找不到目标:' + file }; - 读取本地文件lib/patch.mjs:207
const backupState = plan(readFileSync(backup)); - 写入本地文件lib/patch.mjs:211
copyFileSync(backup, file);
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DeepSeek Harness 的可视化 X-Space 工作台:基于签名的 CAD 导入修复、参数化工厂布局、自维护技能台账
README
由 DeepSeek 最新模型翻译生成dsh-vx-workbench
把 Visual X-Space 变成一条命令的车间。 修好 CAD 导入链路,FBX / STEP / STL 直接进;按参数长出产线;再附一份自己维护的技能台账——agent 不再凭记忆猜技能名。
厂区总览
它做什么
- CAD 导入兼容修复 —— 按机器码形状定位判定点(不是死写文件偏移),打补丁、回读校验、原版一键还原。
换一个 build 找不到时,会明确说「此版本未适配」,而不是静默失败。
- 工厂资产面板 —— 列出交付目录里每个 .vcmx(大小、时间、定位按钮)。参数化产线生成在下方路线图里,尚未随本版本提供,这里不把它算进已交付能力。
- 自己维护的技能台账 —— 每 5 分钟给磁盘上每个 SKILL.md 打指纹(有 OpenViking 时连 viking:// 技能一起),重写 docs/skills.md,记录新增/变更/移除;一键把变更通知推进你已开着的会话。
- 技能会自己长 —— 台账把「工作站自己的技能」(.vcmx / CAD / 桥操作)和无关的全局技能分开:后者只登记、不混进来。任何会话都能通过 POST /vxwb {"action":"skill-add",…
展开完整文档(README 剩余 1 节)
dsh-vx-workbench
把 Visual X-Space 变成一条命令的车间。 修好 CAD 导入链路,FBX / STEP / STL 直接进;按参数长出产线;再附一份自己维护的技能台账——agent 不再凭记忆猜技能名。
厂区总览
它做什么
- CAD 导入兼容修复 —— 按机器码形状定位判定点(不是死写文件偏移),打补丁、回读校验、原版一键还原。
换一个 build 找不到时,会明确说「此版本未适配」,而不是静默失败。
- 工厂资产面板 —— 列出交付目录里每个 .vcmx(大小、时间、定位按钮)。参数化产线生成在下方路线图里,尚未随本版本提供,这里不把它算进已交付能力。
- 自己维护的技能台账 —— 每 5 分钟给磁盘上每个 SKILL.md 打指纹(有 OpenViking 时连 viking:// 技能一起),重写 docs/skills.md,记录新增/变更/移除;一键把变更通知推进你已开着的会话。
- 技能会自己长 —— 台账把「工作站自己的技能」(.vcmx / CAD / 桥操作)和无关的全局技能分开:后者只登记、不混进来。任何会话都能通过 POST /vxwb {"action":"skill-add",…} 写新技能;技能坏了不是模型说删就删,而是登记成删除申请等你批准(目录移入 vx-workbench/trash/skills/,可恢复)。无关的全局技能用 {"action":"skill-ignore","all":true} 隐藏,文件一个不动。
| 面板 | 提需求通道 | 车间结果 |
| 面板 | 提需求 | 焊装车间 |
环境要求
| 系统 | Windows(兼容层对接的是 Windows 版 CAD 安装) |
| DSH | >= 0.2.1-rc.2 |
| Visual X-Space | 4.8(其它 build 只识别并报告,不盲改) |
安装
dsh plugin --profile web add dsh-vx-workbench
也可以在插件市场(Plugins → Discover)里点安装。装完若侧栏没出现,重新启用一次 bundle 并刷新页面,入口名是 VX 工作台。
配置
全部走环境变量,代码里不含任何个人路径;没配置时面板显示「未配置」,不会瞎猜目录。
| 变量 | 含义 | 默认 |
| VX_INSTALL_DIR | Visual X-Space 安装目录 | C:\Program Files\HANDI\Visual X-Space 4.8 |
| VX_REPAIR_DIR | 放 install.ps1 / restore.ps1 的目录(可选) | 无 |
| VX_DELIVERY_DIR | 放 .vcmx 布局的目录(可选) | 无 |
| VX_DSH_ROOT | dsh 安装根,仅非 Electron 宿主需要 | 自动 |
改完重启 profile 生效。
能力与权限(如实披露)
| 能力 | 用在哪 |
| fs-read | 读 CAD 程序集定位判定点;扫描各技能根目录的 SKILL.md |
| fs-write | 写台账 docs/skills.md、vx-workbench/.json、log.jsonl,以及 DLL 的原版备份 |
| shell | reg query、tasklist;以及你按下按钮时才执行的 powershell -File install.ps1 / restore.ps1 |
| network | 可选:对本机 OpenViking 服务做一次环回 MCP 调用(${baseUrl}/mcp)。数据不出本机 |
不写你的工程源码、不上传任何东西、不会自己启动 CAD 进程。
数据与隐私
全部落在工作区的 vx-workbench/ 下:status.json(当前快照)、skills.json(技能清单+变更集)、 log.jsonl(追加式工作日志)、requests.jsonl(发给了哪些会话)、ov-skills.json(OpenViking 快照,可选);台账本体在 plugins/vx-workbench/docs/skills.md。无遥测、无统计上报。
兼容修复,一段话说完
CAD 导入路径最后有一段短分支:调一个检查 → 测返回值 → 通过就跳过失败块。本插件用这个分支前后的 15 个字节去定位它(所以代码被重排也认得出),然后把这条分支改成无条件。改前先存原版字节,改后回读校验,一键可还原;特征码找不到或命中多处时停下来报告,不猜。
只扫描,不动文件
node lib/patch.mjs scan "C:\Program Files\HANDI\Visual X-Space 4.8\VisualComponents.HOOPS.dll"
技能台账
- 扫描根:工作区 skills/、工作区 .dsh/skills、~/.dsh/profiles//skills、~/.dsh/skills、dsh 自带 skills。
- 指纹 = sha256(SKILL.md 字节 + 目录内其它文件的形状),改正文、加 references/ 都算变更。
- 首次扫描只建基线,不会把已有技能报成「新增」。
- POST /vxwb {"action":"skills-broadcast","maxAgeHours":168} 把变更通知推进已开着的会话(排队送达:忙的会话当前回合结束再读,闲的会话会被唤醒跑一轮,会烧 token,所以默认不自动)。
OpenViking(可选)
viking:// 是库路径不是文件,所以两条通道:服务在跑时直连 ${baseUrl}/mcp(URL 取自 ~/.openviking/ov.conf 或 OPENVIKING_URL);否则用 agent 推来的快照(POST /vxwb {"action":"ov-ingest","roots":{...}})。状态只会是 live / snapshot / unreachable / unconfigured,不会静默失败。
故障排查
| 现象 | 原因与处理 |
| 面板显示「此版本未适配」 | 特征码没命中你的 build。跑 node lib/patch.mjs scan <dll>,把 sha256 贴到 issue。 |
| 修复后 CAD 仍拒绝导入 | 加载链是第二道门:面板里打开加载链修复,然后重启 CAD。 |
| 面板空白 / 「未就绪」 | Host 半边没加载。重新启用 bundle,再刷新页面。 |
| 台账 0 个技能 | 扫描根下没有 SKILL.md,或非 Electron 宿主下 VX_DSH_ROOT 不对。 |
| 推送没反应 | 消息是排队送达的,看 vx-workbench/log.jsonl 里的投递记录。 |
路线图
- [x] 特征码兼容修复(备份 / 还原 / 回读校验)
- [x] 自维护技能台账 + 会话广播
- [x] OpenViking 目录摄取(直连 + 快照)
- [ ] 参数化产线生成器(线体 / 工位 / 节拍 / 机器人 / AGV)
- [ ] 仿真跑完的节拍与瓶颈报表
- [ ] 模板资产按需下载(不塞进包体)
许可
MIT © 2026 作者预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
L050110/dsh-vx-workbench
修复 CAD 导入链路并自动维护技能台账
相关插件 · 视觉能力
智能体工作台Devin-AXIS/iPolloWork
企业级、本地优先的智能体工作台,面向个人和智能体团队——一个工作区,容纳多个智能体引擎;一套统一体系,管理插件和技能;支…
★ 7,364已汉化DSH
72
开源设计工作台nexu-io/open-design
OpenDesign:首个协作式 AI 设计智能体工作区
★ 105,709已汉化DSH
71.8
GPT 图像提示词库freestylefly/awesome-gpt-image-2
Prompt as Code | GPT Image 2 / 2.5 提示词与案例库,530+ 个案例、20+…
★ 34,534已汉化DSH
71.5
多智能体编码工作区spacering-net/codeg
多智能体协作的 AI 编程工作区:汇总 Claude Code、Codex、OpenCode、Pi、Grok Build 等来源的会话。支持桌面应用、自托管服务器或 Docker。
★ 4,319已汉化DSH
71.5
AI 用量桌面小部件Javis603/token-monitor
EN | 简 | 繁 | KO | JA | PT
★ 3,533已汉化DSH
71.1
架构图生成器tt-a1i/archify
把你想理解、规划或分享的事,变成可以互动的可视化作品。
★ 93,105已汉化DSH
71.1
这是你的仓库?认领条目