基于BIP+qwenCode+BIPMCP的客户化开发最佳实践
·
基于BIP+qwenCode+BIPMCP的客户化开发最佳实践
前言
本案例出于通用性考虑,使用BIP旗舰版演示,实际使用过程中旗舰版,高级版均可使用此方法
功能说明
本案例将结合BIP旗舰版低代码平台+qwenCode+BIPMCP进行rest接口开发
相关资料
文档
启动本地MCP服务:YDS Premium Tools — 智能 IDE 增强套件(YDS高级版) - YonBIP开发者社区.
BIPMCP服务资料:通义灵码与YonBIP整合MCP工具使用指南 - YonBIP开发者社区
qwenCode官方文档:Qwen Code 概述 | Qwen Code Docs
YDS下载:YDS下载中心 - YonBIP开发者社区
本案例中涉及到的文件及代码:MCP案例相关文件
准备前置工具
| 名称 | 版本 | 说明 |
|---|---|---|
| JDK | >=17 | 本地 MCP 服务启动依赖,需要>=17 |
| YDS | 无限制 | 启动本地 MCP 服务需要使用,进行代码开发可以选择性使用 |
| Node.js | >=20 | qwenCode依赖,需要>=20 |
| NVM | 无限制 | 如果本地有多个 Node 版本,可以用 NVM 进行管理 |
| qwenCode | 无限制 | - |
安装qwenCode及MCP
安装并打开qwenCode
- 参考官方文档进行安装并登录 Qwen Code 概述 | Qwen Code Docs.
- 在工程根目录下打开Windows PowerShell,执行qwen指令,验证安装是否成功

MCP是做什么的?
由于qwenCode只能理解开源逻辑,故想让他能编写BIP的代码需要引入BIP的MCP服务
MCP服务可以连上vpn后,直接使用集团内部MCP服务,或是自己本地启动MCP服务
启动本地MCP服务
- 打开YDS,安装YDS Premium Tools扩展

- 配置并启动MCP


集成MCP到qwenCode
打开C:\Users\用户名.qwen\settings.json
根据需求添加mcp服务,其中名称是自定义的
| 名称 | 说明 | URL |
|---|---|---|
bipUltimateSseServer | 旗舰版集团 MCP 服务,需要 VPN | http://10.16.232.149:9000/mcp/sse/ultimate |
bipUltimateLocSseServer | 旗舰版本地 MCP 服务,需要自行启动 | http://127.0.0.1:9000/mcp/sse/ultimate |
bipPremiumSseServer | 高级版集团 MCP 服务,需要 VPN | http://10.16.232.149:9000/mcp/sse |
bipPremiumLocSseServer | 高级版本地 MCP 服务,需要自行启动 | http://127.0.0.1:9000/mcp/sse |
以下示例中,我添加了本地旗舰版MCP服务和集团旗舰版MCP服务
"mcpServers": {
"bipUltimateSseServer": {
"url": "http://10.16.232.149:9000/mcp/sse/ultimate"
},
"bipUltimateLocSseServer": {
"url": "http://127.0.0.1:9000/mcp/sse/ultimate"
}
}
- 2026年3月16日更新说明:最近发现本地MCP服务启动插件更新了,需要将
url改为httpUrl

验证MCP加载状态
关闭并重新打开qwencode终端,执行/mcp desc指令

功能开发
节点开发
使用低代码平台进行可视化建模,字段信息及节点效果见下图


复制pojo类到工程中

初始化QWEN.md
QWEN.md是本工程专用的系统提示词
输入/init指令,qwenCode会根据工程自动总结并生成QWEN.md
我们需要对生成的QWEN.md进行修改,增加我们的个性化需求,例如
## 系统约束 (必须遵守)
### 架构约束
- 项目类型:Spring 分层架构
- 强制分层:Controller → Service → Repository → Entity
- 禁止行为:跨层调用、Controller 含业务逻辑、Service 直接操作数据库
### 文档约束
- 触发条件:新增/修改 Controller 接口时
- 执行动作:在同级目录创建/更新同名 .md 文件
- 文档内容:接口说明、请求参数、响应示例、变更记录
### 代码生成规则
1. 生成 Controller 代码 → 检查是否存在同名 .md 文件 → 不存在则创建
2. 修改接口签名 → 同步更新 .md 文件中的参数/响应说明
3. 删除接口 → 标记 .md 文件中对应接口为已废弃
### 图表规范
- 触发条件:需要展示流程、架构、时序、关系时
- 语法要求:必须使用 Mermaid 语法
- 禁止行为:使用图片链接、ASCII 艺术、其他图表格式
- 常用类型:
- 流程图:`flowchart TD` / `flowchart LR`
- 时序图:`sequenceDiagram`
- 类图:`classDiagram`
- 状态图:`stateDiagram-v2`
- 架构图:`flowchart` 或 `C4Context`
- 代码块标记:使用 ```mermaid 包裹图表代码

生成接口代码
指令示例如下:
请调用MCP bipLocSseServer,
根据以下实体类开发一个add接口:E:\space\IDE\yonyou-jygh\bjjygh-be\dev-bjjygh-service\src\main\java\com\yonyou\ucf\mdf\bill\entity\Siplog.java;
代码写到以下位置:E:\space\IDE\yonyou-jygh\bjjygh-be\dev-bjjygh-service\src\main\java\com\yonyou\ucf\mdf\bill;
执行效果如下,生成代码可见附件


验证效果
通过自动生成的md文件可以知道应该怎么调用此接口,请求内容可参考
curl --location --request POST 'https://mdtest.biad.com.cn/mdf-node/uniform/siplog/add?domainKey=bjjygh' \
--header 'yht_access_token: bttSmZpcEFuck1uaGRhZTJmcHRKbTB0ckU2L0N6UnRaV0lhMitmTFBnSTVHYVU3VVdYS2YvTEZWWFdzTGVKRUJ6dF9fbWR0ZXN0LmJpYWQuY29tLmNu__b63a25fc07f79043c3e7a133117c7612_1771676967860TGTGdccore0iuap-apcom-workbench9fdc290aYT' \
--header 'Content-Type: application/json' \
--data-raw '{
"itfdocCode": "API_001",
"datas": "{\"param1\":\"value1\"}",
"returnMsg": "调用成功",
"rxStatus": "1",
"billCode": "BILL20260221001",
"errorCode": "",
"beginTime": "2026-02-21 10:00:00",
"endTime": "2026-02-21 10:00:05"
}'


更多推荐


所有评论(0)