想在自己电脑上跑一支「多智能体团队」——给一个大目标,几个 Agent 分工协作、互相检查,而不是只有一个聊天框?很多框架要你写编排代码、搭消息总线、接可观测性,门槛不低。
markus 走的是另一条路:它是一个开源、本地自托管的 AI 劳动力平台。你用自然语言给一个目标,它自动组建多智能体团队、拆解任务、并行执行,并通过 peer review(同伴评审)把每一份交付都过一道审查闸门。数据全在本地 SQLite,模型密钥你自己填(也支持本地模型完全离线)。它提供桌面 App、CLI 与服务端 Web UI(localhost:8056),适合想「开箱即跑一支 Agent 团队」的开发者。
先搞懂:markus 把「团队协作」做成了什么
与传统「单一聊天 Agent」不同,markus 的模型是「目标 → 团队 → 分工 → 并行 → 评审」:
| 环节 | markus 怎么做 |
|---|---|
| 组队 | 给目标后自动装配一组专职 Agent(研究 / 内容 / 开发 / 监控等) |
| 拆解 | 把大目标拆成子任务,可并行执行,带持久记忆 |
| 评审 | 每份交付先经同伴评审(peer review),通过才交付 |
| 隔离 | 数据在本地 SQLite;自带技能生态与 IM 网关 |
它是 pre-1.0 软件:markus 当前是 0.12.x,更新频繁、可能有破坏性变更。把它接进生产关键流程前,先在小目标上试跑验证;命令细节以官方文档与 App 内引导为准,本教程给的是通用流程。
Step 1:安装 markus
markus 提供一键脚本、npm 全局包和桌面 App,任选其一:
# 方式一:官方一键脚本(macOS / Linux)
curl -fsSL https://markus.global/install.sh | bash
# 方式二:npm 全局(需 Node.js 22+)
npm install -g @markus-global/[email protected]
# 方式三:桌面 App(推荐新手)
# 到官网下载 macOS / Windows / Linux 安装包,双击安装即可
# 验证
markus --version
Step 2:配置模型密钥
markus 是 BYOK(自带密钥),把你的提供商 Key 写进环境变量(或 App 的设置页)。想完全离线,就用本地模型(如 Ollama):
# .env 示例(8 个变量里最常用这几个)
OPENAI_API_KEY=sk-xxxx
ANTHROPIC_API_KEY=sk-ant-xxxx
DEEPSEEK_API_KEY=sk-xxxx
# 本地模型离线:不填任何云 Key,配置 Ollama 地址即可
# DATABASE_URL=~/.markus/data.db # 默认本地 SQLite,可不改
离线不等于自动离线:只要你在配置里填了云厂商 Key,任务文本就会被发到对应提供商。要做到「数据完全不出本机」,必须显式用本地模型、并且不填任何云 Key。另外 markus 给执行器设了硬约束——No shell / No secrets / No sends:环境文件和凭据全程不可读、不可写,别指望 Agent 去动你机器上的命令。
Step 3:启动并打开工作台
桌面 App 直接打开即可;CLI 起服务后访问 Web UI:
# 桌面 App:双击打开,自动起本地服务
# CLI / 服务器:启动后访问
open http://localhost:8056
# 服务器部署(Linux 一键)
curl -fsSL https://markus.global/install.sh | bash
# 启动后同样访问 :8056,可配远程访问与多用户
进入工作台后,你会看到目标输入框、团队运行状态、任务队列与评审面板。所有运行数据落在本地 ~/.markus/data.db。
Step 4:给一个高层目标,看它组队与拆解
在工作台输入一个清晰的目标,markus 会装配团队、拆分任务并行执行,并保留持久记忆(跨会话记住上下文):
# 目标示例(越具体越好)
"调研 3 个竞品的价格与核心功能,产出一张对比表,
结论附来源链接"
# markus 会:
# 1) 组队:研究员 + 写手 + 审校
# 2) 拆解:找资料 / 抽字段 / 写表格 / 交叉核对
# 3) 并行执行,带持久记忆
目标清晰度决定拆解质量:模糊的「帮我研究一下」会得到松散结果;带范围、产出形态、验收标准的指令,团队分工才明确。把目标当成给真人的 brief 来写。
Step 5:走 peer review 闸门
markus 把每份交付先过一道同伴评审(peer review)。在 Web UI 的评审面板里你可以接受或驳回;它还按任务价值分档:
| 档位 | 能拉的活 | 适合 |
|---|---|---|
| Level 1 | $ 与 $ 低/中价值 | 行政、邮件、杂活、会议 |
| Level 2+ | $$ 高价值 | 销售、战略、产品 |
规则是「Level 1 代理只拉低价值活,Level 2+ 才碰高价值活」。评审通过的交付才会进下一步;被驳回的会回到对应 Agent 重做。
Step 6:接工作流与多通道
跑顺单目标后,可以用 Workflows 定义可复用的流水线(官方 0.12.x 已带 P0+ 引擎与 Work 页),并通过 REST + WebSocket API、IM 网关把团队接进你现有系统:
# 概念:定义一个可复用工作流
# Workflows: P0 + W2 引擎,把「调研→写稿→评审」固化成流水线
# 接入方式:
# - REST + WebSocket API:让你的程序调用 markus 团队
# - IM 网关:把任务/结果接到聊天/工单系统
# - 技能生态:复用社区/团队沉淀的可复用技能
成本是并行执行的代价:多 Agent 并行会消耗较多 token。先用小目标试跑,在 Web UI 估一下每轮消耗,再决定是否放大到整支团队跑大目标。pre-1.0 下 Workflows 的具体字段与 CLI 子命令可能随版本变化,以 App 内引导与官方文档为准。
预期效果与常见问题
预期效果:跑完上面六步,你本地就有了一支「给目标→自动组队→并行执行→同伴评审」的 Agent 团队,所有运行数据在本地 SQLite,模型密钥你掌控。给一个清晰目标,它能产出带来源、经过互审的结果,而不是单 Agent 的一锤子输出。
| 你遇到的现象 | 大概率原因与解决 |
|---|---|
| 起不来 / 端口冲突 | 默认 8056,释放后重试;服务器部署确认防火墙与端口映射 |
| 结果质量松散 | 目标太模糊,按 brief 写法补范围、产出形态、验收标准 |
| 数据疑似外发 | 检查是否误填云 Key;要离线就只用本地模型且不填任何云 Key |
| token 消耗快 | 并行团队大目标先小跑估成本;高价值活限定 Level 2+ 代理 |