OpenTag 是一个用 TypeScript 构建的开源 Slack AI Agent 示例/模板,定位为“自托管版 Claude in Slack”。它可以读取 Slack 线程、基于大模型生成回复、调用外部工具,并在对话中渲染表格、图表等富 UI。项目基于 CopilotKit 的 @copilotkit/bot SDK,当前主要作为 CopilotKit monorepo 中的 examples/slack 运行,适合希望在企业 Slack 内部署可控 AI 助手的开发者或团队。
适用领域
AI Agent / Slack Bot / 企业协作工具 / LLM 应用开发 / CopilotKit 生态 / 自托管 AI / Human-in-the-loop 工作流 / Generative UI / 工具调用与自动化
配置难度
中高。对于熟悉 TypeScript、pnpm、Slack App 配置和 LLM API 的开发者,可以较快跑通 demo;但要用于生产环境,需要处理部署、持久化、权限、安全、监控、工具集成和多进程运维,因此整体难度偏高。
商业价值
未知
01
技术亮点
- 开源、自托管,MIT License,减少供应商锁定和按席位收费压力。
- 面向 Slack 的 AI Agent 模板,适合快速构建企业内部 AI 助手。
- 支持读取线程上下文,并基于对话执行任务。
- 支持工具调用,可接入 Linear、Notion、MCP 工具等外部系统。
- 支持 Human-in-the-loop,例如在创建 ticket 前要求人工 Approve。
- 支持 Generative UI,可在 Slack 对话中渲染表格、图表和结构化结果。
- Agent 行为主要由 runtime.ts 中的 system prompt 控制,便于定制。
- 基于 CopilotKit bot SDK,同一套逻辑理论上可适配 Slack、Discord、Telegram、WhatsApp。
- 项目较小且 hackable,适合作为 AI Agent 原型或企业内部工具起点。
02
目标用户
- 希望在 Slack 中部署内部 AI 助手的企业开发团队
- 需要自托管 AI Agent、避免 SaaS 锁定的公司
- 熟悉 TypeScript、Node.js、pnpm 的全栈或后端开发者
- 正在基于 CopilotKit 构建聊天平台 Agent 的开发者
- 需要将 Slack 与 Linear、Notion、Redis、MCP 工具等集成的团队
- 想研究 Slack Agent、Human-in-the-loop、生成式 UI 的 AI 应用开发者
03
配置要求
- Node.js / TypeScript / pnpm 开发环境
- Slack Workspace 管理权限或创建 Slack App 的权限
- SLACK_BOT_TOKEN:Slack Bot User OAuth Token,通常为 xoxb-...。
- SLACK_APP_TOKEN:Slack App-Level Token,通常为 xapp-...,需要 connections:write scope。
- OPENAI_API_KEY 或 ANTHROPIC_API_KEY:用于接入自带大模型。
- 如需长期运行,需要部署 Agent backend 和 Bot 两个进程。
- 如需生产化使用,可能需要配置持久化、日志、监控、错误追踪、鉴权和扩缩容。
- 如需接入 Linear、Notion、Redis、MCP 工具或多聊天平台,需要根据 setup.md 追加对应密钥和配置。
- 如果要在 Discord、Telegram、WhatsApp 上运行,需要配置对应平台 adapter 和平台 token。
04
适用场景
- 在 Slack 线程中 @mention Bot,让它总结讨论内容
- 根据 Slack 对话自动生成 bug、需求或工单,并在人工确认后提交
- 将内部工具、MCP 工具、Linear、Notion 等接入 Slack Agent
- 在 Slack 消息中展示表格、图表、结构化分析结果
- 构建企业内部知识助手、客服助手、研发协作助手
- 将同一套 Agent 逻辑扩展到 Discord、Telegram、WhatsApp 等聊天平台
- 替代按席位计费的闭源 AI 协作工具,使用自有模型和自有部署环境
05
部署与配置
- 创建 Slack App:访问 https://api.slack.com/apps,选择 From a manifest,并粘贴仓库中的 slack-app-manifest.yaml。
- 安装 Slack App 到工作区,并获取 Bot User OAuth Token,格式通常为 xoxb-...。
- 创建 App-Level Token,授予 connections:write scope,获取 xapp-... token。
- 复制环境变量文件:cp .env.example .env。
- 在 .env 中配置 SLACK_BOT_TOKEN、SLACK_APP_TOKEN,以及 OPENAI_API_KEY 或 ANTHROPIC_API_KEY。
- 由于当前 OpenTag 作为 CopilotKit monorepo 的 examples/slack 运行,推荐从 CopilotKit monorepo 根目录启动。
- 安装依赖:pnpm install。
- 启动 Agent 后端:pnpm --filter slack-example runtime,默认运行在 :8200。
- 启动 Slack Bot:pnpm --filter slack-example dev。
- 在 Slack 任意频道线程中 @mention 该 bot,例如:@OpenTag summarize this thread and file it as a bug。
06
风险与注意事项
- 当前 README 明确说明依赖 CopilotKit monorepo 中的 examples/slack,独立 npm 安装路径尚未完全成熟。
- 自托管聊天 Agent 涉及 Slack App、token、模型 API、后端进程、持久化、监控等,部署复杂度不低。
- 生产环境需要自行处理安全、权限、审计、数据隔离、密钥管理和成本控制。
- LLM 输出存在幻觉风险,涉及工单创建、数据修改等操作时必须保留人工确认机制。
- 如果接入企业内部工具,需要谨慎设计权限边界,避免 Agent 过度访问敏感数据。
- 项目星标约 290,生态和社区成熟度相对有限,遇到问题可能需要自行排查源码。
- README 中提到 managed service coming soon,说明自托管体验可能仍在快速迭代。
- 依赖外部 LLM API,如 OpenAI 或 Anthropic,可能带来费用、延迟、合规和可用性问题。
2026-07-03
第9名
新收录 · github_search
2026-07-02
第10名
新收录 · github_search
2026-07-01
第11名
新收录 · github_search
2026-06-30
第12名
新收录 · github_search
2026-06-29
第20名
新收录 · github_search