## Why 项目代码已具备完整功能,但存在两个问题:①缺少优秀开源项目的标准配置(Issue/PR 模板、CI、Code of Conduct、Security Policy),降低社区协作门槛和可信度;②根目录混杂 6 个服务文件(`llm_service.py`、`sd_service.py`、`mcp_client.py`、`analytics_service.py`、`publish_queue.py`、`config_manager.py`),与 `services/` 模块目录并列,架构层次不清晰。两个问题结合目录清理后的稳定状态一并解决。 ## What Changes ### 目录结构整理 - **将 6 个根目录服务文件迁移至 `services/`**: - `config_manager.py` → `services/config_manager.py` - `llm_service.py` → `services/llm_service.py` - `sd_service.py` → `services/sd_service.py` - `mcp_client.py` → `services/mcp_client.py` - `analytics_service.py` → `services/analytics_service.py` - `publish_queue.py` → `services/publish_queue.py` - **更新所有受影响文件的 import 语句**(`main.py`、`ui/app.py`、`ui/tab_create.py`、`services/*.py` 共约 20 处) - **更新 `services/__init__.py`** 导出新增模块(可选,保持向后兼容) 目标根目录结构: ``` autobot/ ├── main.py # 程序入口(唯一根目录 .py) ├── ui/ # UI 层 (Gradio) ├── services/ # 全部业务逻辑层(迁移后) ├── assets/ # 静态资源 ├── config.example.json # 配置模板 ├── requirements.txt # 生产依赖 ├── requirements-dev.txt # 开发依赖(新增) ├── Dockerfile / docker-compose.yml └── *.md / LICENSE # 文档 ``` ### 开源社区标准文件 - **新增 GitHub Issue 模板** — `.github/ISSUE_TEMPLATE/bug_report.md` 和 `feature_request.md` - **新增 PR 模板** — `.github/pull_request_template.md` - **新增 CI 工作流** — `.github/workflows/ci.yml`(Push/PR 触发 ruff + 导入验证) - **新增 Code of Conduct** — `CODE_OF_CONDUCT.md`(Contributor Covenant v2.1 中文版) - **新增 Security Policy** — `SECURITY.md` - **新增 `requirements-dev.txt`** — ruff、pre-commit - **完善 README**:顶部徽章(Python、License、CI)、修正项目结构图、替换 `your-username` 占位符 ## Capabilities ### New Capabilities - `project-restructure`: 根目录服务文件迁移至 `services/`,全量 import 更新,分层架构清晰 - `oss-community-health`: Issue 模板、PR 模板、Code of Conduct、Security Policy - `oss-ci-workflow`: GitHub Actions CI(ruff 代码检查 + 导入验证) - `oss-readme-polish`: README 徽章、结构说明修正、占位符修复 ### Modified Capabilities (无需修改现有 spec) ## Impact - `project-restructure`:影响 `main.py`、`ui/app.py`、`ui/tab_create.py`、`services/` 下全部文件(仅修改 import 路径,不改业务逻辑) - 社区文件和 CI 仅新增,不修改现有代码 - Dockerfile 的 `COPY` 指令兼容(整目录复制,无需修改) - 对运行时行为、Docker 部署、依赖均无影响