Netclode
在自有服务器的隔离微虚拟机中运行云端编程代理,并通过原生苹果客户端随时接入。
- Star 数
- ★ 262
- 最近更新
- 3 个月前
- 主语言
- Swift
- FA 评分
- 51/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台Codex · Claude Code · OpenAI API · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 高 · 需要较重的基础设施
- 开始前需要
- 典型场景
- 希望从 iPhone 或 Mac 远程处理代码、同时不把执行环境托管给第三方云端编程平台的个人开发者。
- 不适合
- 没有支持嵌套虚拟化的 Linux VPS 的个人或团队
- 希望用一条命令或托管服务快速上手的用户
- 需要 Web、Windows 或 Android 客户端的用户
- 源码审查
- 51/100 · 缺口较多
这个 Agent 能做什么,适合哪些场景?
Netclode 是一套自托管云端编程代理系统,为每个会话分配由 Kata Containers 和 Cloud Hypervisor 隔离的微虚拟机。Go 控制平面运行在 k3s 上,从预启动池分配沙箱,并通过 Connect RPC 将提示发送给沙箱内的 TypeScript/Node.js SDK 运行器。它支持 Claude Code、OpenCode、Copilot 和 Codex SDK,并可连接 Anthropic、OpenAI、Mistral、Ollama 等提供方。Redis Streams 保存可重连的会话事件,JuiceFS 将工作区、工具、Docker 镜像和 SDK 会话持久化到 S3,以支持暂停、恢复、快照和回滚。用户可通过 SwiftUI 编写的 iOS/macOS 客户端或 Go 调试 CLI 操作会话,并能查看差异、打开实时终端及经 Tailscale 访问端口预览。部署边界是支持嵌套虚拟化的 Linux VPS,使用 Ansible、k3s、Tailscale、S3 和相关凭据自行运维。
客户端通过 Tailscale Ingress 和 Connect RPC 连接 Go 控制平面;控制平面从 agent-sandbox 预热池分配 Kata VM,并把提示转发给其中的 Claude Code、OpenCode、Copilot 或 Codex SDK。代理可在拥有 root 权限和 Docker 的沙箱中读取及修改工作区、安装工具、运行命令,并调用所配置的远程模型 API或本机 Ollama。响应经流式连接返回,Redis Streams 持久化事件,使客户端断线后能够继续接收。暂停时系统删除虚拟机,但通过 JuiceFS 将工作区、已安装工具、Docker 镜像和 SDK 会话保留在 S3;恢复时重新挂载同一存储。系统会在每轮之后自动建立快照,可同时回滚工作区和聊天记录。GitHub 集成能够克隆私有仓库、推送提交和创建 PR;GitHub Bot 可响应 PR 或 issue 中的 @mention,并自动审查 Dependabot 或 Renovate 的依赖更新 PR。secret-proxy 在沙箱外为允许的主机注入 API 密钥,因此真实密钥无需进入沙箱。
- 希望从 iPhone 或 Mac 远程处理代码、同时不把执行环境托管给第三方云端编程平台的个人开发者。
- 需要让编程代理以 root 权限运行 Docker、安装任意工具,又希望用独立微虚拟机限制会话影响范围的团队。
- 拥有本地 GPU,希望通过 Ollama 执行本地推理、避免模型请求离开自有机器的用户。
- 需要长期保留多个项目会话,但希望暂停时只承担 S3 存储占用而不持续运行虚拟机的开发者。
- 希望通过 GitHub issue 或 PR 的 @mention 启动沙箱任务,或自动审查 Dependabot、Renovate 更新的仓库维护者。
- 需要通过 Tailscale 访问沙箱 Web 预览、内部基础设施和实时终端的私有网络用户。
如何安装或部署这个 Agent?
部署文档只给出了流程,没有提供可直接复制的完整命令。已说明的步骤是:准备支持嵌套虚拟化的 Linux VPS;运行仓库中的 Ansible playbook 配置服务器;设置模型 API 密钥、S3 凭据和 Tailscale OAuth;部署 infra/k8s 下的 Kubernetes 清单;最后通过 Tailscale 连接。实际部署还涉及 k3s、Kata Containers、Cloud Hypervisor、Redis、JuiceFS 与 S3。来源未给出 VPS 规格、具体 playbook 命令、清单应用命令、环境变量名或 iOS/macOS 客户端安装方式,因此仅凭所给材料无法写出完整且可复制的首次安装命令。
如何使用这个 Agent?
完成部署并通过 Tailscale 接入后,可从原生 iOS/macOS 应用创建或恢复会话;控制平面会从预热池分配沙箱,然后把提示交给所选 SDK。用户可在应用中查看流式回复和多仓库 Git diff、进入实时 shell、使用语音输入,并将沙箱端口暴露到 tailnet。会话可暂停以删除 VM、保留 JuiceFS/S3 数据,之后恢复到同一工作区和 SDK 会话;也可利用每轮快照回滚工作区与对话。GitHub 场景可在 PR 或 issue 中 @mention 机器人,触发沙箱并让结果以评论返回。仓库还包含 Go 调试 CLI,但来源没有提供 CLI 的构建命令、登录步骤或首次调用语法。
这个 Agent 有哪些优点和局限?
- 每个会话使用 Kata Containers 与 Cloud Hypervisor 微虚拟机隔离,因此沙箱内可以开放 root、Docker 和工具安装能力。
- 支持 Claude Code、OpenCode、Copilot、Codex 以及多个远程模型提供方,并可用 Ollama 在本机 GPU 上推理。
- 预启动沙箱池减少冷启动等待;Redis Streams 支持断线重连后的事件续接。
- JuiceFS 到 S3 的持久化允许删除暂停会话的 VM,同时保留工作区、工具、Docker 镜像和 SDK 会话。
- 按轮次生成会话快照,能够同时回滚代码工作区与聊天状态。
- API 密钥由沙箱外的 secret-proxy 按允许的主机注入,减少密钥直接暴露给代理进程的风险。
- 需要自行运维支持嵌套虚拟化的 Linux VPS、k3s、Kata Containers、Cloud Hypervisor、Redis、JuiceFS、S3 和 Tailscale,基础设施复杂度较高。
- 必须配置模型 API 密钥、S3 凭据和 Tailscale OAuth;使用 GitHub 私有仓库及机器人功能还依赖 GitHub App 集成。
- 主要图形客户端是采用 SwiftUI 和 iOS 26 的 iOS/macOS 应用,来源未说明 Web、Windows 或 Android 客户端。
- 快速开始仅列出高层步骤,缺少可直接执行的 playbook、Kubernetes 和客户端安装命令。
- 许可证标记为未知,组织在采用、修改或再分发前需要先确认授权条件。
- 宣称暂停会话几乎只产生存储成本,但来源未提供容量规划、性能基准、故障恢复指标或实际成本数据。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Netclode 当前 | 51 · 缺口较多 | 自托管服务免费 + 模型费 | ★ 262 | 3 个月前 | Swift | Codex · Claude Code · OpenAI API · Claude API |
| Omnigent | 68 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 11k | 今天 | Python | ChatGPT · Codex · Claude Code · Claude.ai · OpenAI API · Claude API |
| Skybridge MCP Apps 框架 | 63 · 存在缺口 | 命令行工具免费版 + 付费版 | ★ 2.2k | 10 天前 | TypeScript | ChatGPT · Claude.ai |
| OpenChamber | 71 · 存在缺口 | 桌面应用免费 + 模型费 | ★ 13k | 今天 | TypeScript | — |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
文档描述了 Kata 微虚拟机、网络策略、按 SDK 和目标主机限制的密钥代理,以及 GitHub Bot 的仓库权限门槛,支持最小权限和数据流审查;密钥代理代码也显示它从挂载文件读取令牌并转发请求。扣分原因:Bot 评论、推送及自动依赖审查会产生外部影响,材料没有说明逐次确认流程;GITHUB_TOKEN 被列为不经代理的直接值,敏感信息处理仍非全面;仅有部分 CI 配置,未充分呈现依赖安全策略;贡献者指南未清楚说明产品安全责任或归属。
README、架构文档和代理代码大体相互吻合,代码也包含连接失败后的重试及代理错误响应。扣分原因:部分架构和安全保证只有文档陈述,未由所给源码全面印证;依赖可用性、升级策略和故障恢复细节有限;失败日志和错误返回虽存在,但没有证据表明错误处理覆盖充分。
项目明确面向希望自托管云端编码代理的用户,并列出 iOS/macOS、CLI、本地推理、Tailnet 和多个 SDK 场景;文档也说明网络范围、基础设施要求和 GPU 配置。扣分原因:能力边界和部署条件有说明,但未覆盖所有场景,且没有完整的非目标或适用性矩阵;事件触发和配置说明较好,但未详述所有触发边界。
README 按架构、部署、运维和功能文档组织内容,提供部署步骤、命令示例、CLI 用法及若干限制说明,命名整体一致。扣分原因:许可证元数据未知且材料没有许可证文本;版本历史和变更记录证据有限;维护责任和支持渠道不明确;已知限制说明并不完整。
产品把远程会话、微虚拟机隔离、持久化、会话恢复、移动端和多种 SDK 集成在一起,文档给出可操作的部署与使用示例。扣分原因:价值主张主要由 README 陈述,缺少所给材料中的独立量化验证;自托管栈涉及 k3s、Kata、存储、Redis、Tailnet 与 GPU 等组件,成本和运维负担未充分权衡。
README 的架构图和功能说明可与沙箱架构文档、代理源码及 CI 工作流部分对照;所给源码支持代理读取令牌、添加认证头和转发请求。扣分原因:不少安全、性能及产品效果主张仍是文档断言;CI 工作流展示了测试步骤,但本次材料不构成执行或测试结果证据;事实、设计意图和推断未总是明确区分。
- 这是静态审查,置信度低;文档中的安全和性能保证未在此独立验证。
- 部署前应重点核实 GitHub Bot 的发布权限、直接使用的 GITHUB_TOKEN 及密钥代理允许的目标主机。
- 部署需要具备嵌套虚拟化能力的主机,并涉及多项基础设施组件;许可证信息未知。
常见问题
暂停会话后会丢失哪些内容?
代理需要多大的系统权限?
模型密钥会进入代理沙箱吗?
可以完全在本地运行模型吗?
采用前最需要确认什么?
谢谢反馈,我们会据此改进页面。