by LeeFly-cn
TripStar multi-agent travel planner powered by Spring Boot 4, Spring AI Alibaba, StateGraph, multimodal note understanding and AMap
# Add to your Claude Code skills
git clone https://github.com/LeeFly-cn/TripStar-JavaGuides for using ai agents skills like TripStar-Java.
TripStar-Java is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by LeeFly-cn. TripStar multi-agent travel planner powered by Spring Boot 4, Spring AI Alibaba, StateGraph, multimodal note understanding and AMap. It has 50 GitHub stars.
TripStar-Java's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/LeeFly-cn/TripStar-Java" and add it to your Claude Code skills directory (see the Installation section above).
TripStar-Java is primarily written in JavaScript. It is open-source under LeeFly-cn on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh TripStar-Java against similar tools.
No comments yet. Be the first to share your thoughts!
Unlocks once the catalog security scan passes (runs nightly).
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
TripStar 是一个前后端分离的 AI 旅行规划项目。系统使用多 Agent 协作理解用户需求,读取小红书旅行内容,查询高德 POI、天气、酒店与餐饮,并生成包含每日路线、地图、景点图片、预算和知识图谱的完整攻略。
输入目的地、日期、交通方式、住宿偏好和自然语言要求,系统按以下顺序执行:
用户可以输入一个或多个小红书长链接、短链、App 分享内容,或者直接粘贴攻略正文。系统会:
StateGraph 控制自主规划研究阶段的执行顺序和条件边。ReactAgent 负责阶段内的工具调用与参数决策。BeanOutputConverter 将模型 JSON 转换为 Java Record。service、tool、both 三种运行模式。flowchart LR
WEB[TripStar Frontend] --> API[Spring Boot API]
API --> TASK[TripTaskService]
TASK --> AUTO[自主规划 Workflow]
TASK --> NOTE[指定笔记 Workflow]
AUTO --> XHS[XHS Search / Detail Agents]
XHS --> GRAPH[Spring AI Alibaba StateGraph]
GRAPH --> AMAP[AMap POI / Weather / Hotel Agents]
NOTE --> READER[Note Reader + Image Downloader]
READER --> VISION[Multimodal Understanding Agent]
VISION --> POI[POI Enrichment Service]
POI --> SUPPLEMENT[Weather + Conditional Hotel/Food Agents]
AMAP --> PLANNER[Planner Agent]
SUPPLEMENT --> PLANNER
PLANNER --> REVIEW[Review Agent]
REVIEW --> RESULT[Trip Plan + Knowledge Graph]
RESULT --> WEB
flowchart TD
START([START]) --> MODE{xhs_mode}
MODE -- service --> SERVICE[XHS Service]
MODE -- tool --> SEARCH[XHS Search Agent]
MODE -- both --> SERVICE
SERVICE -- service --> READY[XHS Ready Check]
SERVICE -- continue tool --> SEARCH
SEARCH --> DETAIL[XHS Detail Agent]
DETAIL --> READY
READY --> POI[AMap POI Agent]
POI --> WEATHER[Weather Agent]
WEATHER --> HOTEL[Hotel / Restaurant Agent]
HOTEL --> MERGE[Merge Research Context]
MERGE --> END([END])
| 阶段 | Agent / Service | 结构化输出 |
|---|---|---|
| 小红书搜索 | XhsSearchAgent |
XhsSearchResearchResult |
| 小红书详情 | XhsDetailAgent |
XhsDetailResearchResult |
| 高德研究 | POI / Weather / Hotel Agents | MapAgentResult |
| 指定笔记理解 | Multimodal Understanding Agent | XhsNoteUnderstandingResult |
| 最终规划 | TripPlannerAgent |
TripPlan |
| 行程质检 | TripReviewAgent |
ReviewResult |
| Graph 汇总 | Java Workflow | TravelResearchResult |
TravelResearchResult 只在 Graph 最终合并时创建,不作为单个阶段 Agent 的大而全输出 DTO。
TripStar-Java/
├── app/ # HTTP API、WebSocket、运行配置
├── common/
│ ├── core/ # 异常、常量、运行时设置
│ ├── json/ # JSON 配置
│ ├── redis/ # Redis
│ ├── satoken/ # Sa-Token
│ └── web/ # Web 通用配置
├── modules/
│ ├── ai/ # Agent、Structured Output、Prompt、Trace
│ ├── content/ # 小红书搜索、详情、公开笔记与图片读取
│ ├── map/ # 高德 API、Tool、POI 图片代理
│ └── trip/ # Workflow、规划、质检、DTO、知识图谱
├── docs/ # 源码学习与实现文档
├── .env.example
└── pom.xml
指定笔记模式读取公开笔记页面时不要求用户填写 Cookie;页面触发登录或风控验证时会明确失败。
参考 .env.example 配置 IDE、Shell 或部署平台环境变量:
AI_DASHSCOPE_ENABLED=true
AI_DASHSCOPE_API_KEY=your_dashscope_key_here
AI_DASHSCOPE_CHAT_MODEL=qwen-plus
AI_TRACE_ENABLED=true
AI_TRACE_DIR=./logs/ai-trace
AMAP_ENABLED=true
AMAP_KEY=your_amap_web_service_key_here
XHS_ENABLED=true
XHS_MODE=tool
XHS_COOKIE=your_xhs_cookie_here
XHS_SIGN_DIR=classpath:xhs_sign
DB_URL=jdbc:mysql://localhost:3306/tripstar?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
DB_USERNAME=root
DB_PASSWORD=
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_DATABASE=0
REDIS_PASSWORD=
XHS_MODE 可选值:
| 模式 | 说明 |
|---|---|
service |
Java Service 按固定流程采集内容 |
tool |
ReactAgent 调用小红书 Tool |
both |
两条链路都执行并合并,用于效果对比 |
小红书签名资源已内置:
modules/content/src/main/resources/xhs_sign/
git clone https://github.com/LeeFly-cn/TripStar-Java.git
cd TripStar-Java
mvn -DskipTests package
java -jar app/target/app-0.0.1-SNAPSHOT.jar
Windows PowerShell:
$env:JAVA_HOME="C:\path\to\jdk-21"
$env:Path="$env:JAVA_HOME\bin;$env:Path"
mvn -DskipTests package
java -jar app\target\app-0.0.1-SNAPSHOT.jar
默认地址:http://localhost:8080
git clone https://github.com/LeeFly-cn/TripStar-Frontend.git
cd TripStar-Frontend
cp .env.example .env
npm install
npm run dev
前端默认地址:http://localhost:5173
| 接口 | 方法 | 说明 |
|---|---|---|
/health |
GET | 健康检查 |
/api/settings |
GET / PUT | 读取或更新运行时设置 |
/api/trip/plan |
POST | 提交自主规划任务 |
/api/trip/plan/xhs-notes |
POST | 提交指定笔记规划任务 |
/api/trip/status/{taskId} |
GET | 查询任务状态与结果 |
/api/trip/ws/{taskId} |
WebSocket | 订阅实时进度 |
/api/trip/history |
GET | 查询当前运行实例的任务历史 |
/api/poi/photo |
GET | 查询小红书景点图片 |
/api/poi/photo/amap |
GET | 查询高德 POI 图片 |
/api/poi/photo/amap/proxy |
GET | 代理高德图片用于展示与导出 |
/api/chat/ask |
POST | 基于当前行程继续问答 |
{
"city": "昆明",
"cities": [{ "city": "昆明", "days": 3 }],
"start_date": "2026-08-01",
"end_date": "2026-08-03",
"travel_days": 3,
"transportation": "公共交通",
"accommodation": "交通方便的舒适型酒店",
"preferences": ["自然风光", "本地美食"],
"free_text_input": "带老人,不想太累,不去滇池",
"language": "zh"
}
{
"share_text": "小红书分享内容、长链接或短链,可填写多个",
"note_content": "也可以直接粘贴攻略正文",
"requirement": "不去滇池,保留笔记中的全部景点",
"start_date": "2026-08-01"
}
两个接口都会立即返回 task_id,后续通过状态接口或 WebSocket 获取进度和最终结果。
logs/ai-trace/yyyy-MM-dd/*.md
每个 Trace 文件包含:
排查 Agent 未调用工具、Structured Output 失败、Prompt 约束冲突或数据分类错误时,优先查看对应 taskId 的 Trace。
独立前端仓库提供:
1-1 / 1-2 路线序号推荐阅读顺序:
TripControllerTripTaskServiceTripResearchServiceXhsNoteResearchServiceXhsNoteMapResearchServiceTripAiPlannerServiceAiAgentServiceAiStructuredOutputServiceAiPromptTraceService.env、runtime_settings.json、Trace 日志或临时图片。本项目使用 GPL-2.0 协议开源。