Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

veggie-box · AI 净菜周配管家台 🥬

DSH(deepseek-harness-java)Java Native Plugin 场景案例 P81:净菜周配订购平台 + AI 管家插件。

项目简介

「veggie-box」是一个净菜周配订购场景的演示项目,包含:

  • v-app:Spring Boot 应用(端口 18120),提供套餐、站点、订购、统计等 REST 接口和一个可视化管家台页面。
  • v-plugin:DSH Java Native Plugin(agent:veggie-copilot),以 SPI 方式接入 DSH,提供 5 个可被大模型调用的工具。

用户在管家台页面与 AI 对话即可完成套餐咨询、订购下单、订单查询、运营问数等操作,AI 通过 DSH 调用插件工具读写业务数据。

功能一览

模块 说明
周配套餐 5 款套餐:轻食一人食周配 ¥128、三口之家经典周配 ¥268、健身低脂周配 ¥198、银发软糯周配 ¥158、轻享双人尝鲜周配 ¥228(每周期)
配送站点 3 个站点:滨江小区北门(D01)、中央公园公寓(D02)、科技园西门(D03),含评分与在配量
订购 订 4 周起 95 折、12 周起 9 折;每周日晚 18-20 点统一投递;食材不新鲜包赔
订单 单号 V2001+,状态:已下单 / 配送中 / 已签收;提醒检查冰袋、可续订换套餐
统计 总单量、进行中 / 已签收、收入、按套餐 / 按站点分布、运营建议

插件工具(5 个)

工具 说明
plan_list 周配套餐列表(单价 / 份数 / 内容 / 折扣规则)
station_list 配送站点列表(编号 / 特点 / 评分 / 在配量)
subscribe 订购下单(客户 / 电话 / 套餐 / 周数),先复述要素再执行
order_info 订单查询(单号、状态、投递提醒)
stats 运营统计(单量 / 收入 / 分布 / 建议)

快速开始

1. 启动 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

2. 构建并启动应用

mvn clean package
cd v-app && java -jar target/v-app-1.0.0-SNAPSHOT.jar --server.port=18120

3. 安装并激活插件

cp v-plugin/target/v-plugin-1.0.0-SNAPSHOT.jar ~/.dsh/standalone/plugins/veggie-copilot.jar

curl -X POST http://127.0.0.1:8090/api/harness/plugins/install \
  -H 'Content-Type: application/json' \
  -d '{"pluginId":"veggie-copilot","displayName":"AI 净菜周配管家","pluginVersion":"1.0.0","runtimeType":"JAVA_NATIVE","sourcePath":"/Users/<you>/.dsh/standalone/plugins/veggie-copilot.jar","entrypoint":"cn.xiaofuge.v.plugin.VeggiePlugin"}'

curl -X POST http://127.0.0.1:8090/api/harness/plugins/activate \
  -H 'Content-Type: application/json' -d '{"pluginId":"veggie-copilot"}'

4. 打开管家台

浏览器访问 http://127.0.0.1:18120,点击右侧 AI 面板的快捷按钮或直接对话,例如:

  • 「有哪些周配套餐?多少钱一周?」
  • 「我要订三口之家经典周配 4 周,在滨江小区北门收,屈女士 13800334455」
  • 「查一下订单 V2001 的状态」
  • 「今天运营情况怎么样?」

5. E2E 验证(可选)

python3 veggie_e2e.py

依次验证 5 个工具调用(套餐 / 站点 / 订购 / 查询 / 统计)。

截图预览

截图 说明
首页全景 管家台首页:运营看板 + 周配套餐 + 最新订单
AI 套餐价目咨询 AI 咨询套餐与价格
AI 订购下单 AI 复述确认后下单成功(4 周 95 折生效)
AI 订单查询 AI 查询订单状态与投递提醒
AI 运营统计 AI 运营问数与建议

目录结构

veggie-box/
├── pom.xml                # 父工程(v-app / v-plugin)
├── v-app/                 # Spring Boot 应用(18120)
│   └── src/main/java/cn/xiaofuge/v/app/
│       ├── VeggieApplication.java     # 启动类
│       ├── VStore.java                # 业务数据中心(内存)
│       ├── VController.java           # REST 接口
│       └── AssistantController.java   # SSE 代理 → DSH /api/agent/stream
├── v-plugin/              # DSH Java Native Plugin
│   └── src/main/java/cn/xiaofuge/v/plugin/
│       └── VeggiePlugin.java          # 5 个工具 + 系统提示词
├── docs/                  # 使用说明 + 截图
└── veggie_e2e.py          # E2E 验证脚本

技术要点

  • Java Native Plugin:继承 AbstractHarnessPlugin,内部工具继承 AbstractTool,以 plugin__veggie-copilot__<name> 暴露给大模型。
  • SPI 注册:META-INF/services/cn.xiaofuge.deepseek.harness.domain.spi.JavaHarnessPlugin 指向 cn.xiaofuge.v.plugin.VeggiePlugin。
  • SSE 透传:前端 /api/assistant/stream → DSH /api/agent/stream(agentId=veggie-copilot),流式返回。
  • 数值容错:LLM 常传字符串数字(如 "4"),Controller 对 weeks 做双格式解析。
  • 安全红线:系统提示词约定「先复述要素再下单」「食材不新鲜包赔」「检查冰袋」等规则。

场景标签(topics)

dsh-java dsh-java-plugin veggie fresh-food spring-boot

About

AI 净菜周配管家台 · DSH Java Native Plugin 场景案例 P81(套餐/站点/订购/统计 + AI 流式对话)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages