基于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>=20qwenCode依赖,需要>=20
NVM无限制如果本地有多个 Node 版本,可以用 NVM 进行管理
qwenCode无限制-

安装qwenCode及MCP

安装并打开qwenCode

  1. 参考官方文档进行安装并登录 Qwen Code 概述 | Qwen Code Docs.
  2. 在工程根目录下打开Windows PowerShell,执行qwen指令,验证安装是否成功
    在这里插入图片描述

MCP是做什么的?

由于qwenCode只能理解开源逻辑,故想让他能编写BIP的代码需要引入BIP的MCP服务
MCP服务可以连上vpn后,直接使用集团内部MCP服务,或是自己本地启动MCP服务

启动本地MCP服务

  1. 打开YDS,安装YDS Premium Tools扩展
    -
  2. 配置并启动MCP
    在这里插入图片描述
    在这里插入图片描述

集成MCP到qwenCode

打开C:\Users\用户名.qwen\settings.json
根据需求添加mcp服务,其中名称是自定义的

名称说明URL
bipUltimateSseServer旗舰版集团 MCP 服务,需要 VPNhttp://10.16.232.149:9000/mcp/sse/ultimate
bipUltimateLocSseServer旗舰版本地 MCP 服务,需要自行启动http://127.0.0.1:9000/mcp/sse/ultimate
bipPremiumSseServer高级版集团 MCP 服务,需要 VPNhttp://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"
}'

在这里插入图片描述
在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐