返回首页

PocketCoder-A1:基于 Claude 的自主编码代理

PocketCoder-A1 — 通过 Claude 执行编码任务的自主代理,具有三级验证和 Web 仪表板。使用纯 Python,支持多个提供商,实时解析 NDJSON。真实案例演示了向项目添加提供商的自动化。

在自主编码上运行 Claude:PocketCoder-A1
Advertisement 728x90

PocketCoder-A1:基于Claude的自主开发代理,实现通宵自动化编程

PocketCoder-A1是一款CLI工具,配备Web仪表板,可自主执行开发任务。该代理以会话模式运行,保存状态,通过Claude CLI或API执行代码,并验证结果:包括pytest、py_compile和文件检查。支持Claude Max、Claude API和Ollama提供商。通过pip安装,可在任何项目上运行,仪表板位于localhost:7331。

采用纯Python构建,无框架依赖:包含15个模块,7086行代码。HTTP服务器基于http.server,JSON使用标准模块,文件操作通过pathlib。外部依赖极少:playwright用于端到端测试,anthropic/ollama为可选。

架构与启动Claude CLI

代理在启动前捕获验证基线,组装提示,以子进程形式启动Claude CLI,并实时解析NDJSON。关键启动标志:

Google AdInline article slot
import os, subprocess

env = os.environ.copy()
env.pop("CLAUDECODE", None)

proc = subprocess.Popen(
    ["claude", "-p", prompt,
     "--dangerously-skip-permissions",
     "--no-session-persistence",
     "--max-turns", "25",
     "--verbose",
     "--output-format", "stream-json"],
    cwd=str(project_dir),
    env=env,
    stdout=subprocess.PIPE,
    stderr=subprocess.STDOUT,
    text=True,
    bufsize=1,
)

| 标志 | 用途 |

|------|---------|

| -p prompt | 非交互模式 |

Google AdInline article slot

| --dangerously-skip-permissions | 自动确认tool_use |

| --no-session-persistence | 不保存会话 |

| --max-turns 25 | 迭代限制 |

Google AdInline article slot

| --output-format stream-json | NDJSON流 |

解析器对事件进行分类:tool_use(读取—蓝色,Bash—紫色,思考—黄色)。rate_limit_event指标通过AJAX每2–3秒更新仪表板。

三级结果验证

会话结束后,代理不会停留在“已完成”状态。验证流程包括:

  • 第一级(阻塞性): 编译所有.py文件,运行pytest,检查文件存在性,验证任务中的success_criteria。失败则重试并注入错误信息。
  • 第二级(警告性): ruff检查、构建、git差异—记录日志。
  • 第三级(防循环): 启动前基线错误检查。最多尝试5次,否则标记为阻塞并移至下一任务。

错误信息会注入提示中:“验证失败,尝试2/5,阻塞性:测试2项失败。”

提供商与任务管理

| 提供商 | 机制 | 要求 |

|----------|-----------|--------------|

| claude-max | CLI子进程,Stream-JSON,原生工具 | Claude Max订阅 |

| claude-api | Anthropic SDK,代理循环,6种工具 | API密钥 |

| ollama | 文本流,无工具调用 | 本地Ollama |

任务创建方式有三种:

  • CLI:pca task add
  • 仪表板快速添加。
  • AI转换:原始文本→结构化任务,含优先级和标准。

状态:待处理、进行中、已完成、已阻塞。拖放调整优先级。生命周期:代理自动选择下一任务。

实际案例:为epotos-templates添加提供商

epotos-templates项目用于文档处理。任务:克隆仓库,添加提供商切换Ollama→DeepSeek。

  • AI转换将原始文本转为5个带标准的任务。
  • 代理启动:claude-api,实时日志显示思考/BASH/读取。
  • 会话后—验证,成功则显示绿色勾选标记。
  • 自动过渡到下一任务:分析ollama.ts、ai-client.ts,grep端口。

每会话进度从0/5到2/5任务,提供详细工具调用日志。

关键要点:

  • 自主操作:设置任务—离开,返回已验证代码。
  • 三级验证防止误报。
  • 实时仪表板,含NDJSON解析和令牌指标。
  • 通过统一管道支持多提供商。
  • 开源,7086行纯Python代码,无框架依赖。

安装:pip install pocketcoder-a1pca init /path/to/projectpca ui。适合中高级开发者,希望利用LLM订阅实现通宵自动化。

— Editorial Team

Advertisement 728x90

继续阅读