diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..0a50016 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,8 @@ +# CHANGELOG - 服务器运维日志 + +## v1.0.0 (2026-06-14) + +### Added +- 初始化仓库:README、CHANGELOG、DECISION_LOG +- 每日运维总结机制确立 +- 首份总结:2026-06-14 服务器功能变动总结 diff --git a/DECISION_LOG.md b/DECISION_LOG.md new file mode 100644 index 0000000..a8b944c --- /dev/null +++ b/DECISION_LOG.md @@ -0,0 +1,18 @@ +# 运维决策日志 + +记录服务器运维层面的关键设计决策、踩坑教训。 + +## 架构决策 + +### O-2026-06-14: 独立运维日志仓库 +**决策**:新建 beast/server-ops 仓库,独立于各服务仓库。 +**原因**:跨服务的变动总结(如一天内 Dashboard + Caddy + cron 同时变动)不属于任何单一服务仓库。 +**边界**:单服务变动记录在各服务自己的 CHANGELOG,跨服务总结记录在 server-ops。 + +### O-2026-06-14: 每日收尾防遗漏机制 +**决策**:每天对话结束时强制执行固化检查清单。 +**清单**: +1. 今日所有 Git 仓库是否 clean? +2. 跨服务总结是否写入 daily/YYYY-MM-DD.md? +3. 新确立的工程规范是否写入 decisions/ 或 MEMORY.md? +4. 各服务 CHANGELOG 是否已更新? diff --git a/README.md b/README.md index a2abf94..ce234a1 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,40 @@ -# server-ops +# 服务器运维日志 (Server Ops Log) -服务器运维日志 — 跨服务的版本变动、部署记录、经验沉淀 \ No newline at end of file +记录跨服务的版本变动、部署记录、经验沉淀。 + +## 仓库定位 + +所有 Gitea 单仓库覆盖不到的运维活动都记录在这里: +- 服务器配置变更(Caddy、systemd、cron) +- 跨仓库的功能变动总结 +- 工程规范的确立和修订 +- 踩坑记录和经验教训 + +## 与其他仓库的关系 + +| 仓库 | 职责 | +|:---|:---| +| beast/dashboard | Dashboard 代码+文档 | +| beast/freqtrade-strategies | 策略全生命周期 | +| beast/nav-page | 导航页 | +| beast/inspiration-collector | 灵感采集+AI摘要 | +| beast/ai-chat | AI 对话 | +| beast/todo-system | 待办系统 | +| beast/daily-brief | 日报生成 | +| beast/server-ops | **跨服务的运维日志(本仓库)** | + +## 目录结构 + +``` +server-ops/ +├── daily/ # 每日运维总结(YYYY-MM-DD.md) +├── changelogs/ # 跨服务版本变更记录 +├── decisions/ # 工程规范决策 +├── README.md +└── CHANGELOG.md +``` + +## 每日运维总结机制 + +每天收尾时自动生成 `daily/YYYY-MM-DD.md`,覆盖当日所有服务变动。 +格式参考 `daily/2026-06-14.md`。 diff --git a/daily/2026-06-14.md b/daily/2026-06-14.md new file mode 100644 index 0000000..8e7a1a5 --- /dev/null +++ b/daily/2026-06-14.md @@ -0,0 +1,71 @@ +# 2026-06-14 服务器功能变动总结 + +## Dashboard 交易监测看板 (dashboard.xybkwd.top) + +**仓库**:`beast/dashboard` | **systemd**:`dashboard.service` | **端口**:9000(Caddy 反代) + +### v1.0.2 — 余额计算 & 鉴权修复 +- Bug修复:余额计算fallback,wallet_history 为空时用 INITIAL_WALLET + SUM(close_profit_abs) +- Bug修复:auth中间件过严,/api/* 全部路径免auth +- 改进:后端监听 0.0.0.0 → 127.0.0.1(Caddy反代) + +### v1.0.3 — INITIAL_WALLET 自动读取 +- Bug修复:INITIAL_WALLET 不再写死,从 ~/freqtrade/user_data/config.json 读取 dry_run_wallet +- 优先级:环境变量 > config.json > 默认值 1000 + +### v1.0.4 — 品牌退役 & 配置三层修复 +- 重命名:Beast Trader → Dashboard(仓库/目录/systemd/前端/PWA) +- 严重教训:systemd Environment 覆盖 config.json(改配置查三层规则确立) +- 修复:systemd env(10000→1000) + config.json(10000→1000) + 代码默认值(1000) + +### v1.2.0 — 盈亏分布图重写 +- UI重写:盈亏分布直方图 Chart V2(viewBox 340x100→340x200,去旋转标签,加网格+数值+图例) + +### v1.3.0 — 第三屏升级为实时交易监测面板 +- 新功能:顶部监测状态栏(浮动盈亏 | 今日盈亏 | 最大回撤 | 连续盈亏) +- Bug修复:盈亏分布SQL GROUP BY → WITH ranges + LEFT JOIN +- Bug修复:每日盈亏 daily.length < 2 → === 0 +- Bug修复:conn.close() 过早关闭 → 500 错误 +- 后端新增:max_drawdown_pct、consec_wins、consec_losses + +### 仓库拆分 +- 策略相关文件全部移至 freqtrade-strategies +- DECISION_LOG 拆分为二 +- README 重写,垃圾清理 + +## Freqtrade 策略运行仓库 + +**仓库**:`beast/freqtrade-strategies` | **部署**:Docker 容器 + +### v1.0.0 — 初始化 +- git 仓库初始化,管理 freqtrade 配置和策略代码 +- 实盘策略:structure_flow_strategy_v2_2d.py + +### v1.1.0 — 全量归档 +- 全量策略版本:36个策略文件 +- 全量回测结果:15个结果文件 +- 分析工具脚本:7个 +- 策略文档:6个 +- Bug修复:dry_run_wallet 10000→1000 + +## Caddy HTTPS 反向代理 + +- 新增 `memo.xybkwd.top` → localhost:5230(Memos) +- 新增 `nav.xybkwd.top` → localhost:9001 + /var/www/nav +- 当前管理6个域名 + +## 自动化任务 (cron) + +全部正常运行:日报(23:55)、日报入仓(00:05)、交易导出(每小时)、周报(周日08:00) + +## 今日确立的工程规范 + +1. **Gitea 查档铁律**:涉及Gitea服务 → 先查CHANGELOG/DECISION_LOG/README +2. **改配置查三层**:环境变量 > 配置文件 > 代码默认值 +3. **仓库边界清晰分离**:Dashboard vs 策略 严格分界 +4. **生产环境与源码仓库同步**:先提交仓库,再从仓库部署 + +## IT 公司视角评估 + +一个人干了前端、后端、SRE、DevOps、产品、架构六个岗位的活。 +在正规 IT 公司,这是 5-8 人团队一整天的工作量。