ccbot 资金报表系统配置与运维
ccbot 是一个面向多账户财务核算与报表推送的量化辅助系统。它采用前后端分离架构,包括底层的 SQLite 数据归档、FastAPI 只读 API 侧车,以及 Vue 3 + Tailwind 前端看板,统一通过飞书进行日报推送与表单交互。
一、 项目目录结构 (Directory Tree)
ccbot/ # 项目根目录
├── docker-compose.yml # 容器总编排文件 (串联前后端与网络)
├── .env # 全局机密环境变量 (已进行 [REDACTED] 脱敏)
├── data/ # 挂载卷目录 (用于 SQLite 数据库和日志持久化)
│
├── backend/ # 后端核心工程 (Python / 飞书机器人内核)
│ ├── Dockerfile.backend # 后端容器构建脚本
│ ├── requirements.txt # Python 依赖清单
│ ├── main.py # 飞书通信网关与主事件循环 (入口点)
│ ├── api_sidecar.py # 独立只读 API 网关 (为前端提供数据)
│ ├── handlers.py # 交互路由、业务逻辑层与卡片生成
│ ├── reporting.py # 财务核算 (Dietz) 与报表卡片渲染
│ ├── tasks.py # 后台调度引擎 (数据自动对账与推送)
│ ├── market_feeds.py # 外部行情网关 (Tradier、Yahoo 等源的统一出口)
│ ├── database.py # 异步数据库引擎与 ORM 模型
│ └── config.py # 全局配置中心、时间锚点与连接池管理
│
└── frontend/ # 前端工程 (Vue 3 / Vite / Tailwind UI)
├── Dockerfile.frontend # 前端构建脚本 (Node打包 + Nginx代理)
├── nginx.conf # Nginx 配置 (静态资源托管与 /api 代理转发)
├── package.json # Node.js 项目依赖清单
├── vite.config.js # Vite 构建工具配置
├── tailwind.config.js # Tailwind 样式主题配置
├── index.html # 前端页面物理入口
└── src/ # 前端源代码
├── main.js # Vue 实例挂载文件
├── App.vue # 前端看板根组件 (UI 主界面)
└── index.css # 全局样式与 Tailwind 核心注入二、 系统配置参数矩阵 (.env 契约)
项目根目录下的 .env 配置文件参数详解:
| 配置键名 | 参数类型 | 默认值 / 推荐值 | 作用与物理边界 |
|---|---|---|---|
CACHE_TTL_IDLE | 浮点数 | 3600.0 | 市场闲时(未交易时间)的行情与指标本地缓存生存时间(秒),防限流。 |
CACHE_TTL_TRADING | 浮点数 | 60.0 | 市场开盘交易时间段内的缓存生存时间(秒)。 |
DAILY_REPORT_TIME | 时间 | 06:30 | 每日触发 Dietz 财务核算并向飞书推送日报的时间(北京时间/CST)。 |
DB_NAME | 路径 | data/titan_q_assets.db | 核心数据库持久化路径,记录每日账户净值快照(daily_snapshots)。 |
DIVIDEND_TAX_RATE | 比例 | 0.10 | 针对账户美股/ETF 分红自动扣除的预扣税率(默认为 10%)。 |
TRADIER_ACCESS_TOKEN | 密钥 | [REDACTED] | Tradier API 生产环境访问凭证,必须严格只读授权。 |
FEISHU_APP_ID | 凭证 | [REDACTED] | 飞书开放平台自建机器人的 App ID。 |
FEISHU_APP_SECRET | 密钥 | [REDACTED] | 飞书自建机器人的 App Secret,用于生成 tenant_access_token。 |
FEISHU_REPORT_CHAT_ID | ID | [REDACTED] | 接收每日财务核算与估值日报的群组 ID(oc_ 前缀)。 |
二、 部署与运行指令 (Docker Compose)
ccbot 由三个互联的容器构成:写引擎(bot)、读侧车(api)和前端托管(frontend)。
1. 编译并拉起服务 (首次部署/代码更新)
cd /root/HermesAgent/ccbot
# 停止旧服务并清理容器
docker compose down
# 重新构建镜像并后台拉起
docker compose up -d --build2. 状态与健康度校验
- 数据库就绪校验:
bot容器自带 Python 脚本健康探测,会核验daily_snapshots是否加载完成。 - 查看容器日志:
# 查看后端机器人日志 docker logs -f titanq-bot --tail=100 # 查看只读 API 侧车日志 docker logs -f titanq-api --tail=100
三、 日常维护与数据备份
1. 本地数据库安全备份 (SQLite 容灾)
由于数据库在挂载卷中持续处于写状态,严禁直接使用 cp 拷贝,必须执行在线备份(Online Backup)以防止 B-Tree 损坏:
sqlite3 /root/ccbot/data/titan_q_assets.db ".backup '/root/ccbot_backup_$(date +%F).db'"2. 容器内部测试命令 (手动测试)
在服务启动状态下,可向 bot 容器直接发送指令测试数据核算是否正常:
docker exec -it titanq-bot python test_ccbot.py相关链接
- clbot对冲策略系统配置与运维 姐妹策略对冲项目运维
- DockerCompose工作流与更新 通用容器平滑更新与空间收回