>_ DevTrendszh

语言

首页

语言

板块

前端 后端 移动端 DevOps AI / ML 游戏开发 区块链 嵌入式 安全
Go

如何在统一工作空间中整合人类与 AI Agent

想象一下,你的工作通讯软件不仅仅是同事消息的流,而是一个活生生的环境,数字分身帮你处理一半的任务。这听起来像是科幻小说的场景,但 Mininglamp-OSS 的人决定用代码将其变为现实。他们正在构建 OCTO——一个开放平台,人类和 AI Agent(他们称之为"Lobsters")并肩工作。

整个想法的核心是 octo-server。我深入研究了这个代码库,想分享为什么这个 Go 后端值得你关注,如果你正在考虑将 LLM 集成到你的业务流程中。

OCTO OCTO

数字办公室的内部架构

抛开"数字分身"的营销术语,octo-server 是一个强大的管理层。它将 REST API、用于实时通信的 WebSocket 和 Agent 编排整合在一起。关键特性是,这里的 AI 不是作为聊天机器人被附加在一侧的——它从一开始就是对话的完整参与者。

这个项目使用 Go 编写,这对于需要处理大量并行连接和向不同服务发送请求的系统来说是合理的选择。WuKongIM 被用作即时通讯引擎。开发者们没有重复造轮子,而是采用了现成的消息解决方案,专注于交互逻辑。

这个后端的有趣之处

根据我的经验,通常是这样的:客户想要一个"智能助手",然后你开始东拼西凑各种变通方案来连接模型的 API 和通讯界面。OCTO 的创建者采取了不同的方法。

Lobster 编排内置于核心中。服务器自行管理 Agent 会话、请求路由和工具调用。Agent 运行在 OpenClaw 上,服务器无缝地将它们的响应编织到整体对话中。

架构相当灵活。虽然 MySQL 和 Redis 是开箱即用的,但你可以替换存储,甚至可以替换消息引擎。WuKongIM 控制平面通过薄边界分离,因此如果需要,你可以插入自己的解决方案。

本地优先的方法是一个不错的亮点。作者坚持认为,所有能在你的硬件上运行的东西——聊天、嵌入、Agent——都应该在那里运行。云仍然是一个选项,而不是强制要求。对于企业领域来说,向 OpenAI 发送数据可能会给你带来麻烦,这是一个巨大的优势。

请求处理是如何工作的

让我们看看当请求进入系统时会发生什么:

  1. 认证。支持令牌、Cookie,甚至用于 WebSocket 的加密 Diffie-Hellman 帧。
  2. 授权。这里实现了 RBAC,考虑到组织和特定频道的访问权限。
  3. 执行。业务逻辑运行。如果需要,Lobster 会话启动或恢复。
  4. 分发。消息发送到 WuKongIM,如果频道链接到外部世界——适配器被触发。
  5. 响应。客户端收到带有追踪标签和指标的统一 JSON。

项目结构

代码组织得井井有条,所以浏览它不会有问题:

  • internal/api/ — 处理器在这里处理所有事务:用户、群组、文件和 Webhook。
  • internal/service/ — 系统的"大脑",包括访问控制和 Agent 编排。
  • internal/agent/ — 与 Lobsters 相关的一切:会话存储和工具执行。
  • internal/im/ — 用于与 WuKongIM 交互的客户端。
graph TD
  subgraph Clients[Clients]
    Web[octo-web<br/>Web / PC]
    Android[octo-android<br/>Android]
    iOS[octo-ios<br/>iOS]
  end

  subgraph Core[Core Services]
    Server[octo-server<br/>Backend API]
    Matter[octo-matter<br/>Task / Todo]
    Summary[octo-smart-summary<br/>AI Summary]
    Admin[octo-admin<br/>Admin Console]
  end

  subgraph Shared[Shared Libraries & Integrations]
    Lib[octo-lib<br/>Core Go Library]
    Adapters[octo-adapters<br/>Third-party Adapters]
  end

  Web --> Server
  Android --> Server
  iOS --> Server
  Admin --> Server
  Server --> Matter
  Server --> Summary
  Server --> Adapters
  Server -.uses.-> Lib
  Matter -.uses.-> Lib
  Adapters -.uses.-> Lib

这个用于什么

如果你正在构建下一代内部企业门户,octo-server 是一个很好的选择。你不再需要在 Jira、Slack 和 AI 管理控制台之间切换,而是获得一个单一的入口点。例如,开发者在聊天中写道:"创建一个修复生产 bug 的任务",Agent 不仅仅理解文本——它进入 octo-matter 并实际创建任务。

该项目对于构建需要访问整个团队对话上下文的自定义 AI 助手也很有用。由于开源代码和 Apache 2.0 许可证,你可以根据特定的安全要求定制系统。

如何运行以及是否值得尝试

快速入门对于 Go 项目来说是标准的:克隆、构建、运行配置。

git clone https://github.com/Mininglamp-OSS/octo-server.git
cd octo-server
go build -o octo-server .
./octo-server --config ./configs/tsdd.yaml

虽然要获得完整功能,你还需要一个 MySQL 数据库和一个运行中的 WuKongIM 实例。如果你不想单独处理每个组件,他们有一个 octo-deployment 代码库,其中包含现成的 Docker Compose,只需一条命令即可启动整个服务栈。

请记住,这个项目是 TangSengDaoDao 的衍生作品。这在代码结构上留下了痕迹。文档在某些地方仍然稀疏,所以在棘手的情况下,你必须深入源代码。

这是给谁用的?首先是那些寻找现成基础来创建具有深度 LLM 集成的自托管协作系统的人。如果你只是需要一个聊天,有更简单的解决方案。但如果你需要能帮你处理日常工作的"Lobsters"——OCTO 值得花一个晚上来研究。

相关项目