Perry Coding Agents

🛠️ 隔离空间·双代理·异步编码

Developer Tools榜 #32

在隔离的 Perry 工作空间中调度 OpenCode/Claude Code 完成编码任务、PR 审查与并行开发,支持自动唤醒回调与故障保护机制。

收藏
18.1k
安装
3.9k
版本
1.1.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

perry-coding-agents 是一套基于 Tailscale 网络的远程开发代理调度系统,允许用户在隔离的 Perry 工作空间中部署 AI 编码助手(OpenCode 或 Claude Code)执行开发任务。核心工作流遵循 "调度 → 设置唤醒回调 → 定时跟进 → 清理" 的四步模式。

主要操作模式:

  • 单次任务:通过 SSH 直接执行 opencode run 'task'claude 'task'
  • 后台任务:使用 nohup 后台运行,配合 HTTP 唤醒回调通知完成状态
  • 批量 PR 审查:并行创建多个工作空间,同时审查多个 PR
  • 并行 Issue 修复:每个 Issue 独立工作空间,完成后自动推送并创建 PR

关键配置要点:

  • 项目目录位于 ~/<workspace-name>,非 /workspace
  • 需动态获取 Tailscale IP 作为唤醒地址(tailscale status --self --json
  • 必须设置 20 分钟后的 cron 备用检查作为故障保护
  • Claude Code 需要 -t TTY 标志,OpenCode 提供 4096 端口 Web UI

显著优点

| 优势 | 说明 |
|------|------|
| **网络隔离安全** | 基于 Tailscale 的私有网络,工作空间仅对授权用户可见 |
| **资源弹性扩展** | 可按需创建/销毁工作空间,支持"Army Mode"并行处理 |
| **异步工作流** | 后台任务 + 唤醒回调实现真正的异步开发,无需阻塞等待 |
| **故障保护机制** | 强制 cron 备份检查,避免任务静默失败 |
| **多代理选择** | OpenCode(有 Web UI)与 Claude Code 按需切换 |

潜在缺点与局限性

1. 网络依赖性强:完全依赖 Tailscale 网络连通性,MagicDNS 在容器内不可用,需使用 IP 地址
2. 环境配置门槛:需预先配置 gateway 认证令牌、理解 wake callback 机制

3. SSH 非登录 shell 限制:命令需使用完整路径(/home/workspace/.opencode/bin/opencode),环境变量可能缺失

4. 调试复杂度:分布式故障排查需要检查多个节点(工作空间状态、代理进程、日志、网络连通性)

5. 令牌管理风险:Bearer Token 在 SSH 命令中传递,存在 shell 历史记录泄露风险

适合人群

  • 需要并行处理多任务的开发者(批量 PR 审查、多 Issue 修复)
  • 重视环境隔离的团队(敏感代码、不可信依赖测试)
  • 追求异步工作流的用户(长时任务无需保持连接)
  • 已部署 Tailscale + Perry 基础设施的组织

常规风险

| 风险等级 | 场景 | 缓解措施 |
|---------|------|---------|
| **中** | 唤醒回调失败导致任务状态未知 | 强制 cron 20分钟备份检查 |
| **中** | SSH 命令注入(变量未转义) | 使用单引号包裹任务,避免 `$` 扩展 |
| **低** | Token 泄露于 shell 历史 | 使用配置文件或环境变量注入 |
| **低** | 工作空间残留消耗资源 | 规则3:任务专属空间必须 `perry remove` |
| **低** | 网络分区导致无法连接工作空间 | `tailscale ping` 预检,备用 IP 直连 |

Perry Coding Agents 内容

暂无文件树

手动下载zip · 3.3 kB
contentapplication/octet-stream
请选择文件