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

9 小时 49 分钟前
 leemysw

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

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

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

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

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

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

目前已经能跑的包括:

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

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

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

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

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1230706

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX