Discord Bot MVP
基于AI的终端控制系统,核心功能是 /terminal 命令,智能管理Docker服务器。
🚀 快速开始
1. 初始化和测试
# 运行启动脚本(包含测试)
./start.sh --test
# 或手动执行
python3 init_db.py # 初始化数据库
python3 test_bot.py # 测试功能
python3 main.py # 启动bot
2. Docker部署
# 构建和启动
docker-compose up --build
# 后台运行
docker-compose up -d
📁 项目结构
discord_bot/
├── main.py # 主程序入口
├── tu_bot/ # Tu Bot (主控制器)
│ └── bot.py # Discord Bot核心逻辑
├── slash_commands/ # Slash命令处理器
│ ├── terminal/ # /terminal命令
│ │ └── terminal_handler.py # Terminal处理器
│ ├── terminal_fin/ # /terminal_fin命令 (计划)
│ ├── fin/ # 金融相关命令 (计划)
│ ├── db_operations/ # 数据库操作命令 (计划)
│ └── help/ # 帮助命令 (计划)
├── ai_bots/ # 多AI验证系统 (计划)
│ ├── ai_bot_1/
│ ├── ai_bot_2/
│ ├── ai_bot_3/
│ └── bot_template/
├── utils/ # 工具类
│ ├── database.py # 数据库管理器
│ └── token_reader.py # Token读取器
├── databases/ # SQLite数据库文件
│ └── discord_bot.db # 主数据库
├── backups/ # 备份文件
├── SlashCommandList.txt # 命令列表(热更新)
├── requirements.txt # Python依赖
├── Dockerfile # Docker配置
├── docker-compose.yml # Docker Compose配置
├── init_db.py # 数据库初始化脚本
├── test_bot.py # 功能测试脚本
└── start.sh # 启动脚本
🤖 主要功能
/terminal 命令
- AI控制终端: 通过Discord聊天控制Docker服务器
- 自然语言支持: "查看Docker容器状态" 等自然语言命令
- Shell命令:
ls,docker ps,pwd等直接命令 - 安全限制:
- 仅限
~/docker/*目录 - 禁止危险命令 (
rm -rf等) - 1小时会话超时
- 仅限
- 记忆管理: 智能压缩对话历史,控制token消耗
术语字典系统
- term_dic.db: 存储自定义术语和命令
- 优先级: term_dic定义 > AI默认知识
- 分类管理: docker, finance, project等分类
数据库结构
- toy_balance: ALP交易确认记录
- portfolio: 投资组合数据
- term_dic: 术语字典
- conversation_memory: 对话记录
- command_log: 命令执行日志
🔧 配置要求
Token文件 (~/docker/tokens.txt)
tu_discord_token=你的Discord_Bot_Token
claude_API=你的Claude_API_Key
gitea_token=你的Gitea_Token
# ... 其他配置
环境变量
DB_PATH: 数据库文件路径FR_DB_PATH: FinancialReport数据库路径(只读)TOKEN_PATH: token文件路径DISCORD_PREFIX: Bot命令前缀
🛡️ 安全机制
- 工作空间隔离: 限制在
~/docker/*目录 - 命令黑名单: 自动拒绝危险操作
- 权限分离: MVP开发AI有sudo权限,生产环境无sudo
- 审计日志: 记录所有重要操作
📊 使用示例
/terminal ls # 列出文件
/terminal docker ps # 查看容器
/terminal 查看当前目录文件 # 自然语言
/terminal 启动nginx容器 # AI理解意图
/help # 显示帮助
🔄 开发状态
- ✅ 基础架构: Docker配置、Python框架
- ✅ 数据库系统: SQLite表结构、术语字典
- ✅ /terminal命令: AI控制、安全限制、记忆管理
- ⏸️ 多AI验证: 3个AI bot + 讨论机制 (暂未实现)
- ⏸️ 金融命令: /fin_portfolio, /fin_report (计划中)
- ⏸️ 数据库操作: /db_* 系列命令 (计划中)
🐛 故障排除
常见问题
- Token错误: 检查
~/docker/tokens.txt格式 - 权限问题: 确保脚本有执行权限
chmod +x start.sh - 数据库错误: 运行
python3 init_db.py重新初始化 - Docker问题: 检查
docker-compose.yml卷挂载路径
日志查看
# 查看bot日志
tail -f bot.log
# Docker日志
docker-compose logs -f discord_bot
💡 提示: 这是MVP版本,重点实现 /terminal 核心功能。多AI验证系统作为开发工具暂时跳过。