DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Vba Bridge — DeepSeek Harness 插件(DSH Plugin)
← Plugins
V

dsh-vba-bridge

Vba Bridge

通过 Excel COM 读取、编辑和验证 Excel VBA 项目,包括模块、UserForms、导出和过程列表,并将其作为 DSH 工具提供。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:alexltr/dsh-vba-bridge#ea8de2c624047dd1e1d8adffdec96bffa7a5e911
README兼容性版本
VBA Bridge 讲解图

兼容性与来源证明

Vba Bridge 以 dsh-vba-bridge 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/10/18

版本

0.1.0stable
2026/10/18

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
any
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/18
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录

相关插件

继续浏览 developer-tools 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Sdk Minimal@deepseek-ai/dsh-sdk-minimal独立的最小 SDK 配置包:JSON-RPC、一个 DeepSeek 适配器、持久化 Shell 和 JSONL 会话Sdk App@deepseek-ai/dsh-sdk-appdsh SDK 配置包:基于 dsh-base 提供 stdio JSON-RPC 服务和进程生命周期管理Experimental Inspector@deepseek-ai/dsh-experimental-inspector用于 Host 调试和 Client Runtime 检查的实验性跨 realm CDP hub

README

dsh-vba-bridge

让 DSH 会话里的 AI 直接读写 Excel VBA 工程:列模块、读源码、改代码、导出 .frm/.frx、列过程,并在保存后重新打开校验。核心走 Excel 自己的 COM/VBIDE, 所以改完的宏由 Excel 编译、保存和验收,而不是硬拆 vbaProject.bin。

Windows · 桌面 Excel · DSH Host 插件 · MIT

GitHub: https://github.com/alexltr/dsh-vba-bridge

VBA Bridge 讲解图

工具

工具作用
vba_doctor安装后先跑:检查 Python、pywin32、Excel COM、AccessVBOM、离线解析器、临时目录,可选一个工作簿
vba_inspect工程名、保护状态、全部组件(模块/工作表/ThisWorkbook/窗体)与引用
vba_read_module读取单个模块源码,含 UserForm 代码区
vba_write_module替换/追加/新建模块,原地保存,复开校验,生成 .bak
vba_export_modules导出全部组件:源码(.bas/.cls/.frm)或原生 .frm + .frx,写 _manifest.json
vba_list_procedures列出 Sub/Function/Property 的参数、起止行号,含窗体事件处理

相对路径按 DSH 会话工作目录 解析;绝对路径原样使用。

安装

发布到 npm 后:

dsh plugin add dsh-vba-bridge

当前开发目录(本地链接安装):

plugin_manager action=install_bundle target=F:\MyProjects\dsh\vba_bridge

安装后先调用 vba_doctor,它会把“缺 Python / 缺 pywin32 / 没开 AccessVBOM / Excel 起不来”逐项列出来并给修复建议。

前置条件

  1. Windows + 桌面版 Microsoft Excel(本机实测 16.0.20430.20182)。
  2. Python 3.10+,并安装 pywin32: pip install pywin32。默认使用 PATH 里的 python,可用配置 pythonPath 或 环境变量 DSH_VBA_PYTHON 指定。
  3. Excel 信任中心开启 “信任对 VBA 工程对象模型的访问”: HKCU\Software\Microsoft\Office\16.0\Excel\Security\AccessVBOM = 1。 这是允许本机程序读写 VBA 的全局开关,属于安全决策,不要在不可信的机器上随意打开。
  4. 目标文件是 .xlsm / .xlsb / .xls / .xlam;.xlsx 没有 VBA 容器,会被拒绝。

用法

直接用自然语言即可:

  • “看一下 D:\book.xlsm 里有哪些 VBA 模块”
  • “把 模块1 的源码读出来”
  • “把这段代码写进 模块1,先备份”
  • “把 MyVBALibrary.xlam 的全部模块导出到 F:\dump”
  • “列出 FRM_PictureViewer 里有哪些事件处理过程”

手动参数示例:

{"file": "D:\\book.xlsm"}
{"file": "D:\\book.xlsm", "module": "模块1"}
{"file": "D:\\book.xlsm", "module": "模块1", "code": "Sub Hello()\r\n    MsgBox \"hi\"\r\nEnd Sub\r\n", "mode": "replace"}
{"file": "D:\\book.xlsm", "outDir": "D:\\dump", "mode": "component", "overwrite": true}
{"file": "D:\\book.xlsm", "module": "FRM_PictureViewer"}

写入语义

  • mode=replace:重写模块代码区;隐藏的 VB_* 属性由 Excel 保留,文档模块可安全重写。
  • mode=append:读出旧代码 → 拼接 → 整体重写(不依赖 AddFromString 的插入位置)。
  • create=true:模块不存在时新建标准模块。
  • 每次写入先复制 原名.YYYYmmdd-HHMMSS.bak.xlsm,保存后在同一 Excel 实例里重新 打开并比对源码 SHA-256,返回 verified: true/false。

窗体(UserForm)

  • 窗体的代码就是它的 CodeModule:UserForm_Activate、btnCancel_Click、 imgBigPicture_MouseUp 等事件处理都能读写,和普通模块一致。
  • 只改代码区,不改控件布局、属性页或 .frx 设计数据。
  • mode=component 导出 .frm + .frx,.frm 头部保留 VERSION 5.00 / Begin ..., .frx 的 OleObjectBlob 完整,可用于备份/迁移。
  • mode=code 的 .frm 只有代码,不能直接重新导入。

导出

  • mode=code:UTF-8 源码,适合 grep、diff、喂给模型分析。
  • mode=component:调用 VBComponent.Export,窗体会多出 .frx。
  • 输出目录写 _manifest.json(类型、行数、字节数、SHA-256、跳过/失败)。
  • overwrite 默认 false,已存在的文件跳过并报告。

配置

安装行 id 是 vba-bridge,默认配置在 cordis.patch.yml:

键默认说明
pythonPath空 → python(其次 DSH_VBA_PYTHON)带 pywin32 的 Python
bridgePath空 → 包内 bridge/vba_bridge.py自定义桥接脚本
timeoutMs240000单次工具调用超时
allowWritetruefalse 时 vba_write_module 直接拒绝
maxOutputChars200000工具输出截断上限

修改后重载插件(禁用/启用)或重启 Harness 生效;也可以在该 profile 的 patch 层 按行 id vba-bridge 覆盖配置。当前版本尚未导出 Config schema,所以这些键通过 patch 配置而不是设置页表单修改。

安全边界

  • 桥接期间 AutomationSecurity=3,读写源码不会顺带执行工作簿里的宏。
  • 不提供“运行宏”工具;运行宏等于任意代码执行,需要时另行评估。
  • 插件以宿主用户权限运行 Python,绕过 DSH 文件沙箱;只安装可信版本,只对可信工作簿使用。
  • 写入默认生成 .bak 并复开校验;校验失败会返回 verified: false,不会静默成功。
  • 密码保护的 VBA 工程无法编辑;任何改动都会使数字签名失效。
  • 保存由 Excel 重写整个包,字节会变化(本机样本 39,195 → 37,537 字节); 生产使用请保留备份并做业务校验。

错误码

代码含义处理
NOT_MACRO_ENABLED.xlsx 等无 VBA 容器换 .xlsm/.xlsb/.xls
FILE_NOT_FOUND路径不存在检查路径/相对路径基准
FILE_LOCKED被 Excel 占用或残留 ~$ 文件关闭工作簿/清理锁文件
VBA_TRUST_DISABLED未开 AccessVBOM信任中心勾选
PROJECT_PROTECTEDVBA 工程有密码在 VBE 中取消密码
MODULE_NOT_FOUND模块名不匹配按提示候选名重试
EXCEL_UNAVAILABLECOM 无法启动 Excel安装桌面 Excel、检查策略
PYWIN32_MISSING当前 Python 无 pywin32pip install pywin32
OLETOOLS_MISSING离线解析器缺失重装 bundle
ENGINE_READONLY指定 engine=ovba 做写入/导出改用 COM
INVALID_OUTDIRoutDir 指向文件传目录路径

开发与测试

npm test          # Node 单元测试:工具注册、schema、相对路径、元数据
npm run test:py   # Python 单元测试:过程解析、文件名清洗

E2E 需要 Excel + AccessVBOM=1,见 docs/feasibility.md 与 test_local.mjs。桥接脚本可以直接跑:

python bridge\vba_bridge.py inspect fixtures\sample.xlsm
python bridge\vba_bridge.py read fixtures\sample.xlsm 模块1
python bridge\vba_bridge.py export fixtures\sample.xlsm work\export --mode component
python bridge\vba_bridge.py procedures fixtures\sample.xlsm 模块1

项目结构

vba_bridge/
├─ index.js                 # 六个工具与路径解析
├─ package.json             # bundle 清单与市场元数据
├─ cordis.patch.yml         # 插入 vba-bridge 行
├─ locale/{en,zh}.json      # 插件管理器显示名/描述
├─ icon.svg
├─ bridge/vba_bridge.py     # JSON 协议桥接:COM + 离线 OVBA
├─ vendor/                  # 精简 oletools 子集(离线只读)
├─ tests/                   # Node + Python 单元测试
├─ docs/feasibility.md      # 可行性论证
├─ docs/screenshot.png      # 讲解图
└─ CHANGELOG.md

限制

  • 写入/导出依赖桌面 Excel;无 Excel 只能离线读,且离线模式的组件类型是近似值、 行数包含隐藏的 Attribute 行。
  • 窗体只支持代码,不支持设计器编辑。
  • 当前不运行宏。
  • 当前没有 Config schema / 设置页表单,也没有 allowedRoots 路径白名单; 配置通过 profile patch 完成。
  • .xlsb / .xls 未单独实测(.xlsm / .xlam 已实测)。
  • 单次调用通常 5–15 秒,取决于 Excel 启动、杀毒软件和是否复开校验。

License

MIT;第三方组件见 THIRD_PARTY_NOTICES.md。