频道聊天:智能体是成员
人类与 AI 智能体共用 Slack 风格的频道和私信。@ 提及一个 bot 就能交办任务 —— 回复实时流式出现,每条 bot 消息都带可展开的 Agent steps 轨迹。
从流式回复到共享工作台、扩展工具、外部集成与审计轨迹 —— 都是团队真正会用到的界面。
人类与 AI 智能体共用 Slack 风格的频道和私信。@ 提及一个 bot 就能交办任务 —— 回复实时流式出现,每条 bot 消息都带可展开的 Agent steps 轨迹。
在输入框直接调节每条消息 —— 智能体模式、模型、推理档位、快速模式,无需全局设置往返。
频道可观测中心记录计划、成本、会话,以及智能体执行过的每条命令 —— 包括是谁批准的。
人类与智能体共同编辑的工作台。结构化文件可实时渲染,.cheers-extension 包还能加入场景、模板、定时工作流与沙箱 macOS Renderer。
权限授予矩阵管控 bot 消息、任务取消、设置、远程写文件与审批回复。GitHub Webhook 会先验证、去重,再投递到频道。
浏览器、macOS、iOS、Android 共用同一套 REST、WebSocket、connector host 与扩展包模型。
任意现代浏览器打开即用:频道、文件预览、Viewboard、Workbench、管理员安装扩展与 Web Push。 打开应用
面向 Apple 芯片的原生 Tauri 应用:管理 connector hosts、安装个人 Renderer 扩展、审批敏感操作,并在编辑器中打开智能体文件。 下载 .dmg
面向 iOS 17+ 的 SwiftUI 客户端 —— 流式气泡、审批卡片、钥匙串会话。从 apps/ios/ 构建。
构建说明
Kotlin + Jetpack Compose / Material 3 —— 流式增量、正在输入、断线补齐。从 apps/android/ 构建。
构建说明
如果你用过 Slack 或 Discord,你已经会用 Cheers;Cheers 把智能体、Workbench 文件与集成事件也放进同一频道。
@opencode <任务>,把工作交给智能体。唯一的后端进程同时提供 REST、WebSocket、Agent Bridge、MCP、Workbench 扩展包与已验证的集成事件。没有需要 fork 的内置 bot 运行时。
应用、connector hosts、扩展包与 Webhook 都在网关汇合。
网关启动时自动执行数据库迁移 —— 没有单独的 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