Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

scenic-guide · AI 导览台(DSH Java Native 插件场景案例 P54)

基于 deepseek-harness-java(DSH)Java Native 插件机制 的景区导览场景案例:8 大景点(拥挤度/步行/游览时长)+ 3 条官方路线(半日/全日/亲子,展开为逐站序列)+ 演出索道场次排队 + 周边设施指引 + 实时客流避堵建议,通过 scenic-copilot 插件接入 AI 助手,支持自然语言规划行程、避堵、找设施。

总览

一、项目组成

模块 说明
g-app Spring Boot 3.2 应用(端口 18093),景区导览 REST API 与前端页面
g-plugin DSH Java Native 插件(scenic-copilot),打包 5 个 AI 工具

业务数据:8 个景点(东区观景/西区刺激/南区亲子/中区人文,含拥挤度与开放时间)、3 条官方路线(可展开逐站拥挤等级)、5 个演出/索道/体验项目(场次/排队/票价)、5 处设施(餐厅/卫生间/停车场/游客中心)、实时客流总览(平均拥挤度/最热最闲/长队项目/官方避堵建议)。

二、插件工具(5 个)

工具 说明
spot_list 景点列表:区域/类型/步行/游览时长/亮点/拥挤度/开放时间,可按区域与类型过滤
route_list 官方路线:适用人群/总时长/站点顺序/tip
activity 演出/索道/体验:场次时间/地点/排队分钟/票价
facility 周边设施:餐厅/卫生间/停车场/游客中心位置与备注
flow 实时客流:平均拥挤度/拥挤景点/最热最闲/长队项目/避堵建议

三、REST API

方法 路径 说明
GET /api/spots?area=&type= 景点列表
GET /api/routes 路线列表
GET /api/route?id= 路线详情(逐站展开 + 拥挤等级)
GET /api/activities?type= 演出/项目
GET /api/facilities?type= 周边设施
GET /api/flow 实时客流
POST /api/assistant/stream AI 助手 SSE(透传 DSH)

四、快速开始

mvn clean package -DskipTests
java -Dserver.port=18093 -jar g-app/target/g-app-1.0.0-SNAPSHOT.jar

bash install_plugin.sh g-plugin/target/g-plugin-1.0.0-SNAPSHOT.jar \
  scenic-copilot 1.0.0-SNAPSHOT g-plugin-1.0.0-SNAPSHOT.jar "AI 导览助手"

open http://127.0.0.1:18093/

五、端到端验证

bash agent_stream.sh 127.0.0.1:8090 scenic-copilot "半天时间怎么玩最划算?现在人多不多?"
bash agent_stream.sh 127.0.0.1:8090 scenic-copilot "带5岁孩子来玩,推荐个路线,顺便说下哪里能吃饭"
bash agent_stream.sh 127.0.0.1:8090 scenic-copilot "玻璃栈道现在挤不挤?还有演出都几点?"
bash agent_stream.sh 127.0.0.1:8090 scenic-copilot "厕所和停车场在哪"

5 个工具全部验证通过。验证截图:

截图 内容
AI 行程规划 AI 按拥挤度排顺序给出半日行程与错峰衔接建议
AI 亲子路线 AI 亲子线 + 餐厅/母婴室/厕所全程安排
AI 避堵应答 AI 报索道排队 25 分钟并给先上后挤策略

六、技术要点

  • 拥挤度分档:≥75% 拥挤(红)/ 50~75% 中等(黄)/ <50% 舒适(绿);路线详情把每站拥挤等级展开,AI 可据此调换站点顺序。
  • 路线展开模型:route_detail 把 spotIds 展开为带 visitMin/crowdLevel 的有序序列并汇总游览时长,AI 直接可读。
  • 排队预警:waitMin ≥20 分钟的项目进 longWait 清单,系统提示要求主动提醒并给替代方案(如免费茶马古道替代索道)。
  • 结论约束:行程必须给「按顺序站点 + 每站时长 + 总时长 + tip」,避堵用拥挤度数据说话,禁止编造景点与场次。

七、目录结构

scenic-guide/
├── pom.xml                  # 父 pom(maven.compiler.parameters=true)
├── g-app/                   # Spring Boot 应用 (18093)
│   └── src/main/java/cn/xiaofuge/g/app/
│       ├── ScenicApplication.java
│       ├── GStore.java        # 景点/路线/演出/设施/客流
│       ├── GController.java   # REST API
│       └── AssistantController.java # SSE 透传 DSH
├── g-plugin/                # DSH 插件 (scenic-copilot)
│   └── src/main/
│       ├── java/.../ScenicPlugin.java  # 5 工具
│       └── resources/META-INF/       # plugin.yaml + SPI
└── docs/
    ├── 使用说明.md
    └── images/              # 验证截图 ×4

About

AI 导览台 · 景区导览场景案例(DSH Java Native 插件 P54):景点拥挤度 + 路线规划 + 演出索道 + 设施指引 + 实时客流避堵,5 个 AI 工具

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages