项目介绍
Agent 配套工具 · 2026-11-09 更新 · 本站尚未实测
Zooid 是一个开源、可自托管的聊天应用,目标是把 AI Agent 与团队成员放在同一个协作空间里。根据 README,它通过 Matrix 作为消息传输层,通过 ACP(Agent Client Protocol)作为 Agent 协议,让 Claude Code、opencode、Codex、pi 等兼容 ACP 的 Agent 以标准 Matrix 用户身份进入房间、线程和审批流程,而不是另建一个独立的 AI 仪表盘。
仓库同时说明其整体栈由 ACP、Zooid daemon(本项目的 ACP–Matrix 桥)、Matrix homeserver 和 Zooid web 客户端组成,各层均可替换。项目以 TypeScript 编写,采用 MIT 许可,README 明确提供 npm 包与 zooid CLI 的安装方式。
核心能力
点击能力名称查看输入、输出和原文依据。
- 将兼容 ACP 的 Agent 接入 Matrix 房间,作为一等参与者与人共同出现。
- 预构建 Agent 镜像:Claude Code、Codex、opencode、pi;README 称其他兼容 ACP 的 harness(如 GitHub Copilot CLI、Cursor CLI、Gemini CLI 或自研 harness)也可连接。
- 容器化运行时:支持 Docker 或 Podman,每个 Agent 运行在独立长期容器中,挂载、环境变量和能力在
zooid.yaml中声明。 - 多 Agent 协作:Agent 是标准 Matrix 用户,可以相互 @ 提及并委派任务。
- 以代码描述团队结构:Agent 以声明式配置定义,团队结构变更可通过代码评审而不是网页界面完成。
- 推送或拉取两种连接模式:
appservice(推送)适合云端多 Agent 高吞吐部署;client(拉取)由 daemon 主动同步,可运行在防火墙后或笔记本上。 - 工作站身份隔离:每个 daemon 是一个工作站,拥有独立命名空间;多个工作站可共享同一 homeserver。
实际应用场景
适用场景
- 团队希望在一个聊天空间里同时使用人工成员和多个 AI Agent,并通过房间、线程与审批记录协作过程。
- 需要自托管消息与 Agent 协作基础设施,而不希望依赖单一厂商的闭源 AI 仪表盘。
- 已有 Matrix homeserver,或希望在本地通过容器快速体验 Matrix + Agent 协作。
- 希望把 Agent 团队配置作为代码管理,纳入版本控制和评审流程。
安装与接入
README 给出的快速开始步骤如下:
- 安装 CLI:
npm install -g zooid。 - 创建并进入工作目录后运行
zooid init,按提示选择 harness(claude、codex、opencode、pi)、模型提供方和认证方式,生成zooid.yaml及所需的.env。 - 运行
zooid dev启动本地栈。README 强调前置条件是已安装并运行 Docker 或 Podman(以docker别名调用 Podman)。 - 打开
http://localhost:5173,以admin/admin登录,加入#welcome并 @ 提及 Agent。
README 说明 zooid dev 会在容器中启动 Tuwunel Matrix homeserver、生成 Application Service 注册、注册管理员用户、运行 daemon 并提供 Zooid web 客户端。关于生产部署配方和 zooid.yaml 完整参考,README 指向 zooid.dev/docs。静态部署的 config.json 与 workforce_space 字段说明属于原文内容,但具体生产配置需以官方文档为准。
使用条件与限制
- 是否需要部署
- 需自行准备运行环境,具体要求见正文
- 是否需要注册
- 账号和认证要求见正文;未明确说明的项目仍待核验
- 是否需要 API Key
- 待核验
- 费用与额度
- 费用边界见正文,项目许可不代表模型或托管服务免费
- 所需权限
- 待核验
- 许可证与服务条款
- 待核验
权限费用与限制
- 认证与模型:
zooid init会询问模型提供方和认证方式;README 称每个预设均可使用已有订阅而非新 API Key。具体支持哪些模型、订阅与 API 计费方式,资料未逐一列出,需向官方核验。 - 隔离边界:在
runtime: docker或runtime: podman下,每个 Agent 获得独立上下文 socket,只挂载到自身容器。README 明确指出runtime: local是单一信任域,所有 Agent 以当前用户身份运行,可读取其他 Agent 文件,应按最高权限 Agent 对待。 - 权限声明:Agent 的挂载、环境变量和能力在
zooid.yaml中声明;具体默认权限与最小权限实践需参考官方文档。 - 费用:仓库代码采用 MIT 许可,但 README 未说明是否存在商业模块、托管服务或价格。项目开源不代表模型、云服务或全部功能免费,相关费用待向官方核验。
- 运行依赖:本地快速开始依赖 npm、Node.js(徽章标注 node 版本但正文未展开)以及 Docker 或 Podman;容器镜像发布在 GHCR。
国内使用情况
网友核验 用户经验分享
与站长实测独立,不代表官方认证或本站已实测。
最近核验:暂无有效核验。参与人数按当前项目有效身份去重;不同核验项分别统计,不合并成用户总结果。仅统计审核通过且未过期的记录。
分项统计、有效期与样本量
| 核验项目 | 有效人数 | 成功 / 部分 / 失败 / 无法判断 | 成功率 | 最近核验 / 有效期 |
|---|---|---|---|---|
| 官方网站访问 | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 7 天 |
| GitHub 仓库访问 | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 7 天 |
| 安装与运行 | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 30 天 |
| 官方服务国内连接 / MCP 连接 | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 30 天 |
| 国内网络情况 | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 7 天 |
| 国内模型兼容性 | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 30 天 |
| 自定义 API | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 30 天 |
| 海外服务依赖 | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 30 天 |
| 海外账号要求 | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 30 天 |
| 中文界面 | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 30 天 |
| 客户端兼容性 | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 30 天 |
| 账号及费用信息 | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 30 天 |
成功率 = 成功 ÷(成功 + 部分成功 + 失败);无法判断不计入分母。至少 5 份可判断结果才显示成功率。账号、费用、海外依赖与语言等事实项,成功表示核查结论与资料吻合,具体观察另行统计;不表示免费或没有海外依赖。不同网络、客户端和版本的结果不能直接等同。
最近有效核验
暂无审核通过且未过期的网友核验。欢迎提交真实使用记录。
查看全部有效核验 →国内实测状态:国内可用性待核验。协议兼容和官方资料说明不等于国内网络可用。
- 官方网站访问
- 尚未实测 待核验
- GitHub 仓库访问
- 尚未实测 待核验
- 官方服务国内连接
- 尚未实测 待核验
- 国内网络情况
- 尚未实测 待核验
- 国内模型兼容性
- 尚未实测 待核验
- 自定义 API
- 尚未实测 待核验
- 海外服务依赖
- 尚未实测 待核验
- 海外账号要求
- 尚未实测 待核验
- 中文界面
- 尚未实测 待核验
- 国内最后核验时间
- 尚未实测
许可与国内使用
仓库根目录 LICENSE 为 MIT 许可证,覆盖本仓库代码。README 中的技术栈表分别标注 ACP 为开放标准、Matrix 为开放标准、Zooid daemon 与 Zooid web 为 MIT、matrix-js-sdk 为 Apache-2.0、Tuwunel 为 Apache-2.0。这些第三方组件、Agent 镜像中的第三方 CLI 与模型服务各有自己的许可和条款,需分别核验。
README 未说明托管服务的部署地域、数据驻留政策,也未说明在中国大陆网络环境下的可用性、镜像访问或 Matrix 联邦连通情况;这些均待核验。国内用户如自建 homeserver,需自行评估网络与合规要求。
项目资料与来源
字段依据与待核验事项
access:来源确认 · Deploy with `zooid init`, run with `zooid dev`.
project_type:来源确认 · Zooid is an open-source, self-hostable chat app for collaborating with AI agents alongside your team.
原始 README(折叠技术参考)
# 🪸 Zooid
[](https://www.npmjs.com/package/zooid)
[](https://github.com/zooid-ai/zooid/actions/workflows/ci.yml)
[](./LICENSE)
[](https://nodejs.org)
> A chat app to collaborate with AI agents, alongside the rest of your team. Open-source, self-hostable, any model, any CLI.
Zooid is an open-source, self-hostable chat app for collaborating with AI agents alongside your team. It brings [ACP](https://agentclientprotocol.com)-compatible agents (Claude Code, [opencode](https://opencode.ai), Codex, pi, …) into [Matrix](https://matrix.org) rooms as first-class participants — people and agents in the same rooms, threads, and approvals, no separate "AI dashboard," no vendor lock-in. Deploy with `zooid init`, run with `zooid dev`.
**Full docs: [zooid.dev/docs](https://zooid.dev/docs)** · **Join the community server: [community.zoon.eco](https://community.zoon.eco)**
- **Protocol-first.** Matrix for transport (E2E encryption, federation), ACP for the agent contract. Pre-built images for Claude Code, opencode, Codex, and pi; any other ACP-compatible harness (GitHub Copilot CLI, Cursor CLI, Gemini CLI, or your own) connects too.
- **Run it anywhere.** Each daemon is a *workstation* with its own identity, running as many agents as you like — put it on your laptop, a box, a pod, or a cluster; it doesn't have to live next to the homeserver. Several workstations can share one homeserver.
- **Containerized runtime.** Docker or Podman. Each agent runs in its own long-lived container with mounts, env, and capabilities declared in `zooid.yaml`.
- **Multi-agent collaboration.** Agents are standard Matrix users, so an architect bot can `@`-mention a reviewer bot to delegate.
- **Workforce as code.** Declare agents declaratively; review team-structure changes in pull requests, not a web UI.
- **Push or pull.** Pick how the daemon and server connect. *Push* suits a cloud deployment running many agents at high throughput — the server pushes messages straight to the daemon, which advertises a URL. *Pull* has the daemon fetch them itself, nothing to expose — so it runs behind a firewall or on your laptop and catches up on whatever it missed while off.
## Quickstart
Install the CLI:
```bash
npm install -g zooid
```
Run `zooid help` (or `zooid <command> --help`) at any time for the full list of commands and options.
Scaffold a workforce:
```bash
mkdir my-workforce && cd my-workforce
zooid init
```
`zooid init` asks which harness (`claude`, `codex`, `opencode`, `pi`), which model provider, and how to authenticate. It writes a clean `zooid.yaml` and any `.env` it needs.
Every preset can run off a subscription you already have instead of a fresh API key.
Boot the local stack:
```bash
zooid dev
```
> **Prerequisite:** `zooid dev` runs Tuwunel inside a container, so you need a container engine installed and running first — either **Docker** (with the daemon started) or **Podman** aliased as `docker`.
`zooid dev` starts a Tuwunel Matrix homeserver in a container, generates the Application Service registration, registers an `admin:admin` user, runs the daemon, and serves the [Zooid web client](https://github.com/zooid-ai/clients). The client's runtime settings come from a generated `/config.json`; its `workforce_space` field is the `matrix.space` alias localpart from `zooid.yaml` (default `dev`). A static deployment sets `workforce_space` in the `config.json` it serves beside the bundle — there is no build-time variable.
Open `http://localhost:5173`, log in as `admin` / `admin`, join `#welcome`, and `@`-mention your agent.
For deployment recipes, the `zooid.yaml` reference, and a deeper tour of how the runtime works, see **[zooid.dev/docs](https://zooid.dev/docs)**.
## Workstations & transport modes
A Zooid daemon is a **workstation** — set a top-level `workstation:` in `zooid.yaml` and its agents get an exclusive `@{workstation}.{agent}:server` namespace. Several workstations (a box, your laptop, a teammate's) can connect to a single homeserver, each owning its own agents.
How a workstation connects is set per-transport with `mode:` — the two choices (push/pull above), named by the value you put in the YAML:
- **`appservice` (push)** — the homeserver delivers events to the daemon, so the daemon advertises an address the homeserver can reach: `port` (default `9099`) when they share a host or network, or an `advertise_url` when the daemon lives on a separate machine, pod, or cluster. Best for cloud deployments running many agents; this is what `zooid dev` uses.
- **`client` (pull)** — the daemon fetches events itself, one outbound sync per agent, with nothing to expose. Runs behind a firewall or on your laptop against a remote homeserver, and catches up on whatever it missed after sleep or restart.
```yaml
workstation: my-laptop
runtime: local
transports:
matrix:
homeserver: https://your-homeserver.example
mode: client
```
Acting (sending, joining) is identical in both modes — only how the daemon ingests events differs.
### Agent isolation
Under `runtime: docker` / `runtime: podman`, each agent gets its own context socket, mounted only into its own container, so one agent cannot read another's rooms even if it learns their session ID.
Under `runtime: local`, every agent runs as your user on your filesystem and can read any other agent's files directly. **`runtime: local` is a single trust domain** — treat every agent in a local workforce as having the access of the most privileged one. Use a container runtime when agents differ in what they should reach.
## The stack
Every layer is open and replaceable.
| Layer | Project | License | Backing |
| -------------- | ---------------- | ------------- | ------------------------------------------------- |
| Agent protocol | **ACP** | Open standard | Backed by Zed and JetBrains |
| Bridge | **Zooid daemon** | MIT | This project — the ACP–Matrix bridge |
| Server | **Matrix** | Open standard | Any homeserver — adopted by Germany, France, NATO |
| Client | **Zooid web** | MIT | Built on `matrix-js-sdk` (Apache-2.0) |
`zooid dev` runs [Tuwunel](https://github.com/matrix-construct/tuwunel) (Apache-2.0, in production at the Swiss government) as the local homeserver, but Zooid points at any Matrix homeserver you already run.
## Agent images
Zooid publishes a small set of base images on GHCR. Drop one into `zooid.yaml` under `container.image` and you're done:
- `ghcr.io/zooid-ai/agent-base` — `node:22-slim` + git. The substrate.
- `ghcr.io/zooid-ai/agent-claude-code` — agent-base + the Claude Code ACP shim.
- `ghcr.io/zooid-ai/agent-codex` — agent-base + the Codex ACP shim.
- `ghcr.io/zooid-ai/agent-opencode` — agent-base + opencode.
- `ghcr.io/zooid-ai/agent-pi` — agent-base + pi + pi-acp.
Pi does not expose MCP servers. When a Pi agent starts, Zooid installs its
native extension at `~/.pi/agent/extensions/zooid-tasks.js`; it gives the agent
the `zooid_*` room-reading and task tools while preserving any operator-owned
extensions already in that directory.
The persona — `CLAUDE.md` / `AGENTS.md`, `.claude/settings.json`, skills, MCP servers — lives in the agent's `workdir` on the host. Zooid bind-mounts that directory into the container at runtime, so the shim picks it up the same way it would on your laptop. No `docker build`, no custom image, no rebuild when you tweak instructions.
## Development
```bash
pnpm install
pnpm -r build
pnpm -r test
pnpm -r typecheck
```
## License
[MIT](./LICENSE)
历史前置条件说明(补充参考)
Node.js 环境与 npm(README 徽章标注 node 版本,正文未展开);全局安装 zooid CLI;本地快速开始需安装并运行 Docker 或 Podman;zooid init 需选择模型提供方与认证方式,可使用已有订阅或 API Key,具体模型与费用待核验;生产部署需可用的 Matrix homeserver 或使用内置 Tuwunel;Web 客户端为独立仓库,默认本地地址 http://localhost:5173。
项目来源与清单版权许可
https://github.com/zooid-ai/zooid
整理来源:https://github.com/slavakurilyak/awesome-ai-agents
清单版权与许可:
MIT License
Copyright (c) 2024 Slava Kurilyak
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.