Claude Code + Multica = 终极 AI 智能体配置方案

BBetter Stack
컴퓨터/소프트웨어창업/스타트업AI/미래기술

Transcript

00:00:00好的,Multicore 声称它是一款能将你的 AI 代理转化为真正队友的工具,
00:00:05因此 Claude Code、OpenCode、Codex CLI、Hermes 等都可以通过它们自己的系统提示词
00:00:11以及它们自己的技能进行设置,并被分配带有状态更新的任务,它们可以在需要你帮助时提醒你,
00:00:16安排周期性任务,并且你可以直接与你的代理交谈。
00:00:21但是,这种开源版的 Claude Routines 和托管代理真的值得你花时间吗?
00:00:27点击订阅,让我们一探究竟。
00:00:32现在,使用 Multicore 的预期方式是将其安装在你的工作机器上,理想情况下
00:00:37这台机器上运行着像 Claude Code 或 OpenCode 这样的终端编码代理,然后将其连接到
00:00:42Multicore 云端用户界面。
00:00:44但我们不打算那样做,我们要走完全自托管的路线。
00:00:48所以我们会在 VPS 上安装 Multicore,稍后我会解释原因。
00:00:52事实上,我通常会跳过整个设置阶段,但对于 Multicore 的自托管,有
00:00:58一些事情我必须弄清楚,而这些并没有出现在文档中。
00:01:01所以我们先通过这些步骤,然后再运行一些关于如何使用它的示例。
00:01:05我已经在一台全新的 Hetzner VPS 上通过运行这个命令设置好了 Multicore,这
00:01:10将使用 Docker 来安装 Multicore。
00:01:12所以请确保你的 VPS 上安装了 Docker。
00:01:15当你运行所有程序时,你只会看到三个正在运行的容器:Multicore 后端,
00:01:19我相信它是用 Go 语言编写的;Multicore 前端,它是使用 TypeScript 和 Next.js 构建的;
00:01:24以及用于存储会话信息的 Postgres 数据库。
00:01:27接下来你需要运行 "Multicore setup self-host"。
00:01:30但我在这方面遇到了一些问题。
00:01:31所以如果我们运行 "Multicore self-host",并且如果我要重置当前的配置
00:01:35和我的工作区,你会看到它要求我通过这个 URL 进行身份验证,这会带你进入
00:01:39这个页面。
00:01:40如果你添加了电子邮件地址并点击继续,你就必须输入一个重新发送的代码。
00:01:45我在这部分遇到了很多麻烦。
00:01:48所以我建议你通过进入 ".multicore server" 目录来完全避免重发验证码的问题,
00:01:53打开 env 文件,确保应用环境(app environment)设置为 "development",
00:01:58还要确保 "recent API key" 的值为空。
00:02:02这将使代码呈现这个值。
00:02:04完成这些操作后,留在此目录中并运行此命令以使用更新后的环境变量文件重启容器。
00:02:09完成这些之后,你应该就能用六个 8 登录了。
00:02:11现在我们还没完全完成。
00:02:15从这里进入 "runtimes",你可以看到我安装了两个不同的运行时,
00:02:17但你应该什么都没有,因为那还没设置好。
00:02:21如果你运行 "Multicore Daemon Status",你可以看到现在我的正在运行,并且使用这些
00:02:24带有单个工作区的代理,但你的应该会显示错误。
00:02:28这是因为首先在你的 VPS 上,你需要安装一个终端编码工具。
00:02:32所以我安装了 Claude Code 和 Open Code。
00:02:36为了将该运行时连接到你的 Multicore 实例,你必须进入设置,
00:02:39以及 API 令牌,然后创建一个新的 API 令牌,然后运行 "Multicore login" 并使用 token 标志
00:02:44并将你的令牌粘贴在这里。
00:02:50然后如果你有运行中的 Multicore Daemon,在再次启动之前先将其停止。
00:02:52Multicore 中的守护进程(Daemon)会检查已安装的 harness 二进制文件,轮询 Multicore 中的任务
00:02:56并将其分发给代理,利用工作树(work trees)来生成多个代理以完成这些任务。
00:03:01一旦你完成了这些,守护进程现在应该就能显示你可用的运行时了。
00:03:07以这种方式连接的好处是,你可以将多台机器添加到你的
00:03:08Multicore 实例中。
00:03:11所以如果你有多个 VPS,你可以将 Multicore 安装在所有这些机器上,并使用不同的 API 令牌将它们
00:03:15连接到一个单一的用户界面。
00:03:16好了,设置完成后,让我们通过 Multicore 来做一些简单的任务。
00:03:20我不会演示全部的功能潜力。
00:03:23例如拥有多个代理、多个项目和添加多个任务,我只想向你展示
00:03:28各个功能,让你能构想出 Multicore 有多强大,如果这是你想要的工作方式。
00:03:30在你使用 Multicore 做任何事情之前,你必须先创建一个代理。
00:03:35我已经在这里创建了一个叫 Medibot 的代理,但你可以通过点击这个加号
00:03:39按钮并按照说明操作来创建一个。
00:03:40这个医疗机器人类似于或者拥有与我在 Claude
00:03:43托管代理视频中制作的那个机器人相同的系统提示词,它只是从一个私有的 GitHub 仓库获取我的医疗信息,
00:03:48我可以通过 Slack 与它交流。
00:03:50现在因为我在 Multicore 方面有更多的自由,因为我有自己的 VPS
00:03:56并且我可以直接管理它,所以我没有让这个代理从 GitHub 克隆那个仓库,
00:04:02而是直接把它克隆到了这个目录中。
00:04:04现在,除了系统提示词之外,你还可以为你的代理提供自定义技能。
00:04:08请注意,代理将有权访问你在 CLI 上安装的技能,但如果你愿意,你也可以直接在 UI 中
00:04:12添加技能,就像我已经做了一个测试技能一样,但我
00:04:16不打算将其添加到代理中。
00:04:19还有环境和自定义参数。
00:04:24由于代理使用 CLI 工具,这种情况下它将使用 "open code run",我可以
00:04:29为我希望该代理仅使用特定模型等添加自定义标志。
00:04:30但默认情况下,代理将使用你在 CLI 中拥有的模型。
00:04:33所以如果我现在运行 open code,你可以看到它正在使用 OpenCodeZen 中的大模型。
00:04:37现在我可以通过点击这里来创建一个任务或议题,我将其命名为医疗
00:04:42问题,提示词为:你能检查我的医疗信息并告诉我我是否可以
00:04:46吃鱿鱼吗?
00:04:50如果你曾经使用过任何问题追踪工具,你会觉得这非常眼熟。
00:04:54你可以设置优先级、分配人员、添加截止日期等等。
00:04:59但我强烈建议你总是在分配人员之前创建议题,因为
00:05:00一旦你将机器人分配给这个议题,它就会立即开始工作。
00:05:04为了确保你对自己写的内容感到满意,请进行核对。
00:05:08一旦完成,就分配给一个机器人。
00:05:13所以我会将其分配给 Medibot 并创建议题。
00:05:17从那里,机器人将开始工作。
00:05:21我可以追踪它在里面的议题。
00:05:23如果我们点击这个议题,我们可以看到 Medibot 正在立即工作。
00:05:26现在当它运行时,我将点击 "autopilot"。
00:05:28这是 Claude Routines 的开源版本。
00:05:30我们可以点击 "start from scratch",我们可以选择一个代理,并设置我们希望
00:05:34此任务运行的频率。
00:05:36与 Claude Routines 不同,这里没有 API 触发器或 GitHub 事件触发器的选项。
00:05:39也许未来会有。
00:05:44但我打算给它一个类似于 Claude 自动化视频的提示词,即通过 RSS
00:05:45获取这三个通讯录的最新议题。
00:05:51一旦你获取了这些议题,找到最适合 YouTube 视频的 10 篇文章。
00:05:53这将在伦敦时间每天上午 9 点运行。
00:05:57理想情况下,你会想要一个专门的研究代理,擅长为 YouTube 选择主题。
00:06:00但目前我们就用 Medibot,然后点击创建。
00:06:05然后我们可以点击进入这个 autopilot 并点击 "run now" 看看它的实际操作。
00:06:08它将在 "todo" 中创建一个新的议题。
00:06:14我们将让它运行几分钟,然后检查我们其他的议题,它已经
00:06:17被代理移动到了 "in review"。
00:06:21所以这里说,根据我的医疗记录,我对贝类过敏,这是事实,并且
00:06:23不应该吃鱿鱼,然后在下面给出了关于我过敏的更多信息。
00:06:28我们也可以点击这里查看代理具体做了什么。
00:06:30所以我们可以展开执行历史记录,看到它进行了一些 bash 工具调用。
00:06:35事实上,是大量的 bash 工具调用来查找医疗信息目录,并让它搜索
00:06:40整个主目录,直到找到它并检查我的医疗信息,从而给代理
00:06:43正确的信息。
00:06:48太棒了。
00:06:53从这里,我甚至可以回复:"谢谢你的信息。"
00:06:59为什么你把它放在 "in review" 而不是移动到 "done"?
00:07:00所以我们把这个留给代理。
00:07:01如果你不想手动跟踪代理在说什么,你也可以从代理那里获得
00:07:04通知。
00:07:07所以这是来自医疗代理的回复。
00:07:09我也收到了来自我们的 autopilot 的更新。
00:07:12这是一个一小时前自动运行的议题,这是我们刚刚触发的那个,它
00:07:14刚刚完成。
00:07:16所以我们可以在这里看到这是我给它的提示词,它已经完成了提示词的运行,并且正在
00:07:19给我一个回应。
00:07:22所以这是前 10 个精选,包含 barn、temporal API 等等。
00:07:23现在有趣的是,一旦议题在 "in review" 中,代理就不会将其移回
00:07:27"in progress",你作为人类当然可以自动完成。
00:07:28所以如果我想,我可以将其移至 "in progress" 或者将其移至 "blocked"。
00:07:33但即使我问了医疗代理一个问题,它在回答问题时也没有回到 "in progress"。
00:07:37它只是停留在 "in review",所以我需要点击它才能知道它何时完成,我们可以看到
00:07:41为什么它将其移动到 "in review",因为这是标准的工作流步骤,而不是移动它
00:07:45到 "done"。
00:07:49所以它在等待我,这个人类,将其移动到 "done",这在某种程度上是有道理的。
00:07:51从这里我可以继续与代理交谈,留下回复、留下评论、附加
00:07:55文件和表情符号,或者如果我只是想问一个一次性的问题而不通过
00:08:00整个议题追踪过程,我可以点击这里直接与我的代理交谈。
00:08:01说实话,我不是那种通过分配
00:08:05任务并观察它们通过看板前进的方式来与代理交流的粉丝。
00:08:09这就是为什么我没有尝试过像 Paperclip 或 Vibe Kanban 这样的项目。
00:08:14我不太关心优先级或截止日期,我倾向于与代理一次处理一个或可能两个项目,
00:08:18我喜欢与我的代理进行更多的对话,实际上看到
00:08:22它们所做的事情、它们使用的工具以及它们遇到的问题,这样我就可以帮助它们调试。
00:08:25但这并不是说我不喜欢 Malteka 这个想法,实际上我喜欢它的定时
00:08:29任务功能,我喜欢你可以完全自托管它,而且我也认为它是一个非常稳固的
00:08:34工具,如果你使用不同的模型,它比使用一些 Claude 托管的
00:08:39代理或 Claude 自动化更便宜。
00:08:45但我必须说它的设置过程相当技术化,你必须知道
00:08:50你在做什么,特别是如果你想保证事情的安全,而这正是
00:08:55托管代理或自动化的好处,它们通过在特定基础设施上托管事情来为你处理所有这些事情,
00:08:59而且你可以使用连接器与
00:09:02你的代理进行通信,这确实让事情变得更容易,因为如果你想在 Malteka 中做同样的事情,
00:09:06好吧,你可以在手机上使用响应式网站,但如果你想使用 Slack、Telegram 或 Discord,
00:09:11你就必须手动把事情整合在一起。
00:09:16这就是我走自托管路线的纯粹原因,就是为了安全,如果某样东西
00:09:20连接到互联网,那么它绝对是可以被黑客攻击的,我的意思是你可以完全在本地使用 Malteka,
00:09:24所以把它安装在你的本地机器上并运行本地 UI,这样它就不会连接
00:09:29到互联网,但如果你确实想把它连接到互联网,我建议使用 Tailscale 走
00:09:33自托管路线,这样你的服务器就不会完全暴露,并确保你
00:09:37总是保持在最新版本。
00:09:41本地,所以把它安装在你的本地机器上并运行本地 UI,这样它就不会连接
00:09:46到互联网,但如果你确实想把它连接到互联网,我建议使用 Tailscale 走
00:09:50自托管路线,这样你的服务器就不会完全暴露,并确保你
00:09:55总是保持在最新版本。

Key Takeaway

Multicore 为终端编码代理提供了高度可定制的自托管管理平台,通过 Docker 和 API 令牌将多个机器上的 AI 代理整合为可自动执行复杂任务的团队。

Highlights

Multicore 允许通过 Claude Code、OpenCode 或 Codex CLI 等终端编码代理设置自定义系统提示词和技能,实现自动化任务管理。

自托管 Multicore 需要运行后端(Go)、前端(TypeScript/Next.js)和 Postgres 数据库三个 Docker 容器。

绕过 Multicore 验证码问题的方案是进入 .multicore server 目录,将环境变量文件中的应用环境设置为 development 并清空 recent API key。

Multicore 支持将多个 VPS 添加到同一 UI 界面,每个机器通过独立的 API 令牌进行连接和管理。

Autopilot 自动化功能可以设置周期性任务,例如每天伦敦时间上午 9 点运行特定脚本以选择 YouTube 主题文章。

自托管路径通过直接在 VPS 上本地运行代理,相比 Claude 托管方案具备更高的数据控制权和安全性。

Timeline

Multicore 自托管环境配置

  • 通过 Docker 在 VPS 上部署 Multicore 后端、前端和 Postgres 数据库。
  • 修改环境变量文件中的 application environment 为 development 可解决身份验证重发代码的故障。

Multicore 原本预期在本地工作机器运行,但通过 VPS 自托管可实现更强的控制。安装过程涉及运行特定命令及针对环境配置的细微调整。将应用环境设置为开发模式并确保 API 密钥为空,能够有效规避登录阶段的验证码报错。

运行时与守护进程连接

  • Multicore Daemon 通过轮询任务并利用工作树(work trees)分发给终端编码代理。
  • 通过创建 API 令牌并在终端执行 login 命令,可将多个机器的运行时连接到统一的 Web UI。

守护进程是连接各个编码工具(如 Claude Code)的核心。完成登录认证后,守护进程会检查已安装的 harness 二进制文件并进行任务调度。这种架构允许用户将分布在多台服务器上的代理整合到一个中心化的看板中。

任务分配与自动化执行

  • 代理可配置系统提示词、自定义技能以及 CLI 运行标志。
  • Autopilot 功能支持设定特定频率的自动化任务,例如基于 RSS 的内容研究。

用户通过看板创建任务并分配给特定代理。代理在处理过程中会调用 Bash 等工具完成任务,并将结果状态移动至 review。Autopilot 虽然尚不支持 API 触发器,但能够按设定时间自动执行复杂逻辑并输出成果。

自托管方案的评估与安全性

  • 自托管方案相比云端托管在成本和安全性方面具备优势,但需要更高技术水平配置。
  • 建议使用 Tailscale 进行内网穿透,防止服务直接暴露在互联网上。

虽然看板式的工作流可能并不适合所有倾向于对话式调试的用户,但 Multicore 提供的灵活性极高。自托管虽然需要手动处理 Slack 或 Telegram 等外部集成,但通过 Tailscale 限制访问权限可确保运行环境的安全性。

Community Posts

View all posts