moving-service · AI 搬家服务管家(DSH Java Native Plugin 场景案例 P72)
基于 deepseek-harness-java(DSH) Java Native Plugin 机制构建的连锁搬家服务智能管家:车型套餐查询、师傅查询、下单搬家、订单跟踪、运营统计,一个 Agent 全搞定。
能力
说明
🚚 车型套餐
5 档套餐(面包车 188 / 金杯车 368 / 厢货 688 / 日式精致 1288 / 跨市 2388)价格与时长
👷 师傅查询
3 位搬家师傅特长与评分(老郑 4.9 / 阿力 5.0 / 小北 4.8)及在单量
📝 下单搬家
AI 先复述车型、价格、师傅、日期、路线,经确认后办理,未指定默认老郑
📦 订单查询
单号查车型 / 师傅 / 日期 / 路线 / 金额 / 状态
📊 运营统计
总单量 / 进行中 / 营收与预计营收 / 分车型分师傅分布 / 营销建议
截图
说明
运营看板首屏:总单量 / 进行中 / 营收 + 车型套餐列表
AI 套餐咨询:跨市搬家 ¥2388 含装卸与高速费
AI 下单搬家:确认后办理(单号 M2005,师傅老郑)
AI 订单查询:M2001 详情(金杯车 / 老郑 / 已下单)
AI 运营统计:订单分布 / 营收 / 派单建议
moving-service/
├── pom.xml # Maven 聚合工程(p-app + p-plugin)
├── p-app/ # Spring Boot 业务应用(端口 18111)
│ └── src/main/java/cn/xiaofuge/m/app/
│ ├── MovingApplication.java # 启动类
│ ├── MStore.java # 数据中心(车型/师傅/订单)
│ ├── MController.java # REST 接口(5 端点)
│ └── AssistantController.java # 页面消息 SSE 代理到 DSH
└── p-plugin/ # DSH Java Native 插件(agentId: moving-copilot)
└── src/main/java/cn/xiaofuge/m/plugin/
└── MovingPlugin.java # 5 个 AI 工具 + 系统提示词 + Hook
工具名
功能
关键约束
package_list
车型套餐查询
含时长与优惠规则
crew_list
师傅列表
姓名/特长/评分/在单量
book
下单搬家
必须先复述要素经顾客确认后才能调用 ;未指定师傅默认 C01 老郑
order_info
订单查询
车型/师傅/日期/路线/金额/状态
stats
运营统计
提供派单与营销建议
# 1. 构建业务应用
mvn clean package -DskipTests
# 2. 启动应用(端口 18111)
SERVER_PORT=18111 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/moving-copilot.jar
# 4. 注册插件(DSH 运行中)
curl -X POST http://127.0.0.1:8090/api/harness/plugins/install \
-H ' Content-Type: application/json' \
-d ' {"pluginId":"moving-copilot","displayName":"AI 搬家服务管家","pluginVersion":"1.0.0","runtimeType":"JAVA_NATIVE","sourcePath":"' $HOME ' /.dsh/standalone/plugins/moving-copilot.jar","entrypoint":"cn.xiaofuge.m.plugin.MovingPlugin"}'
# 5. 激活插件
curl -X POST http://127.0.0.1:8090/api/harness/plugins/activate \
-H ' Content-Type: application/json' -d ' {"pluginId":"moving-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:18111 即可开始对话。
方法
路径
说明
GET
/api/packages
车型套餐列表(含优惠规则)
GET
/api/crews
师傅列表(含在单量)
POST
/api/book
下单搬家 {customer, phone, pkg, crewId, moveDate, from, to}
GET
/api/order?orderId=
订单查询
GET
/api/stats
运营统计
POST
/api/assistant/stream
AI 对话 SSE 代理
✅ E2E 验证(agent_stream.sh 端到端)
#
用户消息
调用工具
结果
1
有哪些搬家车型和价格?
package_list
✅ 5 档套餐价格时长 + 优惠
2
有哪些搬家师傅?
crew_list
✅ 3 位师傅特长评分
3
帮华先生下单厢货大搬(含确认语)
book
✅ 单号 M2004,师傅老郑
4
查订单 M2002
order_info
✅ 严女士 / 日式搬家 / 搬运中
5
今天运营情况
stats
✅ 4 单 / 预计营收 ¥2344 / 派单建议
DSH Java Native Plugin :AbstractHarnessPlugin + AbstractTool,工具以 plugin__moving-copilot__<name> 暴露给 LLM
系统提示词注入 :registerSystemPrompt 固化「下单前必须复述要素确认」「贵重易碎品打包提醒」「搬家当日清空楼道」等业务红线
PRE_TOOL_USE Hook :所有工具调用注入审计上下文
SSE 透传 :页面消息经 AssistantController 代理到 DSH /api/agent/stream(agentId=moving-copilot,超时 180s)
环境变量配置 :插件经 MOVING_APP_BASE_URL(默认 18111)访问业务应用
MIT