【免费下载链接】company-brainOpen-sourcing our company brain - A teammate in your Slack that remembers everything your team says, and can go do the work.项目地址https://gitcode.com/gh_mirrors/co/company-brain点击查看免费下载Company Brain 是 supermemory 开源的团队级 AI 智能体它常驻 Slack记住团队在会话与工具中产生的一切知识基于团队自己的上下文作答还能直接操作 GitHub、Linear、Notion 等工具并在合适时机主动开口。本文以仓库根目录 README.md 为主体结合 docs/guide 用户指南、docs/architecture.md 架构说明、docs/agent.md 运行时说明、docs/slack.md Slack 行为说明以及 wrangler.jsonc、package.json 等配置文件完整讲解它的能力模型、私有权限设计、五分钟部署流程、Free/Paid 计划差异与本地开发方式并在关键环节给出源码级佐证。读完本文你可以独立在自己的 Cloudflare 账号上部署一套 Company Brain并理解其记忆、权限、工具连接与主动性机制的底层原理。项目背景从付费产品到开源自托管Company Brain 原本是 supermemory 公司的一个付费产品拥有数千用户团队在产品停运后把整个产品开源并重构为运行在你自己的 Cloudflare 账号上的自托管版本。它在 Slack 中扮演一个“真正的队友”记住团队在 Slack 线程、文档、工单中散落的知识基于这些知识回答问题而不是从互联网或猜测量生成答案直接去执行工作开 issue、读 PR、翻仓库在会话需要它已知的信息时主动开口无需被 mention。README 中的典型场景是一个无人提及机器人的对话#engAlex:is prod down? a couple of customers are pinging meCompany Brain:Not fully down.api/searchis elevated, 42 errors in the last 15 minutes, and Kush is already on it. Probably this mornings deploy.没有人 它它因为“知道答案”而开口。这正是 Company Brain 与普通聊天机器人最本质的区别——主动性与记忆的结合。更完整的行为示例提问、执行、主动开口见 docs/guide/overview.md。核心能力一览README 以一张能力表概括了 Company Brain 的七大能力维度能力说明Remembers记忆记住所加入频道中的决策、项目、负责人与上下文随团队对话持续更新无需任何人刻意记录Answers from your team回答答案来自团队自己的对话和已连接工具而非互联网或猜测️Acts in your tools行动通过 MCP 连接 GitHub、Linear、Notion、Google Workspace 及数百个其他工具替你开 issue而不是叫你自己去开Speaks up主动开口在会话需要它已知信息时插话可在组织级与频道级分别调节话痨程度Runs code运行代码自带沙箱克隆仓库、运行脚本并把图表、CSV、PDF 直接交回 SlackWorks while you sleep后台工作定时向频道或 DM 推送摘要也能自行发起研究Learns your way学习团队风格Skills 教会它团队的可复用流程、格式与语气Workspace Prompt 设定它在全工作区的行为基调从仓库依赖看这些能力有明确的实现载体package.json 中的modelcontextprotocol/sdk工具连接、cloudflare/sandbox与daytona/api-client代码沙箱、cloudflare/codemode与quickjs-emscripten-coreCode Mode、cron-schedule定时自动化、supermemory记忆后端。私有优先权限图Permissions Graph设计Company Brain 的记忆不是一个大的共享桶而是一张权限图permissions graph它永远只以提问者自身的访问权限来读取记忆。完整的权限语义在 docs/guide/permissions.md 中有详细说明其核心可以概括为“三层记忆”员工记忆Employee memory每人一份由你与机器人的 DM 以及它长期对你的了解构建只在自己的 DM 中可见私密频道记忆Private channel memory每个私密频道一份只对该频道成员可见公开频道记忆Public channel memory每组织一份公开频道的任何持久信息都落在这里整个组织都能调用。一条消息只写入它发生所在的那个房间对应的记忆层。而“能读什么”则随房间的私密程度放大提问位置可读取范围公开频道公开频道记忆组织共享脑私密频道该频道记忆 公开频道记忆与机器人的 DM你的员工记忆 公开频道记忆 你所在的所有私密频道记忆因此 DM 是“视野最广的座位”——它用你自己能看到的一切来回答而公开频道相反因为全组织都能看到它只调用全组织都被允许知道的信息。如果你不在某个私密频道里那个频道的记忆对你不存在——即使在 DM 中也不能被推理出来。底层实现上这些记忆对应 supermemory 容器标签container tagssm_org_shared公开频道记忆、slack_channel_频道 id私密频道、user_用户 id个人。这一点在 docs/architecture.md 的记忆小节中同样得到印证。工具访问遵循同样的“跟随你、而非跟随连接”原则GitHub、Linear 等工具可有两种连接范围——Organization共享由管理员配置一次作为全团队的只读回退Personal个人自己的连接用于自己的读取与操作。读取时优先用个人连接没有则回退组织共享连接写入永远只通过个人连接把动作归属到真实的人而不是共享服务账号。组织共享连接对包括管理员在内的所有人只读——如果你请求写入而只有组织连接可用机器人会要求你个人连接该工具。还有一种**租借Leasing**机制当某个请求需要你或组织都没有连接、但某位同事个人连接了的工具时机器人会在 Slack 中给该同事发一张卡片请求批准或拒绝临时租借没有任何静默授权必须由真实的人接受卡片访问是短期的且限定于触发它的那一次请求授权持续 10 分钟未应答的请求 15 分钟后过期同事可以拒绝请求就直接作废部分工具如 Gmail完全不可租借仅限个人连接。权限的治理分层也很清晰owner第一个登录的人与admin可以安装 Slack、添加组织共享工具连接与组织级 Skills、修改组织级设置模型、工作区提示词、主动性、创建投递到私密频道的自动化并管理所有人的自动化成员用自己的 Slack 登录、连接个人工具、编写个人 Skills、管理自己的自动化。需要注意当前构建版本还没有把某人提升为 admin 的界面角色存放在 D1 数据库的member表中owner、admin或member。快速开始两条路径README 针对不同用户给出了两条入手路径场景路径 想直接用在自己的 Slack 里一键部署Deploy to Cloudflare、两个 API key、一个引导你完成 Slack 应用创建设置的 setup 页面数据库自动建立 想本地开发/魔改TypeScript 运行在 Cloudflare Workers 之上使用 Durable Objects 与 D1记忆托管在 supermemory可全部在本地运行五分钟部署Deploy in five minutes部署流程是 README 的重头戏完整步骤如下。第 1 步点击部署提供两个密钥点击Deploy to Cloudflare按钮部署会要求提供两个 secretsSUPERMEMORY_API_KEY大脑存放记忆的后端密钥在 console.supermemory.ai 获取MODEL_API_KEYAnthropic、OpenAI、Google 或 xAI 的任意一把密钥大脑会根据密钥自动识别 provider你直接向 provider 付费、无加价OpenRouter 密钥同样可用一个账号即可触达所有 provider 的模型。除此之外的一切都由系统自动供给D1、KV、Durable Objects 和 Workers AI。从 wrangler.jsonc 可以看到这些资源的实际绑定D1 数据库bindingDB、KV 命名空间BRAIN_KV、两个 Durable ObjectCOMPANY_BRAIN_AGENT与Sandbox、AI bindingAI以及 Gmail/Granola 的速率限制绑定。第 2 步打开/setup在新建的 worker 上打开/setup它会按顺序检查以下四项数据库D1 迁移是否已执行。worker 会在首次请求时自行应用迁移若失败页面会显示原因并提供Run migrations按钮重试记忆SUPERMEMORY_API_KEY是否已设置模型MODEL_API_KEY是否持有 Anthropic、OpenAI、Google、xAI 或 OpenRouter 密钥从密钥内容检测 provider或已设置ANTHROPIC_API_KEY等 provider 专属变量。使用 OpenRouter 密钥时所有模型都经 OpenRouter 路由某 provider 自己的密钥设置后对该 provider 仍优先于 OpenRouterSlackSlack 应用凭据是否已保存。[!NOTE] Company Brain 安装进已有的Slack 工作区不会替你创建工作区。还没有先在 app.slack.com 创建一个。第 3 步创建 Slack 应用在/setup点击Create the Slack app它会用已填好你部署 URL 的 manifest事件、交互性、两个 OAuth 重定向打开 Slack。选择你的工作区创建应用后把Basic Information → App Credentials中的Client ID、Client secret和Signing secret复制回/setup表单。Slack 会用签名密钥校验事件与交互性 URL如果创建应用时它们被标记为未验证保存凭据后在Event Subscriptions下点击Retry即可。这背后的校验机制在 docs/slack.md 中有详细说明事件接口使用x-slack-signaturex-slack-request-timestamp拒绝时间偏差超过 5 分钟的请求以SLACK_SIGNING_SECRET做 HMAC-SHA256 验签——用的是 Slack 签名机制而不是 Better Auth 的会话 cookie。第 4 步用 Slack 登录点击Sign in with Slack。第一个登录的人创建组织并成为 owner。此后同一 Slack 工作区的人都可以登录其他工作区的人会被拒绝。第 5 步安装到 Slack管理员点击Install to Slack在/setup或大脑主页上。只有 owner 和 admin 可以安装。批准 Slack 的同意屏幕后交接回 Slack应用 UI 欢迎你回来并引导你去 SlackHome 频道智能体创建#company-brain、邀请你并在那里发布一条介绍调研它从你的 Slack 工作区推断公司域名并开始学习公司信息如果部署设置了CONTEXT_DEV_API_KEY还会读取公司网站频道管理员卡片提供把机器人加入公开频道的选项。它从不静默加入你点一次它再逐个加入你的公开频道并自我介绍私密频道只有在有人邀请时才进入团队成员自动开始向团队成员铺开——从 Slack 工作区拉取成员并发送欢迎 DM没有按座席计费的机制因此无需逐个邮件邀请你的 DM你会收到一封带按钮的欢迎 DM用于连接你的第一批工具。[!NOTE] **试试看**在#company-brain或 DM 中问一句“What does {your company} do?”。安装后你的团队用 Slack 在/登录查看大脑主页一个记录它记住的一切的实时记忆图以及工具、模型、主动性、自动化、Skills 的设置页。应用 UI 的三大区域Home、Graph、Configure在 docs/guide/setup.md 中也有描述。Free 计划还是 Workers PaidCompany Brain 可以在 Cloudflare 免费计划上运行但 Workers Paid$5/月更好如果团队重度依赖大脑则物有所值能力FreeWorkers Paid长而多步的回答可能被截断免费计划每次请求允许 50 次出站调用有完整工具循环的空间代码沙箱shell、git、Python需要 Daytona keyDAYTONA_API_KEY内置运行在 Cloudflare 容器上Daytona 仍可用如果你更喜欢除此之外两者完全一致包括Code Mode当大脑写代码来串联工具调用或处理团队目录时它运行在 worker 内部的 QuickJS 中而不是依赖付费的 Dynamic Workers。要在 Workers Paid 上启用内置容器需取消 wrangler.jsonc 中Workers Paid块的注释、将CONTAINER_SANDBOX设为on并重新部署。该配置块在 wrangler.jsonc 中以注释形式存在包含containersclass_nameSandbox、镜像./sandbox/Dockerfile、instance_type: basic、max_instances: 10而vars.CONTAINER_SANDBOX默认值为offSANDBOX_TRANSPORT为rpc。沙箱实现位于 src/brain/tools/sandbox 目录含 daytona-client、cloudflare-client、availability 等模块Daytona 依赖daytona/api-client见 package.json。本地开发Local developmentREADME 给出了三条命令的本地启动流程bun install cp .dev.vars.example .dev.vars # fill in the two keys bun run dev注意事项如果启用了 Workers Paid 块Docker 必须在运行以支撑沙箱容器Slack 必须能访问你的机器所以要把一个隧道指向 dev server在.dev.vars中把PUBLIC_URL设为隧道 URL并从隧道的/setup页面创建 Slack 应用修改 src/db/schema 中的 schema 后运行bun run db:generate它会生成迁移并打包进 workerworker 在下次请求时自动应用。这正是 package.json 中db:generate脚本drizzle-kit generate bun scripts/bundle-migrations.ts所做的事情迁移产物位于 drizzle 目录本地/远程迁移分别对应db:migrate:local与db:migrate脚本。项目本身是 TypeScript Honohono4.x运行在 Cloudflare Workers 之上使用 Agents SDKagents依赖的 Durable Object 承载智能体逻辑D1 做结构化存储supermemory 做向量记忆后端——这与 README 中“TypeScript on Cloudflare Workers, Durable Objects and D1”的描述完全对应。源码级补充运行时与 Slack 行为的实现锚点为了让读者在 README 之上能够继续深入这里给出三个与 README 主题直接相关的源码级观察详细论证见 docs/architecture.md、docs/agent.md、docs/slack.md。智能体运行时Agent runtime核心是CompanyBrainAgent这个继承自 Agents SDKAgent的 Durable Object 类按 supermemoryorgId每组织一个实例getAgentByName(..., orgId)。它的公开方法按领域分组覆盖 Slack 回合onSlackEvent、onSlackChimeIn、onSlackContextEvent、onSlackReaction、onSlackMembershipEvent、审批与租借onApprovalDecision、onLeaseDecision、连接onSlackConnectComplete、安装与公开频道铺开、团队生命周期onSlackTeamJoin、onSlackUserChange、研究、定时任务与自动化 CRUD 等。模型角色有明确分工Main/Triage/Research 三套模型与 effort 配置非 Anthropic 主模型会安装跨 provider 回退候选。与本仓库目录对应智能体逻辑位于 src/brain/turnSlack 逻辑位于 src/brain/slack。Slack 事件路由事件入口POST /brain/slack/events在验签、去重、解析工作区后快速应答{ok:true}用waitUntil把实际处理派发给 Durable Object。事件被分类为可回答DM、app_mention机器人、机器人应留在的线程消息、chime 候选频道顶层消息、上下文保留等。主动插话的判定依据slack/triage.ts预算控制依据slack/chime-budget.ts——README 中“你可以决定它有多话痨”对应的就是频道 chime 预算常量如每频道每小时绝对上限 12 条、普通配额 6 条、最小间隔 3 分钟等。公开频道铺开则采用 7 天窗口、跳过#general/#company-brain/私密/归档/Slack Connect 频道文档写入sm_org_shared并通过账本 client_msg_id保证介绍消息恰好一次。内存写入回退Slack 回合的内存写回按频道私密性作用域化conversations.info失败即关闭由模型提议save_memory、后端规范容器标签私密频道中未映射的发送者跳过写入——这与权限图中“消息只写入它发生的那个房间”的规则严格对应。深入阅读路径docs/guide/README.md — 用户指南索引概念overview/setup/permissions/connectors/automations/outside-slack与使用场景support/incidents/meeting-recall/acting-in-tools 等 11 个场景docs/guide/permissions.md — 权限图、三层记忆与工具访问作用域的完整说明docs/guide/connectors.md — 工具连接器清单与文档导入方式docs/guide/automations.md — 定时自动化与主动插话chime-in的完整判定与护栏docs/architecture.md — 系统地图、记忆读写容器、工具组装与存储分层docs/agent.md — Durable Object 运行时、模型角色、配置项含 AI Gateway 三项必填配置与数据表docs/slack.md — Slack HTTP 面、事件分发、triage/chime 预算、公开频道铺开与身份供给wrangler.jsonc 与 package.json — 部署绑定与依赖清单src/brain — 智能体、Slack、记忆、工具、租约、自动研究、定时任务等核心实现src/worker.ts — worker 入口。Apache 2.0 许可由 supermemory 构建与开源。赞分享【免费下载链接】company-brainOpen-sourcing our company brain - A teammate in your Slack that remembers everything your team says, and can go do the work.项目地址https://gitcode.com/gh_mirrors/co/company-brain点击查看免费下载相关推荐Multica让 AI 编码智能体上看板协作的开源团队工作区——架构、运行时与自部署实战指南Multica让 AI 编码智能体上看板协作的开源团队工作区——架构、运行时与自部署实战指南 本文以 Multica 官方中文 README 为主体带你吃透人工智能AI Agent代码智能体项目管理研发协作Agno Team 学习能力全指南让多智能体团队自动记忆用户、实体与决策Agno Team 学习能力全指南让多智能体团队自动记忆用户、实体与决策 导读 本指南围绕 Agno 仓库中 cookbook/03_teams/12_lea人工智能大模型AI AgentAgent 框架多智能体工具调用RAGAgent 工作流Agent 记忆TencentDB-Agent-Memory 团队记忆控制台前端MemoryPanel Web 开发与部署实战指南TencentDB Agent Memory 团队记忆控制台前端MemoryPanel Web 开发与部署实战指南 本指南以仓库中 MemoryPanel/w人工智能大模型AI AgentAgent 记忆后端前端MCP 服务创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考