路亚钓鱼宗师 是一个专注于路亚钓鱼场景的 AI Agent 开源项目。它通过智能问答交互,收集用户的钓鱼计划信息,结合天气、位置等实时数据,为钓友提供专业、个性化的钓鱼指导建议。
- 智能问答:通过多轮对话收集钓鱼计划信息
- 天气分析:获取目标地点天气预报,评估钓鱼适宜度
- 知识检索:内置丰富的路亚钓鱼知识库
- 装备建议:根据目标鱼种推荐合适的装备和饵料
- 钓法指导:提供专业的控饵手法和水层选择建议
| 特性 | 说明 |
|---|---|
| 🏗️ 清晰架构 | 分层设计,Agent/LLM/Tools/Config 模块解耦 |
| 🔄 多模型支持 | 通义千问、智谱 GLM、DeepSeek 一键切换 |
| 🎭 模拟模式 | 无 API Key 也能体验完整功能 |
| 📚 丰富知识库 | 7 种鱼种、8 个钓点、装备技巧全覆盖 |
| 🌐 API 预留 | FastAPI 接口,方便扩展小程序/Web |
| 📖 完整文档 | 快速开始指南 + API 文档 |
| 功能 | 描述 | 状态 |
|---|---|---|
| 🤖 多模型支持 | 支持通义千问、智谱 GLM、DeepSeek 等多种 LLM | ✅ |
| 💬 智能对话 | 多轮对话收集钓鱼计划信息 | ✅ |
| 🌤️ 天气查询 | 和风天气 API 集成,支持模拟模式 | ✅ |
| 📍 地理服务 | 高德地图 API 集成,支持模拟模式 | ✅ |
| 📚 知识库 | 内置丰富的路亚钓鱼知识 | ✅ |
| 🖥️ CLI 界面 | 命令行交互界面 | ✅ |
| 🌐 REST API | FastAPI 接口,方便扩展 | ✅ |
- Python 3.9+
- pip 或 poetry
git clone https://github.com/yourusername/LureMaster-Agent.git
cd LureMaster-Agentpip install -r requirements.txt# 复制配置模板
cp .env.example .env
# 编辑 .env 文件,填入您的 API Key
# 至少配置一个 LLM API Keypython -m cli.mainuvicorn api.main:app --reload --host 0.0.0.0 --port 8000访问 http://localhost:8000/docs 查看 API 文档
- 访问 阿里云百炼平台
- 登录/注册阿里云账号
- 开通"模型服务",在左侧菜单找到「API-KEY管理」
- 创建 API Key,将 Key 填入
.env文件的BAILIAN_API_KEY
免费额度:新用户赠送免费 tokens,Qwen-Turbo 百万 tokens 仅 0.3 元
- 访问 智谱开放平台
- 登录/注册账号
- 创建 API Key
- 将 Key 填入
.env文件的ZHIPU_API_KEY
免费额度:新用户赠送 tokens
- 访问 DeepSeek 开放平台
- 登录/注册账号
- 创建 API Key
- 将 Key 填入
.env文件的DEEPSEEK_API_KEY
- 访问 和风天气开发者平台
- 注册账号并创建应用
- 选择"免费订阅"(每天 1000 次调用)
- 将 Key 填入
.env文件的QWEATHER_API_KEY
- 访问 高德开放平台
- 注册账号并创建应用
- 选择"Web 服务"类型
- 将 Key 填入
.env文件的AMAP_API_KEY
💡 提示:不配置天气和地图 API 也可以使用,系统会自动启用模拟模式
LureMaster-Agent/
├── agents/ # Agent 核心模块
│ ├── __init__.py
│ ├── base.py # Agent 基类
│ └── lure_master.py # 路亚宗师 Agent 实现
├── llm/ # LLM 抽象层
│ ├── __init__.py
│ ├── base.py # LLM 基类
│ ├── qwen.py # 通义千问
│ ├── zhipu.py # 智谱 GLM
│ └── deepseek.py # DeepSeek
├── tools/ # 工具模块
│ ├── __init__.py
│ ├── base.py # 工具基类
│ ├── weather.py # 天气工具
│ ├── location.py # 地理工具
│ └── knowledge.py # 知识检索工具
├── config/ # 配置模块
│ ├── __init__.py
│ ├── settings.py # 配置管理
│ └── prompts.py # 提示词模板
├── data/ # 数据文件
│ └── fishing_knowledge.json # 钓鱼知识库
├── cli/ # CLI 界面
│ ├── __init__.py
│ └── main.py # 命令行入口
├── api/ # REST API
│ ├── __init__.py
│ └── main.py # FastAPI 应用
├── main.py # 主入口
├── requirements.txt # 依赖列表
├── .env.example # 环境变量模板
└── README.md # 项目文档
启动 API 服务后,访问以下地址查看完整文档:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
| 接口 | 方法 | 描述 |
|---|---|---|
/api/chat |
POST | 对话接口 |
/api/weather |
POST | 天气查询 |
/api/location |
POST | 地理查询 |
/api/knowledge |
POST | 知识检索 |
/api/fish-species |
GET | 鱼种列表 |
/api/fishing-spots |
GET | 钓点列表 |
import requests
# 创建会话并发送消息
response = requests.post(
"http://localhost:8000/api/chat",
json={
"message": "明天打算早起钓鳜鱼"
}
)
print(response.json())
# {
# "session_id": "xxx-xxx-xxx",
# "response": "好的,明天早起钓鳜鱼是个不错的选择!...",
# "stage": "collecting",
# "collected_info": {"time": "明天早上", "target_fish": "鳜鱼"}
# }# 对话接口
curl -X POST "http://localhost:8000/api/chat" \
-H "Content-Type: application/json" \
-d '{"message": "明天打算早起钓鳜鱼"}'
# 获取鱼种列表
curl "http://localhost:8000/api/fish-species"╔═══════════════════════════════════════════════════════════════╗
║ ║
║ 🎣 欢迎来到【路亚钓鱼宗师】🎣 ║
║ ║
║ 我是您的专属路亚钓鱼顾问,拥有30年实战经验 ║
║ 让我们一起制定完美的钓鱼计划吧! ║
║ ║
╚═══════════════════════════════════════════════════════════════╝
您: 明天打算早起去太湖钓鳜鱼
╭─────────────────── 路亚宗师 ───────────────────╮
│ │
│ 好的!明天早起去太湖钓鳜鱼是个不错的选择! │
│ 让我帮您分析一下: │
│ │
│ 📍 地点确认:太湖(江苏省苏州市) │
│ 🌤️ 天气情况: │
│ - 明天:晴,8-18°C,东南风 3级 │
│ - 钓鱼适宜度:极佳(85分) │
│ │
│ 🐟 目标鱼种:鳜鱼 │
│ - 习性:底层肉食性鱼类,喜欢清澈水质 │
│ - 推荐饵:软虫、亮片、VIB │
│ - 推荐钓法:跳底、慢速收线 │
│ │
│ 🎣 装备建议: │
│ - 路亚竿:MH调性(中硬调) │
│ - 渔轮:纺车轮 2500型 │
│ - 钓线:PE线 1.5-2.0号 + 碳线前导 │
│ │
│ 💡 作钓建议: │
│ 1. 鳜鱼喜欢在障碍物附近活动 │
│ 2. 早上6-8点是黄金时段 │
│ 3. 使用跳底手法 │
│ │
│ 祝您爆护!🎣 │
│ │
╰───────────────────────────────────────────────╯
| 类别 | 技术 |
|---|---|
| 语言 | Python 3.9+ |
| Agent 框架 | 自研轻量级框架 |
| LLM | 通义千问 / 智谱 GLM / DeepSeek |
| API 框架 | FastAPI |
| CLI | Rich |
| 天气 API | 和风天气 |
| 地图 API | 高德地图 |
- Web 界面(Streamlit)
- 微信小程序前端
- RAG 知识增强
- 钓点地图可视化
- 钓鱼记录管理
- 社区分享功能
- 多语言支持
欢迎贡献代码、提出问题或建议!
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 提交 Pull Request
- 遵循 PEP 8 编码规范
- 添加必要的注释和文档字符串
- 确保代码通过测试
本项目采用 MIT 许可证 - 详见 LICENSE 文件
- 提交 Issue: GitHub Issues
- 功能建议: GitHub Discussions
如果这个项目对您有帮助,请给一个 ⭐ Star 支持一下!
Made with ❤️ by 路亚钓鱼爱好者
A Vertical Domain AI Agent for Lure Fishing
An intelligent fishing assistant based on Large Language Models.
- 🤖 Multi-LLM Support (Qwen, GLM, DeepSeek)
- 💬 Intelligent Q&A for fishing planning
- 🌤️ Weather analysis with fishing suitability scoring
- 📍 Location services integration
- 📚 Built-in fishing knowledge base
- 🖥️ CLI interface
- 🌐 REST API for easy integration
# Clone
git clone https://github.com/yourusername/LureMaster-Agent.git
cd LureMaster-Agent
# Install
pip install -r requirements.txt
# Configure
cp .env.example .env
# Edit .env with your API keys
# Run CLI
python -m cli.main
# Run API
uvicorn api.main:app --reloadMIT License - See LICENSE for details.