Skip to main content
Glama

pb-ai

PowerBuilder 的 pb-build 命令行工具和 MCP 服务,维护项目为 FLORYHOBBIT/pb-ai。本版本使用自有 C 原生组件,不再分发或调用原来的 PBSpy.dll、pb-cli.exe。上游来源说明见 UPSTREAM.md。

安装与使用

需要 Windows、Node.js 18+、.NET Framework 4.x,以及本机安装的对应版本 Sybase ORCA 和 PowerBuilder 运行库。通过 --pb-version 80 或 --pb-version 90 选择版本,运行库路径通常无需手动填写。PB8 8.0.2.9506、PB9 9.0.3.8836 已通过完整构建、三类对象进度及生成 EXE 的运行测试。其他构建号仅使用标准 ORCA 调用,并明确提示未适配的对象进度能力。

125 仍保留标准 ORCA 调用入口,但本机 PB12.5.2.5629 在基础库操作测试中出现原生访问异常,尚未通过完整构建验证,未启用其内部进度适配。不能将“能加载 DLL”视为该版本已验证可用。

试验版本先安装本地压缩包;未提交的修改不会通过 GitHub 安装得到:

cd /d D:\Environment\pb-mcp-test
npm install "C:\Users\93199\Documents\Codex\2026-09-10\pb-ai-mcp\outputs\pb-ai-1.0.24-native.5.tgz"
.\node_modules\.bin\pb-build.cmd build "E:\job\source_gzjszyy\Zhis4\doctor.pbt" --pb-version 80 --exe "E:\job\source_gzjszyy\doctor\doctor.exe"

工具优先从对应版本的注册表安装目录、PATH 查找运行库。查找不到时,设置 PB_RUNTIME_DIR,或给编译命令增加 --runtime-dir "D:\Environment\Sybase\Shared\PowerBuilder"。该目录应包含真正的 pborc80.dll 等厂商文件,不能用重命名的 PBSpy 替代。

set "PB_RUNTIME_DIR=D:\Environment\Sybase\Shared\PowerBuilder"
set "PB_VERSION=80"

PB_VERSION 用于未显式指定版本的库查看/导出工具。ANSI PBL 文件头不能区分 PB8/PB9,默认使用 PB8;Unicode 默认 PB12.5。创建、导入、删除对象和编译应明确指定实际 PB 版本,不能把此默认值当作文件版本检测结论。

常用编译参数:

参数

行为

compile <PBT/PBL>

完整重建,不生成 EXE/PBD

build <PBT/PBL>

完整重建,再生成 EXE/PBD

--exe <文件>

EXE 生成位置;目录无效时回落 PBT/PBL 目录

--pbr <文件>

指定资源清单;默认应用同名 PBR

--icon <文件>

指定图标;未提供且无同名图标时使用内置小图标

--output-dir <目录>

成功后额外复制 EXE 和 PBD;原产物保留

--quiet

隐藏逐对象和普通诊断,保留阶段与错误

--trace-objects

旧参数兼容;对象进度默认开启,不再预编译

PBD 默认生成在对应 PBL 旁,不再自动全部复制到 EXE 目录。CLI 显示对象的阶段编号、对象名和 PBL 路径;同一对象可能被 PB 在不同阶段处理,日志事件数量不是完成百分比。

Related MCP server: SemanticOps MCP

MCP

启动命令为 node,参数为安装包 dist/index.js 的绝对路径;也可以运行本地 node_modules\.bin\pb-ai.cmd。升级后重启 MCP 进程。

查看、列举、导出、同步、导入、删除、创建库、编译与构建工具均使用新的后端。工作流文档和独立 pbtoweb 工具保留。同步会保护比 PBL 对象更新的本地源码。

导入跨库对象时可传 pbtPath,以加载完整依赖列表;共享 PBL 被多个 PBT 引用时必须指定。导入错误会恢复目标 PBL,返回完整诊断,不把“对象已存在”误报成导入成功。

源码和构建

文件

职责

src/native/pb_native.c → pb-native.dll

自有 x86 C DLL,调用厂商 ORCA,并接入 PB8 真实对象回调

src/native/*.cs → pb-native-host.exe

JSON/编码/进程隔离与 EXE 版本资源处理;源码全部在仓库

dist/services、dist/cli.js

项目解析、备份恢复、复制产物、MCP 与 CMD 日志

本项目没有重新实现 PowerScript 编译器;实际编译由本机 Sybase 原生编译器执行。厂商 DLL 不包含在 npm 包中。

# 只需开发者重建二进制时执行;普通安装直接使用预编译文件。
.\build-native.ps1 -BootstrapCompiler
# 或使用已经安装的 x86 TinyCC:
.\build-native.ps1 -TccPath 'C:\tools\tcc\tcc.exe'
npm test
npm run test:native

-BootstrapCompiler 从 TinyCC 官方发行地址下载固定版本,并检查固定 SHA256;不修改全局 PATH。工具链不进入发布包。

验证范围和试验安装说明见 TRIAL.md,实现边界见 FIX-README.md。当前版本保持 private=true,未向 npm 注册表发布。

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables AI coding agents to compile Delphi projects programmatically by parsing .dproj files, executing the Delphi compiler, and returning structured error results with multi-language support and automatic configuration generation from IDE build logs.
    4
    10
    Apache 2.0
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI assistants to create and edit GameMaker projects, including scripts, objects, rooms, sprites, and sounds, with support for project validation and compilation.
    45
    2
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to compile AdvPL/TLPP sources, generate and apply patches, and inspect the RPO of TOTVS Protheus servers.
    14
    MIT