Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Moderator Server

БесплатноНе проверен

Allows users to manage multiple remote AI coding agents from a single Claude Code session, with a controlled execution model where operations require moderator

GitHubEmbed

Описание

Allows users to manage multiple remote AI coding agents from a single Claude Code session, with a controlled execution model where operations require moderator approval.

README

本地运行的 MCP Server,让用户在一个 Claude Code 会话中同时管理多个远程 AI 编码 Agent。

核心理念:讨论自由,执行受控。

Agent 之间可以自由讨论技术方案,但执行任何实际操作前必须经主持人(用户)批准。

详见 REQUIREMENT.txt


它做什么

主持人(即用户本人)通过本地 Claude Code 的 6 个 MCP 工具管理远端 Agent:

工具 作用
start_session 在远程机器上启动一个新 Agent
check 查看所有 Agent 的状态、待批操作、紧急求助、群聊动态
approve 批准一条或多条待批操作
reject 驳回一条或多条待批操作
cue 向指定 Agent 或所有 Agent 发送指令
stop_session 停止并清理指定 Agent 的会话

完整的工具语义见 docs/glossary.mddocs/adr/


协作模型(速览)

主持人 = 用户本人,本地 Claude Code 会话中通过工具调用管理 Agent。拥有最终决策权。

Agent = 远程机器上独立运行的进程;通过四种结构化标记(marker)与系统交互。

四种 marker

Marker 方向 作用
【进度汇报】…【/进度汇报】 Agent → 服务器 心跳
【TO:<agent_name>】…【/TO:<agent_name>】 Agent → Agent 同行消息(不经 moderator)
【申请执行】…【/申请执行】 Agent → 服务器 执行申请(moderator 必审批)
【求助人类】…【/求助人类】 Agent → moderator 紧急求助(仅这一种能 ping moderator)

详细协议见 ADR-0006(marker 协议)和 ADR-0007(写回协议)。

讨论 vs 执行

  • 讨论(自由):读文件、grep / cat / ls / git log / 只读 API。Agent 自由进行。
  • 执行(需审批):写文件、删文件、shell 命令、test / build / install、git commit、副作用 API 调用。Agent 必须发 【申请执行】 等批准。

边界原则:是否留下持久状态变更或对外部系统产生副作用。


Non-Claude Agents(软契约)

Moderator MCP Server 协议本身不依赖 Claude Code 的特定行为。任何满足以下最低要求的进程都可作为 Agent 接入:

  1. 能读 stdin:服务器通过 stdin 发送 <moderator-…> 写回 tag。
  2. 能写 stdout:Agent 通过 stdout 输出 marker。
  3. 能保持长会话:进程不主动退出,除非收到停止信号。
  4. 尊重 marker 语法:完整闭合 【…】…【/…】;嵌套 / 畸形时协议容错(详见 ADR-0010)。
  5. 解析 writeback tag:能从 stdin 文本中提取 <moderator-approve> / <moderator-reject> / <moderator-cue> / <moderator-info> 并按 kind 分发。

v1 不做

  • 不做 schema 强制:Agent 端解析由 Agent 自己负责,moderator 不验证。
  • 不做适配器:Hermes / Gemini CLI / 自定义 Agent 脚本需自己解析 tag。docs/adr/0007-moderator-writeback-protocol.md 提供完整语法。
  • 不做发现机制:Agent 启动需要 moderator 显式 start_session(name, host, ...) 拉起。

v2 候选

  • mini-DSL for marker 协议:如果用户频繁接入新 Agent 类型,考虑提供 SDK。
  • plugin 系统:把 marker / writeback 写成可注册的 schema。复杂度高,仅在明确需求时再做。

推荐的非 Claude 接入示例

任何能在 tmux 会话里跑的脚本都可以。例如:

# 简单 shell Agent:echo marker,read stdin
#!/bin/bash
while read -r line; do
  case "$line" in
    "<moderator-approve"*) echo "【进度汇报】收到批准,开始执行【/进度汇报】" ;;
    "<moderator-cue"*) echo "【进度汇报】收到 cue【/进度汇报】" ;;
  esac
done

更严肃的 Agent(Hermes / Aider / 自定义脚本)应按 ADR-0007 的语法解析。


安全声明

⚠️ state 文件和 role_prompt 是明文存储。可能包含 secret(API key、密码、个人信息)。

  • state 文件~/.moderator/moderator_state.json(用户可覆盖)。请按 secret-grade 资源保护(chmod 600 / Windows ACL)。
  • role_prompt 路径:远端主机的 /tmp/moderator/role-<name>.txt,通常全局可读
  • 不适用于多用户机器:假设 moderator 是机器唯一用户。
  • v1 不做加密:密钥管理是开放问题。详见 ADR-0012

架构与设计文档

  • 术语表docs/glossary.md —— 系统的通用语言(角色、marker、审批、生命周期、横切关注点)。
  • 架构决策记录docs/adr/ —— 所有 ADR 按数字排列。每项决策的 Context / Decision / Consequences / Alternatives 都已记录。

必读 ADR

新贡献者建议按以下顺序阅读:

  1. ADR-0001 —— 我们用 ADR(元模板)
  2. ADR-0002 —— MCP 传输用 stdio
  3. ADR-0003 —— 远端 Agent 机制
  4. ADR-0004 —— 持久化
  5. ADR-0005 —— 路由白名单 + 同名拒绝
  6. ADR-0006 —— Marker 协议
  7. ADR-0007 —— 写回协议
  8. ADR-0008 —— Agent 生命周期
  9. ADR-0009 —— 审批语义
  10. ADR-0010 —— Marker 边界条件
  11. ADR-0014 —— State schema v1 对账
  12. ADR-0015 —— SSH 指纹 TOFU
  13. ADR-0016 —— Schema 版本迁移

安装与启动

占位。v1 实施推进中。

# 占位
git clone <repo>
cd multi-agent-moderator-mcp
pip install -e .

启动后 moderator 在 Claude Code 会话里会看到 6 个工具可用:start_session / check / approve / reject / cue / stop_session


状态文件

默认路径:~/.moderator/moderator_state.json(可通过环境变量覆盖)。

JSON 形态,包含 5 个顶层集合(agents / actions / chat / progress / help_requests),外加辅助字段(action_seq 计数器、seen_marker_hashes FIFO、schema_version)。详细 schema 见 ADR-0014(待写)。

审计导出

moderator state-inspect --format jsonl [--agent=<name>] [--since=<ts>]

详见 ADR-0013


已知软肋(v1 显式不解决的)

文档 何时升级
多 moderator 协同 ADR-0011 ≥3 个独立报告
State 文件加密 ADR-0012 出现 secret 泄漏报告
role_prompt/tmp ADR-0012 v2 候选
自动重启 offline Agent ADR-0017 ≥3 个独立报告
配置驱动 marker 类型 ADR-0013 用户重复要求新 marker
Schema 自动迁移 ADR-0016 出现"想启动自动迁移"报告
MCP server 层 SSH fingerprint 校验 ADR-0015 用户希望独立校验

开发

  • M1–M8 实施:见主计划 ~/.claude/plans/requirement-txt-atomic-canyon.md
  • 设计文档同步:本 README 跟 docs/ 一起维护;改协议时先写 ADR 再改代码。

许可

待定。

from github.com/linyh1983/multi-agent-moderator-mcp

Установка Moderator Server

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/linyh1983/multi-agent-moderator-mcp

FAQ

Moderator Server MCP бесплатный?

Да, Moderator Server MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Moderator Server?

Нет, Moderator Server работает без API-ключей и переменных окружения.

Moderator Server — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить Moderator Server в Claude Desktop, Claude Code или Cursor?

Открой Moderator Server на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Moderator Server with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории development