- 新增 GitHub Issue 模板(Bug 报告、功能请求)和 Pull Request 模板 - 新增 Code of Conduct(贡献者行为准则)和 Security Policy(安全政策) - 新增 CI 工作流(GitHub Actions),包含 ruff 代码检查和导入验证 - 新增开发依赖文件 requirements-dev.txt 📦 build(ci): 配置 GitHub Actions 持续集成 - 在 push 到 main 分支和 pull request 时自动触发 CI - 添加 lint 任务执行 ruff 代码风格检查 - 添加 import-check 任务验证核心服务模块导入 ♻️ refactor(structure): 重构项目目录结构 - 将根目录的 6 个服务模块迁移至 services/ 包 - 更新所有相关文件的导入语句(main.py、ui/、services/) - 根目录仅保留 main.py 作为唯一 Python 入口文件 🔧 chore(config): 调整配置和资源文件路径 - 将 config.json 移至 config/ 目录,更新相关引用 - 将个人头像图片移至 assets/faces/ 目录,更新 .gitignore - 更新 Dockerfile 和 docker-compose.yml 中的配置路径 📝 docs(readme): 完善 README 文档 - 添加项目状态徽章(Python 版本、License、CI) - 更新项目结构图反映实际目录布局 - 修正使用指南中的 Tab 名称和操作路径 - 替换 your-username 占位符为格式提示 🗑️ chore(cleanup): 清理冗余文件 - 删除旧版备份文件、测试脚本、临时记录和运行日志 - 删除散落的个人图片文件(已归档至 assets/faces/)
37 lines
2.0 KiB
Markdown
37 lines
2.0 KiB
Markdown
## Context
|
||
|
||
项目工作区根目录(`f:\3_Personal\AI\xhs_bot\autobot\`)随开发过程积累了多个无用文件:旧版备份(`main_v1_backup.py`)、配置副本(`config copy.json`)、一次性测试脚本(`_test_config_save.py`)、临时记录(`Todo.md`)、运行日志(`autobot.log``)以及散落的个人图片(4 张 `.png`/`.jpg`)。
|
||
|
||
这些文件虽已被 `.gitignore` 排除出版本控制,但依然存在于工作区,干扰了目录可读性。无需改动任何运行时逻辑。
|
||
|
||
## Goals / Non-Goals
|
||
|
||
**Goals:**
|
||
- 删除 5 个明确无用的文件
|
||
- 将 4 张个人图片归入 `assets/faces/` 目录并更新 `.gitignore`
|
||
- 完善 `.gitignore` 注释与规则覆盖
|
||
- 建立 `project-structure` 规范 spec,为后续维护提供参考
|
||
|
||
**Non-Goals:**
|
||
- 不将根目录服务文件(`analytics_service.py`、`llm_service.py` 等)迁移至 `services/`(涉及 import 改动,留作独立变更)
|
||
- 不修改任何 Python 业务代码
|
||
- 不调整 Docker / CI 配置
|
||
|
||
## Decisions
|
||
|
||
**决策 1:图片归档至 `assets/faces/`**
|
||
- 选择 `assets/faces/` 而非直接删除,因为换脸功能可能在 UI 中需要默认头像路径,保留文件可避免破坏演示/教学场景
|
||
- 替代方案:直接删除 → 风险是用户文档引用了这些文件路径
|
||
|
||
**决策 2:`assets/faces/` 整体纳入 `.gitignore`**
|
||
- 个人图片属于隐私敏感数据,不应进入版本控制
|
||
- 在 `.gitignore` 中新增 `assets/faces/` 规则,并补充注释
|
||
|
||
**决策 3:`Todo.md` 直接删除而非迁移**
|
||
- 内容已过时且已有 openspec 任务管理体系替代,迁移意义不大
|
||
|
||
## Risks / Trade-offs
|
||
|
||
- **[风险] `my_face.png` 等文件路径可能被 `config.json` 引用** → 缓解:删除前检查 `config.json` 中是否存在相关路径字段;若存在则仅移动不删除,并在 `config.example.json` 中更新说明
|
||
- **[风险] `_autostart.bat` / `_autostart.vbs` 与 `assets/faces/` 路径无关,但同属根目录非标准文件** → 此次保留,自动启动脚本属于有效使用场景
|