# autonomous-coding **Repository Path**: Lss__sjk/autonomous-coding ## Basic Information - **Project Name**: autonomous-coding - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-16 - **Last Updated**: 2026-03-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 自治开发智能体演示 这是一个面向“长周期自动开发任务”的最小可用运行器,基于 Claude SDK,采用双智能体协作模式(初始化智能体 + 编码智能体),支持跨多轮会话持续推进项目。 ## 中文友好特性 - 提示词默认中文:任务说明、进度记录、测试结论都以中文为主。 - 运行输出默认中文:命令行提示、状态反馈更符合中文开发习惯。 - 工程语义保持兼容:代码标识符、JSON 字段、CLI 参数继续使用英文,减少工具链风险。 ## 环境准备 ```bash # 安装 Claude Code CLI(建议最新版) npm install -g @anthropic-ai/claude-code # 安装 Python 依赖 pip install -r requirements.txt ``` 检查安装: ```bash claude --version pip show claude-code-sdk npm -v npx -v ``` 配置 API 密钥: ```bash export ANTHROPIC_API_KEY='your-api-key-here' ``` ## 快速开始 ```bash python autonomous_agent_demo.py --project-dir ./my_project ``` 调试时可限制轮次: ```bash python autonomous_agent_demo.py --project-dir ./my_project --max-iterations 3 ``` ## 运行时长预期 > 首轮初始化会比较慢,这是正常现象。 - 第 1 轮会生成 `feature_list.json`(默认 200 条测试项),通常需要数分钟以上。 - 后续每一轮编码通常需要 5-15 分钟。 - 完整项目往往需要多轮累计运行数小时。 如果你只想快速演示,可把 `prompts/initializer_prompt.md` 中的测试项数量从 200 下调到 20-50。 ## 工作机制 ### 双智能体模式 1. **初始化智能体(第一轮)** - 读取 `app_spec.txt` - 生成 `feature_list.json` - 搭建基础项目结构 2. **编码智能体(后续轮次)** - 从当前状态续跑 - 每轮优先完成一个未通过项 - 验证通过后仅更新对应条目的 `passes` ### 会话续跑机制 - 每轮都是全新上下文窗口 - 进度通过 `feature_list.json` 和 git 历史持久化 - 默认 3 秒后自动进入下一轮 - 可用 `Ctrl+C` 暂停,随后用同命令继续 ### 浏览器自动化验证 - 编码轮默认通过 **Playwright MCP** 做真实浏览器交互验收(点击、输入、截图、控制台检查)。 - 客户端会在运行时通过 `npx @playwright/mcp@latest --headless` 启动 MCP 服务。 - 验证细则见 `prompts/coding_prompt.md` 的“测试方式(再次强调)”章节。 ## 安全机制 采用分层防护(见 `security.py` 与 `client.py`): 1. **沙箱隔离**:Bash 命令在隔离环境中执行 2. **目录权限限制**:文件工具只允许访问项目目录 3. **命令白名单**:仅允许预设命令(如 `ls`、`cat`、`npm`、`git` 等) 不在白名单内的命令会被安全钩子拦截。 ## 目录结构 ```text autonomous-coding/ ├── autonomous_agent_demo.py ├── agent.py ├── client.py ├── security.py ├── progress.py ├── prompts.py ├── prompts/ │ ├── app_spec.txt │ ├── initializer_prompt.md │ └── coding_prompt.md └── requirements.txt ``` ## 运行后生成内容 ```text my_project/ ├── feature_list.json ├── app_spec.txt ├── init.sh ├── claude-progress.txt ├── .claude_settings.json └── [application files] ``` ## 常见问题 **1)第一轮看起来“卡住了”** 通常仍在工作,正在批量生成测试项。看到 `[工具: ...]` 输出即可确认还在执行。 **2)命令被安全策略拦截** 命令不在白名单内。按需到 `security.py` 的 `ALLOWED_COMMANDS` 中扩展。 **3)提示未设置 API 密钥** 确认当前终端环境已设置 `ANTHROPIC_API_KEY`。 ## License Internal Anthropic use.