appliance-repair · AI 家电维修管家(DSH Java Native Plugin 场景案例 P73)
基于 deepseek-harness-java(DSH) Java Native Plugin 机制构建的家电维修连锁智能管家:维修项目价目、工程师查询、报修下单、工单跟踪、运营统计,一个 Agent 全搞定。
能力
说明
🔧 维修项目
5 项价目(空调 80 / 冰箱 90 / 洗衣机 85 / 热水器 95 / 油烟机 120)检测费与时长
👨🔧 工程师查询
3 位工程师特长与评分(冯工 4.9 / 曹工 5.0 / 许工 4.8)及在单量
📝 报修下单
AI 先复述项目、检测费、工程师、时间、地址,经确认后办理,未指定默认冯工
📦 工单查询
工单号查项目 / 工程师 / 时间 / 地址 / 费用 / 状态
📊 运营统计
总单量 / 进行中 / 营收与预计营收 / 分项目分工程师分布 / 营销建议
截图
说明
运营看板首屏:总单量 / 进行中 / 营收 + 维修项目列表
AI 价目咨询:空调维修检测费 80 元,配件另计规则
AI 报修下单:确认后办理(工单号 R3005,工程师冯工)
AI 工单查询:R3001 详情(空调 / 冯工 / 待上门)
AI 运营统计:工单分布 / 营收 / 派单建议
appliance-repair/
├── pom.xml # Maven 聚合工程(p-app + p-plugin)
├── p-app/ # Spring Boot 业务应用(端口 18112)
│ └── src/main/java/cn/xiaofuge/n/app/
│ ├── RepairApplication.java # 启动类
│ ├── NStore.java # 数据中心(项目/工程师/工单)
│ ├── NController.java # REST 接口(5 端点)
│ └── AssistantController.java # 页面消息 SSE 代理到 DSH
└── p-plugin/ # DSH Java Native 插件(agentId: repair-copilot)
└── src/main/java/cn/xiaofuge/n/plugin/
└── RepairPlugin.java # 5 个 AI 工具 + 系统提示词 + Hook
工具名
功能
关键约束
service_list
维修项目查询
含检测费与收费规则
engineer_list
工程师列表
姓名/特长/评分/在单量
book
报修下单
必须先复述要素经顾客确认后才能调用 ;未指定工程师默认 E01 冯工
order_info
工单查询
项目/工程师/时间/地址/费用/状态
stats
运营统计
提供派单与营销建议
# 1. 构建业务应用
mvn clean package -DskipTests
# 2. 启动应用(端口 18112)
SERVER_PORT=18112 java -jar p-app/target/p-app-1.0.0-SNAPSHOT.jar
# 3. 插件 jar 放入 DSH 插件目录
cp p-plugin/target/p-plugin-1.0.0-SNAPSHOT.jar ~ /.dsh/standalone/plugins/repair-copilot.jar
# 4. 注册插件(DSH 运行中)
curl -X POST http://127.0.0.1:8090/api/harness/plugins/install \
-H ' Content-Type: application/json' \
-d ' {"pluginId":"repair-copilot","displayName":"AI 家电维修管家","pluginVersion":"1.0.0","runtimeType":"JAVA_NATIVE","sourcePath":"' $HOME ' /.dsh/standalone/plugins/repair-copilot.jar","entrypoint":"cn.xiaofuge.n.plugin.RepairPlugin"}'
# 5. 激活插件
curl -X POST http://127.0.0.1:8090/api/harness/plugins/activate \
-H ' Content-Type: application/json' -d ' {"pluginId":"repair-copilot"}'
# 6. 启动 DSH standalone(如未运行)
cd ~ /.dsh/standalone && java -Dspring.profiles.active=standalone -Dserver.port=8090 \
-jar ~ /.dsh/skills/dsh-java-plugin-skills/runtime/deepseek-harness-java-app.jar
打开 http://127.0.0.1:18112 即可开始对话。
方法
路径
说明
GET
/api/services
维修项目列表(含收费规则)
GET
/api/engineers
工程师列表(含在单量)
POST
/api/book
报修下单 {customer, phone, service, engineerId, visitTime, address}
GET
/api/order?ticketId=
工单查询
GET
/api/stats
运营统计
POST
/api/assistant/stream
AI 对话 SSE 代理
✅ E2E 验证(agent_stream.sh 端到端)
#
用户消息
调用工具
结果
1
有哪些维修项目和检测费?
service_list
✅ 5 项检测费时长 + 收费规则
2
有哪些维修工程师?
engineer_list
✅ 3 位工程师特长评分
3
帮程女士报修冰箱(含确认语)
book
✅ 工单号 R3004,工程师冯工
4
查工单 R3002
order_info
✅ 翟女士 / 油烟机 / 维修中
5
今天运营情况
stats
✅ 4 单 / 预计营收 ¥290 / 派单建议
DSH Java Native Plugin :AbstractHarnessPlugin + AbstractTool,工具以 plugin__repair-copilot__<name> 暴露给 LLM
系统提示词注入 :registerSystemPrompt 固化「报修前必须复述要素确认」「检测费与配件费分开说明」「修复失败不收费」等业务红线
PRE_TOOL_USE Hook :所有工具调用注入审计上下文
SSE 透传 :页面消息经 AssistantController 代理到 DSH /api/agent/stream(agentId=repair-copilot,超时 180s)
环境变量配置 :插件经 REPAIR_APP_BASE_URL(默认 18112)访问业务应用
MIT