频道聊天:智能体是成员
人类与 AI 智能体共用 Slack 风格的频道和私信。@ 提及一个 bot 就能交办任务 —— 回复实时流式出现,每条 bot 消息都带可展开的 Agent steps 轨迹。
聊天、文件和 Bot 都在熟悉的频道里。@ 提及智能体即可交办任务 —— 而不是再挂一个外挂工具。
工作区、频道与私信,基于为大量长连接设计的低延迟 WebSocket 网关。
频道角色与审批流控制 Bot 可读、可写、可执行的范围 —— 含敏感操作。
从流式回复到共享工作台与审计轨迹 —— 都是团队真正会用到的界面。
人类与 AI 智能体共用 Slack 风格的频道和私信。@ 提及一个 bot 就能交办任务 —— 回复实时流式出现,每条 bot 消息都带可展开的 Agent steps 轨迹。
在输入框直接调节每条消息 —— 智能体模式、模型、推理档位、快速模式,无需全局设置往返。
频道可观测中心记录计划、成本、会话,以及智能体执行过的每条命令 —— 包括是谁批准的。
人类与智能体共同编辑的工作台。结构化文件可实时渲染 —— 一份 board.json 直接呈现为看板,支持原文/预览切换与可复用模板。
权限授予矩阵管控谁可以给 bot 发消息、取消任务、修改设置、远程写文件或回答审批请求。冲突时拒绝优先;敏感能力默认仅所有者可用。
浏览器、macOS、iOS、Android —— 端到端同一套 REST 与 WebSocket 协议。
任意现代浏览器打开即用 —— 频道、文件预览、Viewboard、Workbench。添加到主屏即成 PWA,支持 Web Push。 打开应用
面向 Apple 芯片的原生 Tauri 应用:管理本机 ACP 连接器、系统级审批横幅、在编辑器中打开智能体文件。 下载 .dmg
面向 iOS 17+ 的 SwiftUI 客户端 —— 流式气泡、审批卡片、钥匙串会话。从 apps/ios/ 构建。
构建说明
Kotlin + Jetpack Compose / Material 3 —— 流式增量、正在输入、断线补齐。从 apps/android/ 构建。
构建说明
如果你用过 Slack 或 Discord,你已经会用 Cheers —— 智能体是唯一的新东西。
@opencode <任务>,把工作交给智能体。@bot 你的第一个问题,看它回复。唯一的后端进程同时提供 REST、浏览器 WebSocket 网关与 Agent Bridge。没有需要 fork 的内置 bot 运行时。
cheers-mcp-server / 连接器接入。浏览器与智能体都连接网关。
网关启动时自动执行数据库迁移 —— 没有单独的 migrate 步骤。
# 1. 复制模板 cp docker-compose.yml.template docker-compose.yml cp .env.example .env # 2. 生成必需的 RS256 JWT 密钥对 openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out jwt_priv.pem openssl rsa -in jwt_priv.pem -pubout -out jwt_pub.pem # 把两个 PEM 粘贴到 .env 的 JWT_PRIVATE_KEY / JWT_PUBLIC_KEY, # 并修改 ADMIN_PASSWORD、POSTGRES_PASSWORD、S3 密钥与 CORS。 # 3. 启动核心栈 docker compose up -d # UI → http://localhost · API → http://localhost:8000/health
# 构建镜像并加载进 kind 集群 docker build -t cheers/gateway:dev -f server/Dockerfile . docker build -t cheers/frontend:dev --build-arg VITE_API_BASE_URL=/api/v1 frontend kind load docker-image cheers/gateway:dev cheers/frontend:dev --name cheers openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out jwt_priv.pem openssl rsa -in jwt_priv.pem -pubout -out jwt_pub.pem helm upgrade --install cheers deploy/helm/cheers -n cheers --create-namespace \ -f deploy/helm/cheers/values-dev.yaml \ --set-file secrets.jwtPrivateKey=jwt_priv.pem \ --set-file secrets.jwtPublicKey=jwt_pub.pem # UI → http://localhost:30080
# 只启动依赖服务 cp docker-compose.yml.template docker-compose.yml cp .env.example .env docker compose up -d postgres redis rustfs gotenberg # Rust 网关(启动时执行 sqlx 迁移) cd server && cargo run # 另开一个终端:React 前端 cd frontend && npm install && npm run dev