Files
cmhub/docs/current-state.md
T

82 lines
4.6 KiB
Markdown
Raw Normal View History

2026-07-01 17:42:10 +08:00
# 当前实现状态
> 本文是可覆盖的当前快照,记录代码与任务看板的现实状态,帮助 AI coding agent 避免只看计划而忽略仓库现状。
> 历史执行流水追加到 [`../progress.md`](../progress.md),不要在本文重复维护完整执行日志。
## 职责边界
- [`06-tasks.md`](06-tasks.md):任务看板,维护任务状态、依赖和验收要点。
- [`../progress.md`](../progress.md):执行流水,只追加记录每轮执行、验证、阻塞和决策。
- `current-state.md`:当前快照,可覆盖更新当前目录、当前命令、已完成摘要和下一步。
## 当前快照
2026-07-02 09:07:15 +08:00
- 日期:2026-07-02
- 阶段:Phase 0 地基,T-002 已完成;下一步 T-003
- 技术栈:系统 Python 3.12.3 + Django 5.2.15 + DRF 3.16.1 + PyMySQL 1.1.3 + django-admin;MySQL 8.4 已接入 settings;用户端(模板 SSR/Bootstrap/allauth) 后续任务落地;详见 `03-tech-stack.md`
- 生产代码:已有最小 Django 工程骨架:`manage.py`、`config/`;T-002 已创建 `apps/users|portal|billing|ai|api`
- 测试:`manage.py check` / `manage.py test` 通过;MySQL 迁移已成功
2026-07-01 17:42:10 +08:00
- 数据:AI 上游调用与模型配置参考 `D:\chengma\cmbot`(`src/services/ai_text_service.py`、`ai_image_service.py`、`config/ai_models.json`)
2026-07-01 18:01:23 +08:00
- 标准启动路径:Windows 用 `./init.ps1`;Unix/WSL 用 `./init.sh`
- 标准验证路径:Windows 用 `py -3.12 manage.py check` / `py -3.12 manage.py test`
2026-07-01 17:42:10 +08:00
- 设计基线:**自助用户端 + 对外 API + 运营后台**三合一单体;用户模型 `User`(auth)/`UserWallet`(点数,锁 wallet 扣点)/`ApiKey`(1:N,哈希存储);对外两接口 + **能力别名 + Provider 适配器**(可插拔供应商);自助扫码充值;注册不送点数。详见 `04-architecture.md` 与 2026-06-29 / 2026-07-01 的 `progress.md` 决策
- 配置基线:运行环境变量集中见 `docs/env.md`;真实密钥/支付凭证不得写入代码或文档样例。充值订单在创建时锁定汇率与预计点数,回调入账使用订单值,不按新汇率重算
- 当前 blocker(已降级):**支付协议已明确**(微信 V3 native + 支付宝当面付,见 `api.md` / `04` 4.2,参考同支付系统 PHP 实现);**仅缺商户密钥/证书真实值**(微信 appid/mchid/apiv3_key/证书、支付宝 appid/公私钥、notify_url 域名)。不阻塞开发,T-304/T-305 可先 mock 联调,上线前填真实商户配置
## 当前目录要点
| 路径 | 状态 | 说明 |
| --- | --- | --- |
| `docs/` | 已有 | 全套 harness 文档 |
| `AGENTS.md` / `CLAUDE.md` | 已有 | 仓库级入口 |
| `progress.md` | 已有 | 执行流水,已记录多轮文档决策;后续任务继续追加 |
2026-07-01 18:01:23 +08:00
| `init.sh` / `init.ps1` | 已有 | 启动验证入口,已固定系统 Python 3.12 命令 |
| `requirements.txt` | 已有 | Django 5.2 / DRF 3.16 依赖 |
| `config/`(Django 工程) | 已有 | T-001 创建,含 settings / urls / wsgi / asgi |
2026-07-02 09:07:15 +08:00
| `apps/`(users/portal/billing/ai/api) | 已有 | T-002 创建;`apps/users` 已定义自定义 `User` |
2026-07-01 18:01:23 +08:00
| `manage.py` | 已有 | T-001 创建 |
2026-07-01 17:42:10 +08:00
| `tests/` | 待建 | 随各任务补充 |
## 任务看板状态
任务状态以 [`06-tasks.md`](06-tasks.md) 为准,历史执行记录见 [`../progress.md`](../progress.md)。
2026-07-01 18:01:23 +08:00
- 已完成:T-001 初始化 Django + DRF 项目骨架。
2026-07-01 17:42:10 +08:00
- 正在进行:无。
2026-07-02 09:07:15 +08:00
- 当前 blocker:无。
- 下一个可领取任务:**T-003 接通 django-admin 与最小测试**。
2026-07-01 17:42:10 +08:00
## 当前可运行内容
```bash
2026-07-01 18:01:23 +08:00
# Windows PowerShell
py -3.12 -m pip install -r requirements.txt
py -3.12 manage.py check
py -3.12 manage.py test
py -3.12 manage.py runserver
# Unix / WSL
python3.12 -m pip install -r requirements.txt
python3.12 manage.py check
python3.12 manage.py test
python3.12 manage.py runserver
2026-07-01 17:42:10 +08:00
```
2026-07-02 09:07:15 +08:00
当前骨架可运行。T-002 已在首次迁移前创建自定义 User,并按 `env.md` 接入 MySQL 8.4 / utf8mb4;远程 MySQL 已完成 Django 初始迁移。
2026-07-01 17:42:10 +08:00
## 开始编码前检查
1. 读仓库级 `AGENTS.md` / `CLAUDE.md`。
2. 读 `docs/00-ai-start-here.md`。
3. 读 `docs/05-coding-rules.md`(尤其第 8 节资金安全)。
2026-07-02 09:07:15 +08:00
4. 在 `docs/06-tasks.md` 取第一个 `TODO` 且依赖均 `DONE` 的任务(当前为 T-003)。
2026-07-01 17:42:10 +08:00
5. 将该任务状态改为 `DOING`。
## 维护规则
代码状态变化时同步更新本文:新增/移动入口文件、初始化框架或模块、任务状态变化、新增可运行命令、发现文档与代码不一致。
- 任务状态变化同步 [`06-tasks.md`](06-tasks.md)。
- 每轮执行记录、验证命令、阻塞、决策追加到 [`../progress.md`](../progress.md)。
- 本文件只保留当前快照,不保留完整历史。