first commit - cleaned
一个从抖音视频链接生成旅行方案的 MVP。前端使用 Next.js、Tailwind 和 ShadUI 风格组件,后端使用 FastAPI 和 DeepAgents。
web/
api/
后端:
cd api python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt cp .env.example .env uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
前端:
cd web npm install cp .env.example .env.local npm run dev
打开 http://localhost:3000 体验。
后端没有 OPENAI_API_KEY 时会自动使用本地兜底规划,保证流程可跑通。接入模型后,DeepAgents 会负责调用旅行工具并生成更细的方案。
OPENAI_API_KEY
大模型配置写在 api/.env:
api/.env
OPENAI_API_KEY=你的真实 API key OPENAI_BASE_URL= OPENAI_MODEL=gpt-4o-mini QWEN_ASR_API_KEY=你的百炼/DashScope API key QWEN_ASR_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1 QWEN_ASR_MODEL=qwen3-asr-flash QWEN_ASR_STREAM=true
如果使用 OpenAI 官方接口,OPENAI_BASE_URL 留空即可。如果使用 DeepSeek、通义千问等 OpenAI-compatible 接口,把对应 base url 填到 OPENAI_BASE_URL。填完后重启后端,并访问 http://localhost:8000/api/llm/status 检查 enabled 是否为 true。
OPENAI_BASE_URL
http://localhost:8000/api/llm/status
enabled
true
抖音复刻流程会调用 https://api.bugpk.com/api/douyin?url=... 解析视频,并把 data.music.url 的音频保存到 api/data/audio/。音频保存后优先用本地文件的 Base64 Data URL 调用 Qwen3-ASR;音频过大时会退回使用解析到的公网音频 URL。后端会等待 Qwen3-ASR 完成后再调用大模型总结,并按 data.video_id 把语音转写和结构化分析缓存到 api/data/cache/douyin/。
https://api.bugpk.com/api/douyin?url=...
data.music.url
api/data/audio/
data.video_id
api/data/cache/douyin/
真实数据源配置:
AMAP_API_KEY
MCP_12306_URL
MCP_12306_COMMAND
MCP_12306_ARGS
MCP_HOTEL_URL
MCP_HOTEL_COMMAND
MCP_HOTEL_ARGS
如果 MCP 需要鉴权,可以设置 MCP_12306_BEARER_TOKEN、MCP_HOTEL_BEARER_TOKEN,或用共享的 MODELSCOPE_SDK_TOKEN。
MCP_12306_BEARER_TOKEN
MCP_HOTEL_BEARER_TOKEN
MODELSCOPE_SDK_TOKEN
一个从短视频/抖音链接解析旅行线索,并结合 ASR、LLM、地图、天气、12306 与酒店工具生成可执行旅行方案的全栈 Agent MVP。前端基于 Next.js,后端基于 FastAPI。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
抖音旅行规划 Agent
一个从抖音视频链接生成旅行方案的 MVP。前端使用 Next.js、Tailwind 和 ShadUI 风格组件,后端使用 FastAPI 和 DeepAgents。
目录
web/:移动端优先的网页控制台api/:抖音解析、旅行工具、DeepAgents 规划接口本地运行
后端:
前端:
打开 http://localhost:3000 体验。
环境变量
后端没有
OPENAI_API_KEY时会自动使用本地兜底规划,保证流程可跑通。接入模型后,DeepAgents 会负责调用旅行工具并生成更细的方案。大模型配置写在
api/.env:如果使用 OpenAI 官方接口,
OPENAI_BASE_URL留空即可。如果使用 DeepSeek、通义千问等 OpenAI-compatible 接口,把对应 base url 填到OPENAI_BASE_URL。填完后重启后端,并访问http://localhost:8000/api/llm/status检查enabled是否为true。抖音复刻流程会调用
https://api.bugpk.com/api/douyin?url=...解析视频,并把data.music.url的音频保存到api/data/audio/。音频保存后优先用本地文件的 Base64 Data URL 调用 Qwen3-ASR;音频过大时会退回使用解析到的公网音频 URL。后端会等待 Qwen3-ASR 完成后再调用大模型总结,并按data.video_id把语音转写和结构化分析缓存到api/data/cache/douyin/。真实数据源配置:
api/.env配置AMAP_API_KEY后,会调用高德 POI、地理编码和天气接口。MCP_12306_URL,或复制本地启动命令到MCP_12306_COMMAND/MCP_12306_ARGS。MCP_HOTEL_URL,或复制本地启动命令到MCP_HOTEL_COMMAND/MCP_HOTEL_ARGS。如果 MCP 需要鉴权,可以设置
MCP_12306_BEARER_TOKEN、MCP_HOTEL_BEARER_TOKEN,或用共享的MODELSCOPE_SDK_TOKEN。