property-service · AI 物业管家台(DSH Java Native 插件场景案例 P60)
基于 deepseek-harness-java(DSH)Java Native 插件机制 的智慧物业场景案例:5 类收费标准(高层/洋房/商铺/车位)+ 报修登记(紧急 2 小时/普通 24 小时 SLA)+ 物业费试算(面积×单价 + 欠费与余额)+ 账单缴纳(预存余额扣款 + 逾期日千分之三违约金 + 二次确认防重复扣费)+ 公告活动与巡检异常看板,通过 property-copilot 插件接入 AI 助手,支持自然语言报修、查费、缴费、看公告。
模块
说明
p-app
Spring Boot 3.2 应用(端口 18099 ),智慧物业 REST API 与前端页面
p-plugin
DSH Java Native 插件(property-copilot),打包 5 个 AI 工具
业务数据:5 位业主(高层住宅/洋房/商铺/车位各类型)、5 笔账单(含逾期 1 笔)、5 张报修工单(待派单/处理中/已完成/已评价,紧急单 2 笔)、3 条公告(通知/活动/预警)、4 条巡检记录(消防通道堆物、儿童设施螺丝松动 2 项异常)。
工具
说明
repair_list
报修工单列表:工单号/房号/类别/紧急度/状态/师傅/评分,可按房号与状态过滤
repair_file
报修登记:紧急单 2 小时上门、普通 24 小时,返回工单号(R 前缀)
fee_calc
物业费试算:面积×单价月缴、未缴账单数、欠费总额、预存余额
pay
账单缴纳:预存余额扣款,逾期加日千分之三违约金,余额不足提示充值
board
物业看板:待派单/欠费/满意度/巡检异常/公告(通知/活动/预警)
方法
路径
说明
GET
/api/owners?room=
业主列表
GET
/api/repairs?status=&room=
报修工单列表
POST
/api/repair
报修登记 {room,category,desc,urgency}
POST
/api/dispatch
派单 {repairId,worker}
POST
/api/finish
完工 {repairId,note}
GET
/api/bills?room=
账单列表
POST
/api/pay
缴费 {billId}
GET
/api/fee?room=
物业费试算
GET
/api/notices
公告列表
GET
/api/patrols
巡检记录
GET
/api/stats
物业看板
POST
/api/assistant/stream
AI 助手 SSE(透传 DSH)
mvn clean package -DskipTests
java -Dserver.port=18099 -jar p-app/target/p-app-1.0.0-SNAPSHOT.jar
bash install_plugin.sh p-plugin/target/p-plugin-1.0.0-SNAPSHOT.jar \
property-copilot 1.0.0-SNAPSHOT p-plugin-1.0.0-SNAPSHOT.jar " AI 物业管家"
open http://127.0.0.1:18099/
bash agent_stream.sh 127.0.0.1:8090 property-copilot " 我是 3-2-0603 李女士,厨房水龙头漏水了,麻烦紧急报修"
bash agent_stream.sh 127.0.0.1:8090 property-copilot " 帮我查一下 3-1-1201 的物业费,欠了多少?怎么算的?"
bash agent_stream.sh 127.0.0.1:8090 property-copilot " 确认,用余额帮我缴纳这笔账单"
bash agent_stream.sh 127.0.0.1:8090 property-copilot " 我是 8-1-101 赵先生,卧室窗户关不严,帮我报修一下"
bash agent_stream.sh 127.0.0.1:8090 property-copilot " 小区最近有什么活动?巡检发现什么问题了吗?"
5 个工具全部验证通过(含重复缴费拦截、公告数据边界如实回答)。验证截图:
截图
内容
AI 登记紧急报修:工单 R7003、水电类、2 小时上门,附应急建议
AI 报面积×单价计算式、欠费结清状态与预存余额
AI 汇报工单/欠费/满意度/巡检,并如实说明公告明细数据边界
SLA 分级 :urgency 紧急(漏水/停电/电梯类)2 小时上门、普通 24 小时;登记即返工单号(R 前缀)与上门时限。
缴费防重 :已缴账单直接拦截「勿重复缴费」;逾期单加违约金(日千分之三×30 天封顶测算);从预存余额扣,余额不足提示充值;AI 系统提示强制缴费前复述金额二次确认。
状态机 :报修 待派单→(派单)处理中→(完工)已完成→(评价)已评价;派单必须指定师傅,完工必填处理说明。
数据边界诚实 :看板接口只返回聚合统计时,AI 明确告知「公告明细/巡检明细不在当前接口范围」并引导换个查法,不编造内容。
超时修复 :SSE 代理配置 spring.mvc.async.request-timeout: 180s 解决长回答 503。
结论约束 :报修必报工单号与上门时限;缴费必复述金额(含违约金);逾期说明违约金规则;数据全部来自工具返回。
property-service/
├── pom.xml # 父 pom(maven.compiler.parameters=true)
├── p-app/ # Spring Boot 应用 (18099)
│ └── src/main/java/cn/xiaofuge/p/app/
│ ├── PropertyApplication.java
│ ├── PStore.java # 业主/工单/账单/公告/巡检/缴费/统计
│ ├── PController.java # REST API
│ └── AssistantController.java # SSE 透传 DSH
├── p-plugin/ # DSH 插件 (property-copilot)
│ └── src/main/
│ ├── java/.../PropertyPlugin.java # 5 工具
│ └── resources/META-INF/ # plugin.yaml + SPI
└── docs/
├── 使用说明.md
└── images/ # 验证截图 ×4