Files
cmpdd/docs/current-state.md
T
chengmaandClaude Opus 4.8 c204fc205c fix: 运行方式改回脚本并自注入项目根,修复 Windows No module named 'src'
- 现象:Windows(Python 3.7) python -m src.main 报 No module named 'src',
  即便 cwd 在项目根、src/__init__.py 存在。
- 根因:该环境运行时不把当前目录加入 sys.path,python -m 找不到 cwd 下的 src 包。
- 修复:
  - src/main.py 启动时自注入项目根到 sys.path,不依赖运行环境配置;
  - 运行方式从 python -m src.main 改回脚本方式 python src/main.py;
  - dev.bat 恢复 CRLF 行尾并改用 python src\main.py;
  - 00/03/05/current-state 文档命令同步。

验证:WSL 下从不含 src 的目录脚本方式运行 exit=0;unittest 17 passed。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 17:48:35 +08:00

90 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 当前实现状态
> 本文记录代码与任务看板的现实状态,帮助 AI coding agent 避免只看计划而忽略仓库现状。
>
> **职责边界**:本文是**可覆盖的当前快照**——只描述"现在仓库长什么样"(目录、可运行命令、下一个可领取任务),变化时直接改写为最新状态。历史执行流水、每轮验证结果和阻塞记录写入 [`../progress.md`](../progress.md),本文不保留历史条目。
## 当前快照
- 日期:2026-06-24
- 阶段:Phase 0 地基(T-001、T-002、T-003 完成)/ 进入 Phase 1 原型验证
- 技术栈:Python 3.10(骨架已跑通);计划接入 PySide6 + `uiautomator2` + ADB + `openpyxl`
- 生产代码:骨架 + 核心数据模型 + 运行时基建(`src/main.py` 入口、`src/core/` 模型与状态、`src/logging_config.py` 日志、`src/paths.py` 产物路径)
- 测试:标准库 `unittest`,覆盖冒烟、核心模型、日志与产物路径(`tests/` 下 4 个测试文件)
- 数据:尚未提供真实 Excel 样例
## 当前目录要点
| 路径 | 状态 | 说明 |
| --- | --- | --- |
| `docs/` | 已有 | 项目规范化文档,已按 harness coding 文档风格建立。 |
| `src/` | 已有 | `main.py` 入口 + `core/`(状态枚举、任务模型)+ `logging_config.py`、`paths.py`;GUI/执行器/Excel/Android 模块后续添加。 |
| `tests/` | 已有 | `test_smoke`、`test_models`、`test_paths`、`test_logging`(unittest)。 |
| `requirements.txt` | 已有 | 依赖清单;当前零第三方运行时依赖,含依赖纪律注释。 |
| `samples/` | 待建 | 脱敏 Excel 样例。 |
| `logs/` | 运行时创建 | `app.log` 运行日志;被 `.gitignore` 忽略。 |
| `artifacts/` | 运行时创建 | 截图、UI XML 等运行产物;被 `.gitignore` 忽略。 |
## 任务与进度状态
任务定义以 [`../tasks.md`](../tasks.md) 为准,执行记录以 [`../progress.md`](../progress.md) 为准。
- 已完成:项目文档初始化;`T-001`、`T-002`、`T-003`(Phase 0 地基全部完成)。
- 正在进行:无。
- 下一个可领取任务:`T-101 验证 ADB 和 uiautomator2 真机连接`(Phase 1,需真机环境)。
## 当前可运行内容
骨架已可运行(T-001)。真实命令(Windows 用 `python`,Linux/WSL 用 `python3`):
```powershell
# 本地运行入口
python src/main.py
# 测试
python -m unittest discover -s tests -t .
# 语法检查
python -m compileall src
```
## 已确认产品决策
- 第一版使用桌面 GUI,不做 Web 后台。
- 第一版通过固定表头 Excel 导入任务,并回写结果 Excel。
- 第一版控制单台 Android 真机,使用 `uiautomator2 + ADB` 做最小可行性验证。
- 第一版默认人工确认支付,并预留受控自动支付:必须显式开启,且通过金额上限、商品/SKU/数量/地址二次校验;安全校验、验证码、风控、人脸、短信等节点必须人工接管。
- 默认不覆盖原始 Excel,生成 `_执行结果.xlsx`。
## 待用户提供 / 待验证
- 真实 Excel 表头样例。
- 一台可连接的 Android 真机。
- ADB 可用环境。
- 已登录拼多多账号的真机状态。
- 至少一个用于测试的拼多多商品链接和 SKU 信息。
## 开始编码前检查
开始任意任务前:
1. 读仓库级 agent 规则文件(如有)。
2. 读 `docs/00-ai-start-here.md`。
3. 读 `docs/05-coding-rules.md`。
4. 在 `../tasks.md` 取第一个 `TODO` 且依赖均 `DONE` 的任务。
5. 将该任务状态改为 `DOING`。
## 维护规则
当实际代码状态发生变化时,同步更新本文件:
- 新增或移动入口文件。
- 初始化框架或模块。
- 任务从 `TODO` 进入 `DOING` 或 `DONE` 时,同步 `../tasks.md` 和 `../progress.md`。
- 新增可运行命令。
- 发现文档和代码现实不一致。