LacoPro 是一个持续运行的加密货币智能交易 Agent,通过事件驱动架构联动AI推理、市场分析与交易执行,实现 24/7 自动化交易决策,并提供完整的远程控制和审计能力。
- 增强LLM推理:支持Function Calling、多轮推理(最多10轮)、工具链式调用
- 多模型支持:云雾AI (GPT-5) + 豆包AI + DeepSeek-V3,支持运行时动态切换
- 智能重试机制:交易失败时自动反馈错误给AI,调整决策后重试(最多3次)
- 智能工具调用:8个专业工具(市场数据、技术指标、投资组合、持仓分析、风险评估、趋势分析、仓位计算、机会发现)
- 智能决策框架:平衡BUY/SELL决策能力,提供思考维度而非机械规则,让AI自主灵活决策
- 三层记忆系统:短期记忆(最近5个决策)、中期记忆(7天总结)、长期统计(历史经验)
- 智能摘要生成:使用nano模型生成简洁易读的决策摘要(<0.001元/次)
- 容错机制:LLM异常时自动降级,交易失败时智能重试
- 事件驱动:事件队列 → 上下文观测 → AI决策 → 交易执行 → 风险监控
- 三层缓存:Observation/MarketContext/Ticker性能优化
- 安全防护:实时风险监控、权限管理、违规检测、完整审计
- 状态管理:全局状态控制(ACTIVE/PAUSED模式)
/status- 系统状态总览/portfolio- 账户详情和持仓/positions- 持仓详细信息/opportunities- 当前机会币种/history [条数]- 交易历史记录
/trigger- 手动触发交易流程/pause- 完全暂停系统(停止定时触发、AI推理、自动交易)/resume- 恢复正常交易
/switch_model- 查看和切换LLM模型/model_status- 查看当前模型状态
智能决策报告:
- 🎯 决策结果:动作、币种、置信度、风险等级
- 💭 AI智能摘要:nano模型生成的简洁摘要(150-250字符),包含完整决策逻辑
- 📚 历史记忆:短期记忆(最近5个决策)、中期总结(7天经验)、长期统计
- 📊 AI详情:推理轮次、工具调用、Function Calling状态
- 💼 账户状态:总权益、可用资金、持仓数量
- 📈 市场快照:价格、涨跌幅
- 📋 当前持仓:币种、数量、盈亏
- 🤖 系统信息:模型、交易模式、时间
当前状态: 🟢 运行中
| 项目 | 信息 |
|---|---|
| 服务器 | 8.222.49.26 |
| 服务名 | lacopro-trading.service |
| 交易模式 | 实盘交易 |
| 定时任务 | 30分钟自动触发 |
| 币安API | ✅ 已连接 |
| Telegram | ✅ 已启用 |
服务管理:
# 查看服务状态
sudo systemctl status lacopro-trading
# 查看实时日志
sudo journalctl -u lacopro-trading -f
# 查看Telegram命令日志
sudo journalctl -u lacopro-trading -f | grep 'telegram_commands'
# 查看暂停/恢复日志
sudo journalctl -u lacopro-trading -f | grep -E 'trading_state|paused|resumed'lacopro/
├── README.md # 项目说明文档
├── pyproject.toml # Python项目配置和依赖
├── .gitignore # Git忽略规则
│
├── src/lacopro/ # 核心源代码
│ ├── agent/ # AI Agent核心模块
│ │ ├── orchestrator.py # 交易编排器(核心调度)
│ │ ├── enhanced_llm_reasoner.py # 增强LLM推理器
│ │ ├── llm_reasoner.py # 基础LLM推理器
│ │ ├── function_calling.py # Function Calling实现
│ │ ├── memory_system.py # 三层记忆系统
│ │ ├── decision_summarizer.py # 智能摘要生成
│ │ ├── context.py # 上下文构建器
│ │ ├── conversation_manager.py # 对话管理
│ │ ├── trading_state.py # 全局状态管理
│ │ ├── safety_guards.py # 安全防护
│ │ ├── tool_executor.py # 工具执行器
│ │ ├── tools_registry.py # 工具注册表
│ │ ├── events.py # 事件定义
│ │ ├── prompt_templates.py # Prompt模板
│ │ └── reasoner.py # 推理基类
│ │
│ ├── tools/ # 交易工具集
│ │ ├── base.py # 工具基类
│ │ ├── market_data_tool.py # 市场数据工具
│ │ ├── portfolio_tool.py # 投资组合工具
│ │ └── trading_tool.py # 交易执行工具
│ │
│ ├── services/ # 业务服务层
│ │ ├── scheduler.py # 定时调度服务
│ │ ├── dashboard_service.py # Dashboard服务
│ │ ├── decision_enhancement.py # 决策增强服务
│ │ ├── decision_diagnostic.py # 决策诊断服务
│ │ ├── proposal_generator.py # 提案生成器
│ │ ├── risk_service.py # 风险服务
│ │ ├── translation_service.py # 翻译服务
│ │ └── listeners/ # 事件监听器
│ │
│ ├── notifications/ # 通知系统
│ │ ├── telegram.py # Telegram通知
│ │ ├── telegram_commands.py # Telegram命令处理
│ │ ├── telegram_formatter.py # 消息格式化
│ │ └── base.py # 通知基类
│ │
│ ├── analysis/ # 分析模块
│ │ ├── analyst_agent.py # 分析Agent
│ │ ├── market_analyzer.py # 市场分析器
│ │ ├── coin_researcher.py # 币种研究
│ │ └── brief_formatter.py # 简报格式化
│ │
│ ├── risk/ # 风险管理
│ │ ├── engine.py # 风险引擎
│ │ ├── models.py # 风险模型
│ │ └── rules.py # 风险规则
│ │
│ ├── memory/ # 数据存储
│ │ ├── store.py # 内存存储
│ │ └── models.py # 数据模型
│ │
│ ├── data/ # 数据服务
│ │ └── ashare_market_data_client.py # A股数据客户端
│ │
│ ├── laco_chatbot/ # Laco聊天机器人
│ │ ├── agent.py # 聊天Agent
│ │ ├── laco_personality.py # 人格定义
│ │ ├── conversation_context.py # 对话上下文
│ │ ├── session_manager.py # 会话管理
│ │ ├── readonly_tools.py # 只读工具
│ │ └── ... # 其他组件
│ │
│ ├── api/ # REST API
│ │ ├── app.py # FastAPI应用
│ │ ├── routers/ # API路由
│ │ └── schemas/ # 数据Schema
│ │
│ ├── config/ # 配置管理
│ │ ├── settings.py # 配置定义
│ │ ├── model_manager.py # 模型管理
│ │ └── logging.py # 日志配置
│ │
│ └── static/ # 静态资源
│ └── dashboard/ # Dashboard前端
│
├── docs/ # 项目文档
│ ├── architecture.md # 系统架构设计
│ ├── deployment-guide.md # 部署指南
│ ├── DEPLOY_NOW.md # 快速部署说明
│ ├── TELEGRAM_SETUP.md # Telegram配置
│ ├── futures-trading-capability-design.md # 合约交易设计
│ ├── laco-code-review.md # 代码审查记录
│ ├── progress-log.md # 开发进度日志
│ ├── todo.md # 待办事项
│ └── archive/ # 历史归档
│ ├── implementation-reports/ # 实现报告
│ └── guides/ # 指南文档
│
├── scripts/ # 脚本工具
│ ├── deploy/ # 部署脚本
│ │ ├── deploy_complete_features.sh # 完整功能部署
│ │ ├── deploy_update.sh # 更新部署
│ │ ├── restart_lacopro.sh # 重启服务
│ │ └── ... # 其他部署脚本
│ ├── deploy_laco.sh # 主部署脚本
│ ├── start_with_laco.py # 启动脚本
│ ├── test_llm_apis.py # LLM API测试
│ └── deprecated/ # 已废弃脚本
│
├── examples/ # 示例代码
│ ├── monitoring/ # 监控工具
│ │ ├── live_monitor.py # 实时监控
│ │ ├── monitor_dashboard.py # 监控面板
│ │ └── quick_status.py # 快速状态
│ ├── *_demo.py # 功能演示
│ └── *_test.py # 测试示例
│
└── tests/ # 测试代码
├── unit/ # 单元测试
│ ├── test_trading_tool.py
│ ├── test_portfolio_tool.py
│ ├── test_risk_engine.py
│ └── ... # 其他单元测试
└── test_enhanced_agent.py # 集成测试
# 1. 安装依赖
pip install -e .
# 2. 运行测试
pytest tests/unit -v
# 3. 启动系统(需配置.env)
python live_trading_config.py# 连接服务器
ssh -i /path/to/key.pem ecs-user@8.222.49.26
# 部署更新
cd ~/lacopro
./scripts/deploy/deploy_complete_features.sh
# 检查服务
sudo systemctl status lacopro-trading- Python 3.11+
- 币安API密钥(需IP白名单)
- LLM API密钥(云雾AI 或 豆包AI)
- Telegram Bot Token
- Telegram配置 - Telegram Bot完整配置指南
- 系统架构 - 系统架构设计文档
- 开发进度 - 开发进度追踪
- 待办事项 - 任务列表
- API密钥管理:所有密钥存储在
config/.env,禁止提交到Git - 风险控制:实时风险监控和限额管理
- 权限管理:分级权限控制,高风险操作需审批
- 审计日志:完整记录所有操作和决策过程
- 暂停机制:支持完全暂停系统,紧急情况可立即停止
- 敏感配置使用环境变量,通过
pydantic-settings管理 - 功能开发前在
docs/todo.md登记任务 - 完成后更新
docs/progress-log.md - 重大设计变更更新
docs/architecture.md - 默认实现 dry-run 模式,真实交易需显式开启
- ✅ Phase 1: 核心架构和事件驱动系统
- ✅ Phase 2: Enhanced LLM Agent和Function Calling
- ✅ Phase 3: Telegram远程控制和通知系统
- ✅ Phase 4: 模型切换和暂停/恢复功能
- ✅ Phase 5: 三层记忆系统 + 智能摘要生成
- ✅ Phase 6: 智能重试机制 + 动态模型切换
- 🔜 Phase 7: 策略规则优化和动态风险管理
- 🔜 Phase 8: 多币种支持和风险分散
- ✅ 45个单元测试全部通过
- ✅ Enhanced LLM Agent集成测试 4/4
- ✅ 币安API连接验证通过
- ✅ Telegram命令功能验证通过
- ✅ 暂停/恢复机制验证通过
sudo systemctl restart lacopro-trading
sudo journalctl -u lacopro-trading -n 100检查环境变量和网络连接:
echo $TELEGRAM_BOT_TOKEN
echo $TELEGRAM_CHAT_ID
curl -s https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/getMe查看详细日志:
sudo journalctl -u lacopro-trading -f | grep -E 'llm|error|exception'版本: v1.11 最后更新: 2025-10-18 维护团队: LacoPro Development Team
- 🧠 智能驱动决策系统:从规则驱动彻底转型为自我反思的智能Agent
- 设计理念: "给AI更好的镜子(反思工具),而不是更多的镣铐(硬性规则)"
- 问题: 旧系统每次发现问题就添加规则修复,导致AI越来越机械化和模式化
- 方案: 移除硬性限制(如"最多3个持仓"、"单币种≤15%"),让AI自主决策
- 🔧 新增自我反思工具 (2个 → 10个工具):
analyze_trading_performance()- 分析最近交易统计、币种分布、策略问题诊断reflect_on_recent_decisions()- 回顾成功/失败案例,识别决策模式
- 📋 AI Prompt完全重写:
- 初始分析阶段: 强烈建议AI先调用反思工具了解自己的表现
- 推理阶段: 添加自我检查维度(交易成本意识、策略一致性、组合健康度)
- 最终决策: 移除机械规则,添加决策哲学(不被数字/时间/成本绑架)
- 🎯 核心改变:
- Before: "持仓数量 < 3个币种?" "建议仓位 ≤ 15%?"
- After: "我是否了解自己的表现?" "这个决策是深思熟虑的吗?" "我是否在重复错误?"
- 💡 预期效果: AI从数据中自主发现问题(如"交易频率过高,手续费消耗严重"),并自我调整策略
- 📊 工具数量: 8个 → 10个(新增交易表现分析、决策反思)
- 🐛 修复Portfolio FIFO成本价严重Bug:完整实现FIFO(先进先出)成本价计算
- 问题: 旧代码只累加买入记录,完全忽略卖出对库存的消耗
- 影响: 所有有过卖出记录的持仓成本价全部错误
- 实例: BEL成本价从错误的$0.3150(浮盈+45.94%)修复为正确的$0.4678(浮亏-1.73%)
- 修复: 使用FIFO队列,正确处理买入和卖出,精准计算剩余库存成本
- 优先级: 🔥 极高(直接影响盈亏判断和AI交易决策)
- 📊 成本价计算: 旧逻辑(只看BUY)→ 新逻辑(FIFO队列完整处理BUY+SELL)
- 🤖 Laco聊天机器人智能化升级:从机械关键词检测升级到AI意图分类
- 🎭 身份定位重新定义:Laco现在用第一人称"我"代表整个投资系统,不再说"系统不能交易"
- 🧠 AI意图分类系统:完全取代关键词检测,智能理解各种措辞表达
- 6种意图类别:决策质疑、盈亏询问、持仓查询、行情询问、系统状态、闲聊
- 按需数据获取:只查询用户真正需要的数据类型
- 上下文感知:结合对话历史理解当前消息
- 💾 新增系统记忆工具:ReadOnlyHistoryTool(交易历史)+ ReadOnlySystemStatusTool(系统状态)
- 💬 "问啥说啥"原则:避免啰嗦和模板化回复,不再无脑列数据
- 🛡️ 保守降级策略:AI分类失败时不查询数据,避免机械输出
- 🎯 Laco工具数:2个 → 4个(portfolio、market、history、system)
- 🚀 AI决策系统重大优化:增强SELL能力,平衡BUY/SELL决策框架
- ✨ 新增中性信息工具:
analyze_position_status- 提供持仓状态数据(盈亏、趋势、技术指标),不给买卖建议 - 🧠 重写AI Prompt:初始分析、推理阶段、最终决策三个阶段完整重写
- 新增"现有持仓审视"任务(与机会发现同等优先级)
- 新增SELL思考维度(盈亏、趋势、机会成本、风险回报、时间)
- 新增决策哲学(不被数字/时间/成本绑架,信任AI分析)
- 💡 设计理念:提供信息和思考框架,让AI自主灵活决策,避免机械规则(如"浮盈15%必须卖出")
- 📊 预期效果:AI能在趋势延续时保留高浮盈持仓,也能在趋势反转时及时止盈止损
- 🎯 交易工具数量:7个 → 8个(新增持仓状态分析工具)
- 🐛 Portfolio核心修复:实现FIFO成本计算算法,修复成本价=现价的问题
- 🐛 交易历史清理:只记录成功交易,移除$0.00失败订单污染
- 🎨 Portfolio显示优化:移除重复信息,简洁专业的持仓展示
- 🔍 小额持仓过滤:自动过滤<1 USDT的持仓,界面更清爽
- ✨ 持仓价值显示:添加每个币种的持仓价值(quantity × price)
- 🐛 风控规则优化:修复虚假保证金告警,精准区分现货/期货持仓
- 🐛 Telegram命令修复:修复/opportunities、/trigger命令错误
- 🔧 服务管理优化:解决双实例冲突,Telegram polling稳定(409→200 OK)
- ✨ 智能重试机制:交易失败时自动反馈错误给AI,支持最多3次智能重试
- ✨ 动态模型切换:修复模型切换功能,支持运行时无缝切换LLM模型(DeepSeek-V3、GPT-5、豆包)
- 🐛 修复交易精度问题:修复科学计数法导致的quantity格式化错误
- 🐛 修复Laco聊天机器人初始化:修复LacoAgent未正确初始化问题
- ✨ 三层记忆系统 + 智能摘要生成
- ✨ 模型切换和暂停/恢复功能