第 142 期 · 自托管 AI 的一条路线

你的 Agent 跑在哪?coder 把开发环境和 AI 代理一起收归自托管

判断:如果你想让一堆 Agent 在统一、可控、可审计的环境里跑,而不是各自散落在每台笔记本上,coder 是目前最完整的自托管方案之一;但它不是「装完即用」——你得先有自己的服务器、PostgreSQL 和对外域名,还得接受它的开源许可是 AGPL-3.0

一、它到底是做什么的

coder 是一个自托管的云开发环境与 AI 编码代理平台。工作区(workspace)用 Terraform 声明,通过一条安全的 Wireguard 隧道连回控制面,空闲了就自动关机省钱。对开发者来说,它把 EC2 虚拟机、Kubernetes Pod、Docker 容器这类基础设施变成「点一下就能开的开发机」;对团队来说,它把 onboarding 从几天压到几秒。

更关键的是它的 Coder Agents:一个原生的 AI 编码代理,它的循环跑在你的控制面(也就是你自己的基础设施)上,工作区里不放任何 API key。你可以接任意模型——Anthropic、OpenAI、Google、Bedrock 或自托管模型;每一次操作都绑定用户身份,并且有集中的模型治理、成本追踪和审计日志。换句话说,它顺手把「Agent 乱用密钥、成本算不清、出了事查不到谁干的」这几个老问题一起堵上了。

二、怎么用(装完先用起来)

在 Linux 或 macOS 上,官方给的安装方式是一行脚本(逐字取自 README):

curl -L https://coder.com/install.sh | sh

启动服务,本地浏览器打开就能建初始用户、建一个 Docker 模板、拉起第一个工作区:

coder server

真正上生产,要挂上自己的数据库和对外地址(命令逐字取自 README):

coder server --postgres-url <url> --access-url <url>

不加这些 flag,coder 会用内置数据库、并分配一个 *.try.coder.app 的评估地址,只能当体验用。工作区本身是用 Terraform 模板定义的(EC2 VM、K8s Pod、Docker 容器都行),这也是它和「纯远程桌面」最大的区别——环境是代码,可版本化管理、可复用。

三、优点和缺点

优点

  • 数据与控制在自己手里:控制面、Agent 循环、代码全在你自己的基础设施;工作区无密钥、身份绑定每次操作、集中审计与成本追踪;
  • 工作区是 Terraform 代码,EC2 / K8s / Docker 通吃,空闲自动关机省钱,开发机秒级开通;
  • 原生集成 VS Code、JetBrains 插件,一键开工作区;还有 GitHub Actions、Dev Container、Coder Registry 模板市场等集成;
  • 核心代码 AGPL-3.0,可以免费自部署、可改。

缺点和坑(均来自真实 issue)

  • 开源核心 AGPL-3.0 是强 copyleft:你改了代码并作为网络服务对外提供,必须公开对应源码;且部分企业功能走单独的 LICENSE.enterprise、要买 Premium 计划(典型的「开源 + 付费扩展」模式);
  • 生产可用依赖你自己的基建:必须自备 PostgreSQL 13+ 和对外域名(access-url),纯评估模式用 *.try.coder.app,不能直接当生产;
  • 不支持本地 / 离线模式:#6815 长期要求 local workspaces / offline mode,官方至今没做——意味着工作区本质上要连上一台一直运行的 coder server;
  • Terraform 锁定:#12009 在求 OpenTofu 兼容,目前主路径仍是 Terraform;#18048 反映 Terraform provider 可能比 coderd 先升级,导致支持错位;
  • 上手与稳定性摩擦:#15423 反映 Agent 连接排障繁琐、onboarding 不顺;#16754 建模板时 UI 会卡死;#13726 VS Code 端口转发用着用着就失效;#14242 改 autostop 设置得重启工作区;
  • 预构建(prebuilds)等能力只在 Premium(#23978)。

四、最终能达到什么效果

一句话:它把「开发环境」和「AI 代理」这两件事,一起收归到一个你完全掌控的自托管平台上。下面这张表帮你快速对号入座:

适合谁不适合谁
想给团队统一开发环境、又要把 Agent 的密钥/成本/审计管起来的技术团队;已经有服务器和 PostgreSQL、愿意自己运维的团队。只想在本机零成本试玩的人;没有自有基建、或不愿为 Premium 付费又想要企业功能的人;需要纯离线/本地模式的场景。
动手前三件事:① 准备一台长期运行的服务端 + PostgreSQL 13+ + 一个对外域名;② 先用 install.shcoder server 体验,再切 --postgres-url / --access-url 上生产;③ 工作区用 Terraform 模板定义,别手改每台机器。

以上结论来自 coder/coder 仓库 README、LICENSE(AGPL-3.0)与公开 issue;安装与命令逐字取自官方 README,本文未在本机安装运行,实际以官方文档为准。

下期预告:TencentCloud/Octop——腾讯云出品的自托管多用户多 Agent AI 助手,看大厂怎么把「给团队用的 Agent 中台」做成开源项目。