一次装齐西门子博途(TIA Portal)的五项技能(官方文档检索、梯形图生成、SimaticML 转 PNG 渲染、逐扫描仿真与 PASS/FAIL 验收、操作真实工程的本机网关)并接好五个 MCP 端点。操作真实工程需另装付费的 TiaLink(Windows + 博途 V19/V20 + Openness 用户组);四个云端服务需 API Key(各 100 次免费,之后付费;渲染每次计费且失败也扣),且需 Node 22+ 与联网;程序片段会上传到 tia.hubwiz.com。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-tiaforge
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:tia-forge/dsh-tiaforge
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。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
把 TIA Forge 的五个技能和五个 MCP 端点打成一个组合包(bundle): 装一次,DSH 里就有「查文档 → 生成梯形图 → 看图核对 → 跑仿真 → 操作真实工程」这条链。
为什么需要它:DSH 本身支持 skill(
ctx.skills+ 文件系统提供方,扫<project>/.dsh/skills、.agents/skills、~/.dsh/skills), 但没有dsh skill add这类命令 —— skill 只能靠"把文件放到扫描目录"或"插件注册"进来。 这个包用后者:index.js在apply()里读包内skills/*/SKILL.md,直接ctx.skills.register()。 所以你不需要拷文件、也不需要配customSkillDirs。
装
A. 桌面端界面装(推荐,三步)
- 点 DSH 左上角【插件】;
- 输入
dsh-tiaforge; - 点安装 → 完全退出并重开 DSH(MCP 连接是在启动时建立的)。
装完模型侧就能看到 五个技能 + 五个已接入的服务,全程不用开终端、不用改配置文件。
B. 命令行(写脚本、批量装、或 dsh web 里找不到插件入口时)
# 从 npm(预构建,推荐)
dsh plugin --profile web add dsh-tiaforge
# 从 GitHub(本仓库的 dsh-plugin 目录)
dsh plugin --profile web add github:tia-forge/dsh-tiaforge
装完重启 dsh web,并强刷浏览器。
它装了什么
| 类型 | 名称 | 说明 |
|---|---|---|
| 技能 | tialink-tia-portal |
AI 操作博途工程(V19/V20;未授权只读) |
| 技能 | plc-cloud-sim |
云端逐扫描仿真 + 场景 PASS/FAIL |
| 技能 | laddoc-cloud |
LadDoc → 博途可导入 SimaticML |
| 技能 | lad-render-cloud |
SimaticML → PNG,导入前先看一眼(计费,每次渲染扣 1 次) |
| 技能 | tia-portal-docs |
博途编程文档检索(get_docs) |
| MCP | tialink |
http://127.0.0.1:8080/mcp(本机网关) |
| MCP | tia-docs |
https://tia.hubwiz.com/ai-coding-docs/mcp |
| MCP | plc-sim |
https://tia.hubwiz.com/sim/mcp |
| MCP | laddoc |
https://tia.hubwiz.com/lad/mcp |
| MCP | lad-render |
https://tia.hubwiz.com/render/mcp(计费,见下) |
MCP 行全部设 failOnStartupError: false:端点没起来(没装 TiaLink、没配 Key)时插件照常加载,只是对应的工具不出现,不会拖垮 profile。
桌面端(Desktop)
Desktop 是 dsh Web 应用的 Electron 壳,插件语义完全一致(同一个共享插件管理器、同一个 profile runner),
只是 profile 目录不同:$DSH_HOME/profiles/desktop,且由 Electron 独占。
走 A(界面安装)不会碰到下面这两条 —— 它们只在你用命令行往 Desktop 里装时才有关。
两个硬约束(官方 apps/desktop/README.zh.md):
- 先用 npm 装的 dsh 管不了它 —— 必须用 Desktop 自带的 CLI:菜单 →「检查更新…」下方「管理 dsh 命令…」→ 安装,然后新终端里
dsh --version。 - 第一次要先用 Desktop 启动一次(初始化 profile),然后完全退出应用,再执行安装命令。
# 1) 启动一次 Desktop 再完全退出
# 2) 装好 Desktop 自带 CLI 后:
dsh plugin --profile desktop add dsh-tiaforge
# 3) 重新打开 Desktop
Desktop 里没有"技能"页面——这不是缺功能:技能是模型调用的(skill 工具 + 目录注入),
本插件在 apply() 里注册,所以桌面端一样能用到,不需要任何 UI。
若安装被拒且报 engines.dsh 不匹配:Desktop 的 dsh 版本与打包版本严格一致,
升级 Desktop,或把 package.json 的 engines.dsh 放宽到覆盖你的版本。
配 token(三选一,按需)
# ① TiaLink 本机网关(默认 127.0.0.1:8080,装了 token 就填)
export TIALINK_TOKEN=...
export TIALINK_URL=http://192.168.1.78:8080/mcp # 网关在另一台机器时
# ② 四个云端服务各自一把 Key(微信扫码,各 100 次免费)
export TIA_DOCS_KEY=...
export TIA_SIM_KEY=...
export TIA_LAD_KEY=...
export TIA_RENDER_KEY=... # 唯一计费的:每次渲染扣 1 次,先扣后执行
四个云端服务的大致分工:
| Key | 端点 | 免费额度 | 技能 |
|---|---|---|---|
TIA_DOCS_KEY |
/ai-coding-docs/mcp |
100 次 | tia-portal-docs |
TIA_SIM_KEY |
/sim/mcp |
100 次 | plc-cloud-sim |
TIA_LAD_KEY |
/lad/mcp |
100 次 | laddoc-cloud |
TIA_RENDER_KEY |
/render/mcp |
100 次 | lad-render-cloud(render_version 免费,渲染扣 1) |
不配的话对应 MCP 不出现工具(没 Key = initialize 就 401),但技能仍然可用(技能正文本身就是可读的知识,不依赖工具)。
TIA_RENDER_KEY 不配也不会白扣额度——这一点跟另三个一样,靠 key 门控。
验证
# 1) 组合后的配置里应该有这 6 行
dsh --profile web --dump-config | grep -n tiaforge
# 2) 起来之后,模型侧应该能用 skill 工具看到五个技能
dsh web
# 对话里问:「列出你能用的 TIA 相关技能」
结构
dsh-plugin/
├── package.json # dsh.bundle.patch = ./cordis.patch.yml;engines.dsh = >=0.2.0 <0.3.0
├── cordis.patch.yml # 1 行技能注册插件 + 5 行 mcp-client
├── index.js # 读 skills/*/SKILL.md → ctx.skills.register()
└── skills/<slug>/SKILL.md
cordis.patch.yml 只 insert 新行、不覆盖任何已有行,所以 dsh-base / web-app 升级时这个包最不容易坏。
兼容性
engines.dsh: ">=0.2.0-rc.0 <0.2.1-rc.0 || >=0.2.1-rc.0 <0.3.0"(0.1.1 起)。两个分支是必需的:node-semver 只允许某个比较符元组与版本 tuple 完全一致且自带预发布标签时才放行预发布版,单个>=0.2.1-rc.1 <0.3.0会把0.2.0-rc.2这类版本静默排除。- 实测环境:dsh desktop 0.2.0-rc.2 可安装并加载(桌面端未强制 engines,但其它安装路径会校验)。
- 升级 DSH 后先跑一次
--dump-config,确认 6 行还在,再开始用。
许可
插件代码 MIT;技能正文 CC BY 4.0(见各 SKILL.md)。TiaLink 网关与四个云端服务是商业软件/服务,不在本许可范围内。
链接
同类插件
DayuanJiang/next-ai-draw-io#dsh-plugin★ 36548
dsh 的 draw.io 绘图插件:通过 next-ai-drawio MCP 服务器作图,点回复里的链接在右侧栏打开实时预览,可以手动修改图,AI 的每次修改都是可以恢复的版本。需 Node.js 18+,首次使用由 npx 下载 MCP 服务器。
Tencent/WeKnora#dsh-weknora★ 36201
把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己带引用的 RAG 或 ReAct agent 回答(含可续聊的 session id)。
superdesigndev/treg★ 6962
给 Agent 的工具目录:按「要做的事」检索约 2,600 个外部接口(SEO 与 SERP、外链、社交、人物与公司信息补全、广告库、抓取),查看参数与单次调用价格后直接调用,凭据由服务端注入。附带技能,MCP 行在未设置 TREG_TOKEN 前保持禁用。
T-Auto/dsh-ops★ 5011
为 Windows 的 DSH 提供 bash、PowerShell 7 及 Rust 高性能工具,减少 token 消耗。
sixtysevenlf/dsh-blender-plugin★ 1536
让 DSH agent 通过直连 TCP 通道驱动本地 Blender,提供 15 个工具:视口帧、自定义视角渲染、Python 执行、无头与作业卸载、事务回滚,以及 34 个 family / 228 个 op 的规划层。
TencentCloudBase/CloudBase-AI-Toolkit#dsh-plugin★ 1153
把腾讯云 CloudBase 后端接入 DeepSeek Harness——在对话里搭好并部署全栈应用,查询结果渲染为表格卡片(分页、排序、导出 CSV),部署后可预览真实域名,并提供 CloudBase MCP 工具集(`mcp__cloudbase__*`),登录走 device-code 流程。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。