oisee/vibing-steampunk
vs-punk: ADT to MCP bridge - Vibe code in ABAP / AMDP
解决的问题
vibing-steampunk (vsp) 在 AI 代理(通过 Model Context Protocol - MCP)与 SAP ABAP 系统之间提供了一座桥梁。它允许像 Claude 这样的 AI 助手使用自然语言或自动化脚本来读写代码、调试、部署并在 SAP 系统上执行测试,无需手动操作 SAP 复杂的内部工具。
运作原理
该工具充当 ADT (ABAP Development Tools) ↔ MCP 桥接器。它通过固定的传统 RFC 对话或有状态的 HTTPS 连接来利用 SAP 自身的 ADT API。关键在于,它完全不需要在 SAP 服务器上安装任何东西。
关键技术机制包括:
- 会话管理:它维护一个稳定的 ABAP 会话来处理复杂的操作(如调试),否则这些操作在独立的 HTTP 调用中会失败。
- 协议转换:它将 MCP 工具调用转换为 ADT 资源请求(例如
/sap/bc/adt/debugger/stack)。 - 数据解码:它在 Go 中实现了 SAP 特有的解压缩(LZH 和 LZC),以读取集群表格(如 BALDAT, INDX, STXL)和 MIME 存储库,而无需在服务器上执行 ABAP 代码。
- DAP 集成:它包含一个 Debug Adapter Protocol (DAP) 服务器,允许像 VS Code 和 Neovim 这样的标准编辑器设置断点并逐步执行 ABAP 代码。
目标对象
- ABAP 开发人员:希望将 AI 代理集成到开发工作流程中,或使用现代编辑器(VS Code, Neovim)进行调试的人员。
- SAP 顾问:需要对系统转储 (system dumps) 和应用程序日志进行事后分析,而无需手动挖掘的人员。
- SAP 系统管理员:遇到需要导出或分析的工作 (jobs) 和假脱机请求 (spool requests) 问题的人员。
特色亮点
- 零服务器安装:完全通过 ADT API 运作,无需在 SAP 服务器上安装任何 Z-code 或 SDK。
- 完整的调试器访问:支持实时设置断点、附加、逐步执行以及读写变量。
- AMDP 调试:桥接 ABAP 和 HANA 调试器,允许对 SQLScript 方法进行调试。
- 事后分析:自动将系统转储 (ST22) 与应用程序日志关联,以建议根本原因。
- 高级数据访问:使用 Go 原生逻辑精确解码集群表格和 MIME 存储库。
- 响应缓存:使用 Go 原生 SQLite 缓存,将响应时间从秒级缩短至毫秒级。
相关
- 项目
- 项目
- 项目
- 项目
- 项目