Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌅 eldercare-aj — 夕阳暖老年日间照料中心(P95)

DSH Java Native Plugin 场景案例:老年日间照料。家属通过 AI 照护管家完成「查套餐 → 挑护理员 → 服务登记 → 服务单查询 → 运营统计」全流程,业务应用以 Spring Boot 提供页面与 REST,插件以 JAVA_NATIVE 方式把 5 个工具注册进 DSH Agent。

首页

业务概览

模块 内容
照护套餐 日间托养 ¥98/天 · 康乐活动 ¥58/天 · 助餐+助浴 ¥78/天 · 康复理疗 ¥128/天 · 全护优居 ¥198/天
护理员 C01 护理师·温姨(4.9)· C02 康复师·小覃(4.8)· C03 营养师·范阿姨(4.9),可选轮班照护
服务单号 DC1001 起,状态流转:已登记 → 服务中 → 已结课
规则 连订 15 天 92 折、30 天 88 折;首次到店免费健康建档;接送 8:00-9:00 / 17:00-17:30;每日血压与活动照片推送家属群;政府补贴对象到店核验另享优惠

AI 对话演示

咨询套餐

咨询套餐

服务登记(AI 复述要素后调用 book,返回单号)

服务登记

服务单查询

服务单查询

运营统计

运营统计

插件注册的 5 个工具

工具 说明 对应 REST
plugin__eldercare-aj__plan_list 照护套餐列表(价格/内容/连订折扣) GET /api/plans
plugin__eldercare-aj__carer_list 护理员列表(专长/评分/在照护量) GET /api/carers
plugin__eldercare-aj__book 服务登记(owner/phone/elder/plan/days 必填,carerId 可选) POST /api/book
plugin__eldercare-aj__order_info 服务单查询(DC1001 格式单号) GET /api/order?orderId=
plugin__eldercare-aj__stats 运营统计(单量/状态分布/收入/分套餐分护理员) GET /api/stats

项目结构

eldercare-aj/
├── pom.xml                     # 父工程(eldercare-aj)
├── aj-app/                     # 业务应用(Spring Boot,端口 18134)
│   ├── pom.xml                 # artifactId: aj-app
│   └── src/main/
│       ├── java/cn/xiaofuge/aj/app/
│       │   ├── ElderCareApplication.java
│       │   ├── AjStore.java            # 数据中心:套餐/护理员/服务单/统计
│       │   ├── AjController.java       # REST 接口
│       │   └── AssistantController.java# /api/assistant/stream SSE 代理 → DSH
│       └── resources/
│           ├── application.yml         # 端口 18134 / agent-id eldercare-aj
│           └── static/index.html       # 🌅 暖橙系对话页面
├── aj-plugin/                  # DSH 插件(JAVA_NATIVE)
│   ├── pom.xml                 # artifactId: aj-plugin
│   └── src/main/
│       ├── java/cn/xiaofuge/aj/plugin/EldercarePlugin.java  # 5 工具
│       └── resources/META-INF/
│           ├── plugin.yaml     # id: eldercare-aj
│           └── services/cn.xiaofuge.deepseek.harness.domain.spi.JavaHarnessPlugin
├── eldercare_aj_e2e.py         # E2E 验证脚本(5 用例)
└── docs/images/                # 截图

快速开始

# 1. 构建并启动业务应用
mvn clean package -DskipTests
java -jar aj-app/target/aj-app-1.0.0-SNAPSHOT.jar --server.port=18134

# 2. 安装并激活插件(DSH standalone 运行于 8090)
cp aj-plugin/target/aj-plugin-1.0.0-SNAPSHOT.jar ~/.dsh/standalone/plugins/eldercare-aj.jar
curl -X POST http://127.0.0.1:8090/api/harness/plugins/install \
  -H 'Content-Type: application/json' \
  -d '{"pluginId":"eldercare-aj","displayName":"夕阳暖老年日间照料中心","pluginVersion":"1.0.0","runtimeType":"JAVA_NATIVE","sourcePath":"/Users/<you>/.dsh/standalone/plugins/eldercare-aj.jar","entrypoint":"cn.xiaofuge.aj.plugin.EldercarePlugin"}'
curl -X POST http://127.0.0.1:8090/api/harness/plugins/activate \
  -H 'Content-Type: application/json' -d '{"pluginId":"eldercare-aj"}'

# 3. 打开页面 http://127.0.0.1:18134 与 AI 管家对话
# 或运行 E2E
python3 eldercare_aj_e2e.py

E2E 结果

[PASS] T1 套餐列表(98/58/78/128/198)
[PASS] T2 护理员列表(温姨/小覃/范阿姨)
[PASS] T3 服务登记(DC1005/DC1006,康复理疗 × 5 天 ¥640)
[PASS] T4 服务单查询(DC1002 戚奶奶)
[PASS] T5 运营统计(总单量/收入/分布)
===== eldercare-aj E2E: 5/5 PASS =====

技术要点

  • JAVA_NATIVE 插件:AbstractHarnessPlugin + 内部 AbstractTool 子类,run() 返回 CompletableFuture<ToolExecutionResult>,HTTP 调用业务应用 REST。
  • 系统提示注入:configure() 中 registerSystemPrompt 写入报价/确认/单号播报与照护提醒;registerHook(PRE_TOOL_USE) 做调用审计。
  • SSE 透传:AssistantController 把页面消息代理到 DSH /api/agent/stream(StreamingResponseBody,上游超时 170s,MVC async 180s)。
  • SSE 事件格式:DSH 输出 event:meta/step_break/tool_result/chunk/finish/done + data:{...};chunk 载荷为 {"content":"..."},前端按 event: 分段解析。
  • 数值容错:Controller 对 days 做 Number/String 双格式解析,兼容 LLM 传 "5" 字符串。
  • 会话锁处理:Agent 连发两条消息会报「正在执行上一条」,需等上一条完全执行完或 cancel 后等待重试。

DSH 版本

  • deepseek-harness-java-types 0.1.5(provided)
  • Spring Boot 3.2.5 / Java 17

License

MIT

About

🌅 夕阳暖老年日间照料中心:DSH Java Native Plugin 养老服务场景(套餐/护理员/登记/订单/统计)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages