本文由 @chriskim_dev 撰写
AI Agent 在为一个人工作时表现很棒,但当它们能与你整个团队协作时,会变得更加有趣。
本指南是一份面向开发者的分步教程,旨在实现这一点:构建一个"公司大脑",将 @NousResearch 的 Hermes Agent 与你团队已经在 @Box 中使用的共享文件、评论、版本和上下文连接起来。最后,你将拥有一个可用的实现方案,让 Hermes 不再只是个人助手,而是成为与其他所有人共享同一真实信息来源的团队成员。
为了让本教程保持聚焦,我假设你已经有在 VPS 上设置 Hermes Agent Gateway 的经验,这样你的 Agent 就能 24/7 可用。关于详细设置指南,请查阅 Hermes 开发者文档。我们将使用 DigitalOcean 的 Droplet 来托管我们的 Hermes 实例,但同样的模式适用于任何 VPS 提供商。
先看演示视频
在开始构建之前,先看看实际工作流程!
https://x.com/chriskim_dev/status/2066898496842846557
问题:AI Agent 仍然过于孤立
如果你在市场营销、内容、产品或面向客户的团队工作,这个故事可能让你感同身受。你正在制作一个公司产品视频。有人把 ZIP 文件丢进 Slack 群里,团队成员问里面有哪些素材,更多版本不断堆积(video_project_v2_FINAL.zip、final_final_revised.mov、launch_copy_v3.txt),反馈被淹没,有人编辑了错误的版本。
然后 AI Agent 介入,让情况变得更糟——它充满自信地基于自己本地的项目副本工作。像 Hermes 这样的工具在个人效率方面很强大,但 Agent 与人、Agent 与 Agent 之间的交接会出问题,因为所有人,包括人类和机器,都在基于不同的上下文工作。
解决方案: 让你的 Agent 使用你团队已经使用的同一个共享工作空间,一个大家都能调用的单一真实信息来源。这就是 Box 的作用。
你将构建什么
到本指南结束时,你将拥有:
- 在 VPS 上运行、以 Slack 为网关的 Hermes Agent
- 在同一台服务器上安装的 Box CLI
- 一个使用客户端凭证授权(CCG)认证的 Box 应用
- 为 Hermes 创建的专用 Box 服务账号
- 一个共享项目文件夹,作为人类和 Agent 的工作空间
- 一个可重复的 Agent 工作流模式,让 Hermes 能够在 Box 中上传、读取、分析和组织工作
这里的关键设计选择是:不 将 Hermes 以你的个人 Box 用户账号认证到 Box CLI。相反,我们使用客户端凭证授权(CCG)创建一个 Box 应用,让你的 Agent 在 Box 中拥有自己的服务身份。
什么是服务账号?
服务账号是应用程序或自动化流程的专用身份。如果 Hermes 使用你的个人账号,它可以访问你所有能访问的内容,这对于本地实验来说没问题,但对于团队或面向客户的工作流来说,不是正确的模式。使用服务账号,Hermes 获得自己的 Box 身份,你只需共享它需要的文件夹。这就形成了一个清晰的安全边界:Hermes 以 Hermes 的身份行动,只看到你与它共享的内容。
Box CCG 应用就是我们创建那种服务器端身份的方式。CCG 让你的应用无需交互式用户登录即可进行认证。你在 Box Developer Console 中创建一个应用,在 Admin Console 中授权它,然后使用它的客户端 ID、客户端密钥和企业 ID 从你的服务器进行认证。你将在下面学习如何创建应用,但更多细节请阅读 Box 关于客户端凭证授权的文档。
前提条件
你需要:
- 一个免费的 Box 开发者账号
- 一个 DigitalOcean 账号(或任何其他 VPS 提供商)
- 一个可以创建和安装应用的 Slack 工作区
- 已配置模型提供商的 Hermes Agent
- 基本的终端使用经验
首先,注册一个免费的 Box 开发者账号。注册后,你会被重定向到 Box Developer Console,你将在那里创建 CCG 应用,为 Hermes 提供服务身份。
步骤 1:创建 DigitalOcean Droplet
在本教程中,我们将使用 DigitalOcean Droplet 作为 VPS。DigitalOcean 有关于创建 Droplet 的完整指南。
对于开发演示来说,一个小型 Ubuntu Droplet 就足够了:
- Ubuntu 24.04
- 1 vCPU
- 2 GB RAM
- SSH 密钥认证
- 启用监控
创建 Droplet 后,SSH 进入:
1ssh root@YOUR_DROPLET_IP
更新包并安装基础工具:
1apt update2apt upgrade -y3apt install -y curl git unzip jq build-essential nodejs npm
步骤 2:安装 Hermes Agent
按照官方 Hermes 文档在 droplet 上安装 Hermes Agent。
安装后,验证它是否正常工作:
1hermes --version
然后运行设置:
1hermes setup
选择你要使用的 AI 模型提供商,并按照提示操作。Hermes 支持不同的模型提供商,所以我不指定具体哪一个(任何主流提供商都可以)。重要的是,在我们将其连接到 Slack 和 Box 之前,Hermes 能成功运行。
快速检查 Hermes 是否设置正确:
1hermes
然后发送 "Hello",看看 Hermes 是否响应。如果设置正确,终端会回复;如果没有回复,请重新运行 hermes setup,并确认你的模型提供商密钥已配置。
步骤 3:创建 Slack 应用并设置 Hermes Gateway
Hermes Gateway 让你的 Agent 能够在像 Slack 这样的消息平台中运行。让我们将 Slack 设置为我们的 Hermes Agent 的消息平台。请参考 Hermes 开发者文档中的详细 Slack 设置指南。完成之后,你应该拥有:一个 Slack bot 令牌、一个 Slack 应用令牌、已安装到你的工作区的 Slack 应用,以及已配置好的网关。
注意:由于 Hermes 运行在 VPS 上,请在提示时将 Hermes Gateway 安装为系统服务。这样它会在启动时自动运行,并在你关闭终端后继续运行。
用以下命令检查服务状态:
1systemctl status hermes-gateway
有用的命令:
1systemctl restart hermes-gateway # 重启网关2journalctl -u hermes-gateway -f # 实时查看网关日志3journalctl -u hermes-gateway -n 100 --no-pager # 显示最后 100 行日志
一旦 Slack 应用已安装并配置为你的 Hermes 网关,在 VPS 上重启 Hermes:
1systemctl restart hermes-gateway
在 Slack 中通过发送带有 @Hermes 的消息来测试:
1@Hermes hello
步骤 4:安装 Box CLI
现在你的 Hermes Agent 已经在 Slack 上正常运行,让我们使用 Box CLI 将其连接到 Box。Box CLI 基本上让 Box 完全无头,你允许你的 Hermes Agent 通过 CLI 命令执行所有 Box 操作,如读取文件、创建/上传文件以及管理 Box 中的内容。
在 VPS 上安装 Box CLI(使用你远程连接到 VPS 的终端):
1npm install --global @box/cli
验证:
1box --version
太好了!Box CLI 已安装在你的 VPS 上。我们稍后将认证到它。更多信息,请参阅 Box CLI 文档。
步骤 5:创建 Box CCG 应用
前往 Box Developer Console 并使用客户端凭证授权创建一个新应用。这个应用是代表你的 Hermes Agent 行动的服务身份。

创建完成后,在右侧找到 App Details 侧边栏,并找到以下凭证:
- clientID
- clientSecret
- enterpriseID
现在在你的 VPS 上创建一个配置文件:
1nano /root/box-ccg-config.json
粘贴:
1{2 "boxAppSettings": {3 "clientID": "YOUR_CLIENT_ID",4 "clientSecret": "YOUR_CLIENT_SECRET"5 },6 "enterpriseID": "YOUR_ENTERPRISE_ID"7}
保存并退出:
1Ctrl+O 或 Cmd+O2回车3Ctrl+X 或 Cmd+X
现在让我们配置 Box CLI 环境,用我们的 CCG 应用进行认证。这将让 Hermes 使用 CCG 应用而非个人用户账号登录 Box CLI。
将环境添加到 Box CLI:
1box configure:environments:add /root/box-ccg-config.json --ccg-auth --name service
将其设置为当前环境:
1box configure:environments:set-current service
验证服务身份:
1box users:get
你应该会看到一个自动化用户,而不是你的个人用户。可能看起来像这样:
1Name: my-app2Login: [email protected]
这就是你的 Hermes Agent 在 Box 中使用的身份。现在,当你告诉 Hermes Agent 执行任何 Box 操作时,Hermes 将能够使用 Box CLI 来执行。
步骤 6:与服务账号共享一个项目文件夹
在 Box 中为你的项目创建一个文件夹——例如,Product Launch Video Project。
进入 Box Developer Console 上创建的 CCG 应用页面,从右侧的 App Details 侧边栏中复制自动化用户的邮箱。

现在将那个文件夹与上一步中的自动化用户共享。


这是关键的安全边界。Hermes 不需要访问你的整个账号,它只需要访问这个项目文件夹。
让我们确认一下受限访问设置是否有效!在你的 Slack 上询问 Hermes Agent:
1@Hermes 你能检查一下在根目录下你能看到哪些文件夹和文件吗?
如果你只看到你之前创建的项目文件夹,那么我们就可以开始了!
恭喜你! Box 现在已准备好作为你的 Hermes Agent 的公司大脑。将这个文件夹作为你唯一的真实信息来源,让 Hermes 在你交给它的任务中以此为上下文进行工作。
让 Hermes 学习 Box CLI
这是我最喜欢的 Hermes 特性之一:它的自我改进循环。你不需要预先完美地手写每一个 Box CLI 命令。相反,给 Hermes 一个任务,让它自己学习。
例如,在 Slack 中:
1@Hermes 使用 Box CLI 查明你当前以什么身份认证,然后列出共享项目文件夹中的文件。
然后尝试:
1@Hermes 创建一个可复用的技能,用于常见的 Box CLI 操作,比如列出文件夹、上传文件、下载文件以及检查当前服务账号。
在视频演示中,Hermes 学会了如何高效地使用 Box CLI,并构建了自己的可复用 box-cli 技能。我并没有事先创建那个技能。Hermes 从环境中学习,并改进了其未来的行为。
你仍然可以用简短的说明来指导它:
- 始终使用 Box CLI 服务环境。
- 只在批准的项目文件夹内进行操作。
- 在删除或覆盖内容之前询问。
- 尽可能保留版本历史。
- 将 Box 视为持久的真实信息来源。
让 Hermes 使用 Box CLI,观察它在哪些地方遇到困难,纠正它,并让它为下次创建一个更好的工作流。
这个方案的真正亮点:团队利用共享大脑的实际案例
我的演示是关于协作完成一个视频发布,但一旦 Hermes 和你的团队在 Box 中共享同一个真实信息来源,你可以将它用于 任何 需要人类和 Agent 保持同步的工作。这里有一些场景可以激发你的灵感,尝试它们,然后创造你自己的!
内容与市场营销协作(升级你的视频发布)。 你的剪辑师将最终版本丢进 Box,写作者留下评论作为反馈,Hermes 自动拾取,无需任何人重新解释项目:
1@Hermes V2 剪辑已经批准——生成字幕、一条 YouTube 描述和 3 个缩略图方案,然后将它们保存在 launch 文件夹中。
团队成员机器上的第二个 Agent 之后可以拉取同一个文件夹来安排发布。再也没有人问"哪个文件是最终的?"
产品发布协调。 PM、设计和市场营销都在争分夺秒地赶同一个日期。与其依赖一个写完后立刻过时的发布文档,不如让 Hermes 从共享工作空间中实时组装它:
1@Hermes 读取 Launch 文件夹中的规范、最新设计图和 QA 笔记,然后起草一份 go/no-go 检查清单和一页纸的发布简报。
当规范变化时,重新运行它——大脑总是读取当前的真相,而不是上周的副本。
工程工作。 让 Hermes 指向 Box 中的仓库导出文件、设计文档和事故记录,这样整个团队都基于一个上下文工作:
1@Hermes 总结 Auth-Service 文件夹中的未解决问题和设计文档,然后为 v3.2 部署起草发布说明。
新工程师入职?他们(以及他们的 Agent)阅读与资深团队相同的文件夹——没有隐藏在私信中的隐性知识。
个人副业项目。 即使是单独使用,这个设置也有回报——你的"团队"只是你本人,在笔记本电脑、手机和几个 Agent 之间切换:
1@Hermes 这是我这个月的锻炼日志和食谱——为我制定一份饮食和训练计划,然后放到我的 Side Projects 文件夹里。
在手机上开始想法,在笔记本电脑上完成,然后让另一个 Agent 明天接着处理。
法律与合同工作。 法律工作离不开版本控制,所以单一真实信息来源在这里是一份礼物:
1@Hermes 比较供应商 MSA 的 V2 修订版与 V1,列出所有变更的条款,并标记任何涉及责任或终止的内容。
法律顾问直接在 Box 中的文件上评论;Hermes(以及任何审阅者的 Agent)总是拉取最新的签署版本,而不是随意的邮件附件。
贯穿所有这些场景的线索,正是你一直在构建的:
不同的团队。不同的 Agent。不同的界面。同一个共享工作空间。
选择最接近你工作场景的那个,今天就运行它。然后发挥创意!最好的用例几乎总是那个你在消除摩擦后自己发现的那个。玩得开心,并在评论中分享你所构建的内容!





