Files
QiuSWandClaude Opus 5 5c5c6825b0 docs: 记录原型确认结果并移除已删除设计规范的引用 (#4)
- 原型确认记录填入线上链接、版本 v4、确认日期与覆盖范围
- 新增「已确认的界面决定」:侧栏形式与宽度、登录状态唯一显示位置、
  两行工具栏、四个搜索条件到 getPage 参数的映射、店铺来源、
  运行日志独立窗口、路径选择框类型、表格列
- R6 状态改为「原型已确认,未实现」
- 负责人于 2026-09-02 删除了 Wails专属Chrome登录与淘宝以图搜流程.md,
  三处 Wiki 引用改指向业务规则与术语页,并留一句说明避免后人再引用
- 架构页「当前事实」更新为已有 Go 骨架
- README 补充目录说明与当前状态

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LbdtsD3ohhSMy3KPoCgARq
2026-09-02 15:59:54 +08:00

95 lines
5.1 KiB
Markdown
Raw Permalink 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.
# cmsp
cmsp 是内部使用的 Windows 桌面工具:把货憨憨 ERP 中指定 Shopee 店铺的商品,按商品主图到淘宝搜同款,抓取同款商品详情页的介绍视频,下载到本地,再批量上传回货憨憨对应商品,使 Shopee 商品页刷新后能看到视频。
技术栈为 Go + Wails v2 + Vue 3 + Naive UI + SQLite,只支持 Windows。项目采用 DevHarness 工作流:需要工单的任务以 Gitea 工单为单次任务事实来源,Gitea Wiki 保存长期文档,Git 记录代码变更,人负责确认目标和验收。
治理模式为**轻量**。内部工具、单人开发、不对外交付、无常驻服务,因此不设置超出实际风险的门禁。
## 当前状态
Go 骨架已建立:Wails v2 窗口、参数设置读写、SQLite 存储和脱敏日志可用并有单元测试覆盖。
货憨憨与淘宝的业务功能尚未实现——界面上「下载数据」「下载视频」「上传数据」三个按钮点击后会明确提示还没实现。这些能力目前只存在于仓库外的两份已验证 Python 实现,正在按工单逐步迁移为 Go。
详见 [项目档案](docs/00-project-profile.md) 与 [需求总览](docs/09-product-requirements-overview.md)。
## 任务闭环
```text
讨论需求或缺陷
-> 阅读代码并提出方案
-> 人工确认方案
-> 创建单元任务工单(需要时先建 Epic / MVP)
-> Agent 实现并测试
-> 提交代码并更新工单
-> 工单集中回写最终证据并等待人工验收
-> 人工验收后在工单记录结论
-> 关闭工单并更新父工单;长期事实变化时才同步 Wiki
```
轻量模式下符合直接实施条件的小 Bug、局部 UI 和单模块低风险调整不走上述闭环:确认目标 → 最小修改 → 受影响范围测试 → 提交并报告结果。
涉及货憨憨写操作、账号凭据、SQLite 结构迁移、并发或删除数据时必须建工单并按高风险处理。
## 快速开始
1. 克隆本仓库到本机,例如 `D:\chengma\cmsp`。
2. 创建 Gitea 远端仓库并推送当前引导提交,启用工单和 Wiki。
3. 配置 `wiki-docs.json` 和安全访问方式;优先使用已配置的 Gitea MCP,MCP 不可用时才使用 Gitea API 并记录原因。令牌只通过环境变量或 MCP 安全配置提供,不写入仓库。
4. 按 [新项目文档初始化](docs/07-new-project-documentation-setup.md) 查询线上 Wiki;`Home` 不存在时先创建并回读 `Home`,取得 revision 后再创建其他核心页面。
5. 治理模式已在 [项目档案](docs/00-project-profile.md) 选定为轻量;不可违反的安全规则写在根目录 `AGENTS.md` 的「项目专用规则」。
6. 需要工单时使用 `.gitea/issue_template/` 中的模板。本地 `docs/` 的存在不能证明线上 Wiki 已初始化。
7. 开始产品代码前运行:
```powershell
python dev_scripts/harness.py sync --verify
```
## 常用命令
```powershell
git status --short --branch
python dev_scripts/harness.py check --strict
python -m unittest discover -s tests -v
python dev_scripts/harness.py sync --check
```
产品构建与测试命令在 Go 骨架建立后补入 [本地开发与验证](docs/04-local-development-and-verification.md)。
## 目录
```text
AGENTS.md Agent 的通用工作规则与本项目专用红线
CLAUDE.md Claude Code 的规则入口
.gitea/issue_template/ Epic、MVP、单元任务工单模板
docs/ Gitea Wiki 核心页面的只读镜像
docs/task/ 人工明确要求的专项快照,默认为空
wiki-docs.json 核心 Wiki 页面到本地镜像的显式映射
dev_scripts/harness.py check / sync / archive / export 单一入口
dev_scripts/wiki_docs.py Gitea Wiki 客户端与镜像生成库
tests/ DevHarness 结构自测
main.go / app.go Wails 入口与暴露给前端的方法
internal/config/ 参数设置的读写与校验
internal/store/ SQLite,所有状态的唯一事实来源
internal/logx/ 带脱敏的日志
frontend/src/ Vue 3 + Naive UI 界面
config.example.yaml 本机配置模板(config.yaml 不进 Git)
```
`docs/` 由同步工具生成,不要直接编辑。
## 安全底线
无论治理模式如何裁剪流程,下面几条不可违反:
- 账号、密码、token、Cookie、Chrome Profile 内容不得写入代码、日志、工单、Wiki 和提交。
- 淘宝登录必须由使用者手动完成,程序不代填密码、不绕过验证码与安全验证。
- 淘宝登录失效必须中断整批任务,不得降级为单商品失败后继续。
- 对真实店铺的批量写入、覆盖和删除必须获得明确授权。
- 测试结果必须真实,未执行或无法覆盖的验证必须写明。
## 文档
默认不创建任务归档;`archive`、`export` 只作为人工显式触发的兼容能力。长期文档的唯一编辑入口是 Gitea Wiki,修改顺序为:修改 Wiki → 读取确认 → 导出核心 `docs` → 校验差异 → 提交镜像。