基于 deepseek-harness-java(DSH) Java Native Plugin 机制构建的连锁精品咖啡智能管家:菜单查询、门店导航、下单点单、订单跟踪、运营统计,一个 Agent 全搞定。
| 工具 | 说明 | 对应 REST |
|---|---|---|
menu |
饮品菜单(6 款,含加料与糖度档位) | GET /api/menu |
store_list |
门店列表(地址/营业时间/排队单量) | GET /api/stores |
order |
下单点单(要素确认,报取餐号与等待时间) | POST /api/order |
order_info |
订单查询(饮品/规格/门店/状态) | GET /api/order?orderId= |
stats |
运营看板(单量/营收/分门店/排班建议) | GET /api/stats |
用户 ⇄ p-app (Spring Boot :18106, SSE 代理)
│ POST /api/assistant/stream → DSH /api/agent/stream (agentId=coffee-copilot)
▼
DSH Harness (:8090, standalone, H2)
│ plugin__coffee-copilot__<tool>
▼
p-plugin (CoffeePlugin, JAVA_NATIVE in-process)
│ HTTP
▼
p-app REST API(5 个业务端点)
- p-app:咖啡点单业务系统(内存数据:6 款饮品、3 家门店、3 个订单、加料与糖度选项),并内置 AI 对话页(SSE 流式,咖啡棕主题)。
- p-plugin:
AbstractHarnessPlugin实现,注册 5 个AbstractTool+ 系统提示词(下单前复述要素、健康提示只做常识性提醒)+PRE_TOOL_USE钩子。
java -Dspring.profiles.active=standalone -Dserver.port=8090 -jar deepseek-harness-java-app.jar在 DSH 控制台配置模型(baseUrl + apiKey)。
mvn clean package -DskipTests
# 通过 DSH 控制台或 /api/harness/plugins/install 上传 p-plugin/target/p-plugin-1.0.0-SNAPSHOT.jar
# 激活:POST /api/harness/plugins/activate {"pluginId":"coffee-copilot"}java -Dserver.port=18106 -jar p-app/target/p-app-1.0.0-SNAPSHOT.jar打开 http://127.0.0.1:18106 即可使用。
curl -N -X POST http://127.0.0.1:8090/api/agent/stream \
-H 'Content-Type: application/json' \
-d '{"agentId":"coffee-copilot","message":"今天有什么饮品?"}'coffee-ordering/
├── p-app/ # 咖啡点单业务 + AI 前台(Spring Boot, :18106)
│ └── src/main/java/cn/xiaofuge/h/app/
│ ├── CoffeeApplication.java # 启动类
│ ├── HController.java # 5 个 REST 端点
│ ├── HStore.java # 业务数据与规则(菜单/门店/订单/统计)
│ └── AssistantController.java # SSE 代理到 DSH
├── p-plugin/ # DSH Java Native 插件
│ └── src/main/java/cn/xiaofuge/h/plugin/
│ └── CoffeePlugin.java # 5 工具 + 系统提示词 + 钩子
└── docs/images/ # 截图
详细使用说明见 docs/使用说明.md。
MIT



