• 请不要在回答技术问题时复制粘贴 AI 生成的内容
leemysw
V2EX  ›  程序员

[开源] 做了一个让人和多个 Agent 一起工作的项目: Nexus

  •  1
     
  •   leemysw · 8h 3m ago · 693 views

    最近一直在做 Nexus ,刚发了一个新版本。

    Nexus 工作台

    GitHub:
    https://github.com/nexus-research-lab/nexus

    一句话介绍:人和多个独立 Agent ,可以在同一个 Room 里一起工作。

    做它的起因很简单。现在产品、研发、设计都可以各自找 AI 帮忙,但这些 Agent 基本都留在个人会话里。每个人确实变快了,项目里的事实、决定和交接却还是要靠人从几个聊天窗口里搬来搬去。

    Nexus 想试的是另一种结构:Agent 不是某个人聊天框里的功能,而是 Room 里的成员。

    每个 Agent 有自己的身份、工作区、Skill 和文件式记忆;可以单独私聊,也可以被邀请进 Room 。在 Room 里,可以直接 @成员、定向交接,让几个 Agent 分头处理不同部分,再把结果带回公共讨论。

    目前已经能跑的包括:

    • 单 Agent 的 DM ,以及人和多个 Agent 参与的 Room
    • @提及、定向回复、任务交接和并行处理
    • 独立工作区、文件式记忆、Skill 、定时任务和心跳
    • nxs(go 实现,内存占用更小) 与 Claude Code 两种 Agent Runtime
    • macOS 、Windows 桌面端,以及 Docker 服务端部署

    后端是 Go ,前端是 React 。Agent Runtime 运行在独立子进程里,通过 stdio JSON 协议和 Nexus 通信。项目采用 Apache 2.0 协议。

    现在还比较早期。Room 的基本协作链路已经可以使用,但多用户上下文怎么共享又不越界、Agent 归谁管理、权限和审计怎么做、多个成员怎样持续推进一个长期任务,这些问题还在继续处理。

    欢迎试用、提 Issue ,也欢迎直接说这个方向哪里不成立。

    nexus

    14 replies    2026-07-29 17:40:05 +08:00
    KaKaGoSki
        1
    KaKaGoSki  
       5h 58m ago
    开源先点个赞
    Leon6868
        2
    Leon6868  
       5h 46m ago
    这个动画也太夯了,是怎么实现的呀!
    tonywwwz
        3
    tonywwwz  
       5h 39m ago
    动画这边蹲一蹲
    leemysw
        4
    leemysw  
    OP
       5h 31m ago
    @Leon6868 Launcher 里那堆小球和方块用 Matter.js 做 2D 刚体物理,DOM 负责渲染,Matter 计算重力、碰撞和堆叠; App 里的 nexus 是 Canvas ASCII 粒子,先把文字转成像素 Mask ,再让字符粒子弹性归位,鼠标靠近时施加斥力。代码可以在仓库里扒一下,AI 复现一下还是很容易的
    leemysw
        5
    leemysw  
    OP
       5h 29m ago
    @tonywwwz 可以到仓库里扒一扒代码
    loveumozart
        6
    loveumozart  
       5h 16m ago
    nxs harness 是你们自研闭源么?从 bridge 看功能都很完善了
    leemysw
        7
    leemysw  
    OP
       5h 9m ago
    @loveumozart nxs 是自研的,暂时闭源,也还有挺多细节需要打磨
    Charlie17Li
        8
    Charlie17Li  
       5h 0m ago
    是不是和 Multica 一样的东西,不过这个从 star 好像挺新的,有搞头 hh
    lazyfighter
        9
    lazyfighter  
       4h 54m ago
    我之前也有想法来着, 请教一下是如何实现 圈人的 以及如何避免双方一直回复收到收到
    ala2008
        10
    ala2008  
       4h 36m ago
    不是,你这个名称跟知名项目一模一样啊,Nexus
    leemysw
        11
    leemysw  
    OP
       4h 33m ago
    @lazyfighter 这块分两层做。 @ 不让模型自己猜,服务端根据 Room 成员列表解析,映射到具体的 agent_id ;默认只有第一个有效的 @ 会真正唤醒 Agent ,需要并行时才显式 fan-out 。
    防止双方一直“收到—收到”,prompt 有约束,被唤醒的 Agent 只能回复新增结果,没有实际工作就不发消息;服务端还会记录 handoff 关系,拦截自指、重复唤醒和 A→B→A 这种回环。这样即使模型偶尔不听话,路由层也能兜底。
    skyemin
        12
    skyemin  
       4h 24m ago
    考虑支持远程吗?不同 agent 可能来自不同的主机,各自维护自己的 agent
    leemysw
        13
    leemysw  
    OP
       4h 23m ago
    @Charlie17Li 区别主要在协作模型吧。Multica 更像给 coding agent 做一层 Linear/Jira ,核心是 Issue 、看板和任务队列; Nexus 从 Room 和成员关系出发,先处理公开讨论、定向沟通、交接、唤醒与恢复,Room 本身不绑定软件开发,也可以拿来组织研究、头脑风暴、学习小组、游戏或者其他多人多 Agent 场景。Nexus 想做的是一套更通用、可扩展的人与 Agent 协作关系。项目确实刚公开不久,还在快速迭代,欢迎来玩玩 hh
    leemysw
        14
    leemysw  
    OP
       4h 19m ago
    @skyemin 有考虑的,bridge 本身就是为这层扩展预留的。Nexus 没有直接绑定某一种 Agent SDK ,通过统一协议和 runtime 通信;目前主要跑本机子进程,后续可以扩展 remote transport ,让不同主机分别运行和维护自己的 Agent ,再以统一身份加入同一个 Room 。
    远程真正麻烦的其实不只是通信,还包括身份认证、权限、在线状态、断线重连、任务恢复和审计。这些边界目前还在补,所以架构上已经留好了位置,但现在产品层面还不支持。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3090 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 53ms · UTC 13:59 · PVG 21:59 · LAX 06:59 · JFK 09:59
    ♥ Do have faith in what you're doing.