谈判
与编排器无关的MCP服务器,用于跨Codex、Claude和Gemini的多LLM会话。
  ](https://nodejs.org/) 
Parley是一个 模型上下文协议(MCP)服务器 专为 多代理和多LLM谈判工作流.它给 Codex, Claude,以及 Gemini 共享编排合同,因此可以启动、恢复、协调和归档谈判会话,而无需将项目锁定到单个客户端或特定于供应商的扩展模型中。
如果你正在寻找 TypeScript MCP服务器模板 为了 AI谈判编排, Claude/Gemini互操作性,或 工作空间级会话内存,此存储库是为该特定问题空间构建的。
为什么帕利
大多数AI工具都被困在一个客户端表面内。Parley采取了相反的方法:
- 服务器拥有会话状态,而不是客户端。
- Parley步骤由MCP工具驱动,而不是特定于UI的命令。
- 克劳德、双子座和未来的参与者可以在一份合同后正常化。
- 工作区内存在任何单个编排器会话中都能生存。
- 该架构已准备好以后扩展到插件、扩展、web UI或托管协调服务。
亮点
- 与编排器无关的MCP服务器
- 文件系统支持的工作区、主题和会话存储
- 租赁和
stateVersion安全并发编排的原语 - 用于主题创建、搜索、板检索、会话启动、状态查找、租赁索赔、诊断检查和会话进展的结构化工具界面
- 基于TypeScript+Zod的可预测输入和输出验证
- 真实
claude和gemini具有共享结构化输出验证的子流程适配器边界 - 恢复ID持久性和最后一轮响应快照,用于多步骤会话继续
- 在成功的回合中滚动总结积累
- 结构化的完成时间结论和明确的主题推广到工作空间记忆中
- 在推广摘要、开放式问题、行动项和标签中搜索主题记忆
- 面向状态的主题检索的工作区板摘要
- 操作员面临带有回放和维修指导的诊断检查
- 默认情况下,对诊断MCP视图进行了编辑,并明确表示了本地调试的完整细节选择
- 根据重播边界跟踪的持续诊断得出的下一个安全修复操作
- 参与者子流程超时、终止和输出大小护栏
- 会话、主题、租约和诊断工件的原子JSON持久性
- 会话和主题读取时明确显示损坏的工件可见性
建筑
flowchart LR
A["Codex"] --> D["Parley MCP Server"]
B["Claude Code"] --> D
C["Gemini CLI"] --> D
D --> E["Session State"]
D --> F["Topic Board"]
D --> G["Filesystem Storage (.multi-llm)"]
D --> H["Participant Adapters"]
H --> I["Claude CLI"]
H --> J["Gemini CLI"]当前状态
存储库当前位于 Sprint 12证据对齐和发布信号强化 舞台。
- 实现了MCP服务器骨架和核心会话生命周期
- 实现了文件系统支持的存储
parley_step执行参与者适配器并验证共享的结构化响应- 会话状态持续参与者
resumeId价值观和latestTurn快照 - 会话状态也保持结构化
rollingSummary用于下游编排和推广 parley_finish返回结构化conclusion同时保持summary作为兼容性领域parley_promote_summary将已完成的会话结论提升到链接的主题记忆中parley_search_topics检索摘要、问题、操作和标签中的推广主题记忆parley_get_workspace_board为下游客户端公开板式工作区摘要parley_list_diagnostics暴露故障步骤诊断,并提供操作员维修指导和下一步安全工具操作parley_list_diagnostics现在默认编辑原始子流程详细信息,并要求显式detailLevel: "full"选择加入以获取完整的MCP详细信息- 参与者子流程现在通过为操作员覆盖环境变量来强制执行超时、取消宽限期和输出大小护栏
- 文件系统读取现在将丢失的工件与无效或不可读的工件区分开来,而不是将它们折叠成通用的空路径
- 滚动总结、结论和提升的主题记忆现在可以消除重复的问题/动作项,并生成更紧凑的合成文本
- stdio集成覆盖率现在跨编排器标记的运行练习参与者简历重用和租赁冲突处理
- 结构化MCP工具错误现在返回机器可读的JSON信封
isError: true - 失败的参与者尝试在以下情况下保留调试友好的诊断
.multi-llm/sessions//diagnostics/ - 服务和适配器测试涵盖了快乐路径执行、检索、诊断和关键故障模式
- Stdio MCP集成覆盖率现在练习
start -> claim_lease -> step -> finish -> promote -> search -> board、恢复重用和租赁冲突场景 - 2026年3月16日最新记录的Windows烟雾运行已成功完成
claude.exe与安装的npm一起gemini.cmd但生成的证据将双子座的有用性归类为generic_fallback并将发布决定设置为等待审查 - 2026年3月13日早些时候,食典委运行的双子座超时仍被记录为历史证据,而不是当前的烟雾基线
- 实时Codex Desktop安装和MCP使用通行证现在已经验证了Windows上的服务器注册、租赁流程、步骤执行、诊断检查和真实参与者执行
- GitHub Actions CI现在配置为
ubuntu-latest加windows-latest用于棉绒、类型检查、测试和构建的矩阵 - Gemini规范化现在可以恢复常见的标记围栏JSON、标记纯文本和部分JSON响应形状,而无需扩大共享契约
- Gemini实用性强化现在增加了更强的反回退提示、纯文本下一步推理、更严格的默认下一步回退分类和有针对性的回归覆盖,而无需扩大共享契约
npm run smoke:real现在发射releaseEvidence和releaseEvidenceMarkdown,并且可以在以下情况下编写可重用的JSON和Markdown工件PARLEY_SMOKE_EVIDENCE_DIR已设置- 生成的释放证据现在总结了简洁的发射器来源事实,而不是将完整的即时有效载荷嵌入到面向人类的发射器字段中
- CI配置为在Linux和Windows运行程序上进行安装、lint、测试、类型检查和构建
- Sprint 12的实施现在集中在将冒烟和发布文档与最新的实践证据相一致,诚实地拒绝低价值的Gemini冒烟响应,并保持生成的发布工件足够简洁,以便直接审查附件
仓库的规划
.
|-- .github/workflows/ci.yml
|-- .multi-llm/
|-- docs/
|-- src/
| |-- index.ts
| |-- server.ts
| |-- config.ts
| |-- participants/
| |-- services/
| |-- storage/fs-store.ts
| `-- types.ts
|-- test/
|-- AGENTS.md
|-- LICENSE
|-- README.md
`-- multi-cli-parley-architecture.md快速开始
需求
- Node.js 22+
- npm 10+
安装
npm install验证
npm test
npm run lint
npm run typecheck
npm run build
npm run smoke:real跑
npm run devParley将本地项目数据存储在 .multi-llm/,包括工作区元数据、谈判会话、成绩单和主题记录。
操作说明
- 目前支持的传输:仅限stdio MCP
- 目前的自动化证据来自GitHub Actions
ubuntu-latest加windows-latest矩阵 - 当前真实环境操作员证据来自Windows本地
npm run smoke:real加上Codex桌面验收合格证 - macOS仍未得到证实;在实际的macOS环境运行之前,保持支持措辞的狭窄
npm run smoke:real现在默认为面向发布的生产就绪提示和记录participantLaunches,geminiUsefulness,releaseEvidence,以及releaseEvidenceMarkdown在其输出中- 集
PARLEY_SMOKE_EVIDENCE_DIR编写可重复使用的发布证据.json和.md直接来自烟雾工作流的工件 - 当前下一步的重点是保持最新的生产准备就绪证据在烟雾、冲刺、矩阵和发布文档中保持一致,在实际烟雾中收紧Gemini有用性门,简化生成的发布工件,并将工作区范围的文件读取MCP工具保持在清理过程的下游
- 默认参与者护栏:
- PARLEY_PARTICIPANT_TIMEOUT_MS=120000 - PARLEY_PARTICIPANT_MAX_OUTPUT_BYTES=1000000 - PARLEY_PARTICIPANT_KILL_GRACE_MS=1000
- 在Windows上,Parley现在更喜欢安装npm
gemini.cmd当垫片可用时,会自动进行调整%APPDATA%\\npm. - 要是…就好了
gemini.ps1可用,运营商可能仍需要PARLEY_GEMINI_COMMAND和PARLEY_GEMINI_ARGS_JSON覆盖。 - 损坏或不可读的持久化工件现在显式出现
storage_failure而不是从读取的API中悄无声息地消失。
文档
AGENTS.md:编码代理和贡献者入职指南docs/codex-desktop-acceptance.md:可重复的Codex桌面安装和基线操作员验证流程docs/project-operating-plan.md:以PM为导向的路线图、冲刺结构和优先级docs/mcp-contract-spec.md:MCP合同事实来源docs/real-cli-smoke.md:面向发布的真实CLI烟雾工作流程和最新观察结果docs/release-evidence-template.md:用于烟雾、验收和支持边界证据的可重复注释模板docs/release-checklist.md:发布runbook,用于飞行前、部署、回滚和发布后审查docs/sprints/2026-sprint-11.md:已完成Windows验证奇偶校验和发布自动化冲刺docs/sprints/2026-sprint-12.md:当前为证据清理、有用性门收紧和发布工件简化而进行的生产准备冲刺multi-cli-parley-architecture.md:架构原理和长篇设计
路线图
- 将冒烟、验收、矩阵、冲刺和发布文档与最新的生产准备就绪证据对齐
- 在真正的烟雾中收紧Gemini有用性门控,这样默认的下一步就不会自行清除发布审查
- 简化生成的发布证据工件,使其简洁明了,可直接审查
- 添加一个只读的工作区范围的文件读取MCP工具,这样编排者就可以通过Parley安全地共享工作区文件上下文,而无需在当前生产就绪清理过程结束后授予任意文件系统访问权限
- 保持当前版本验证栏的Windows和Linux CI矩阵为绿色
- 仅当实际的Linux参与者环境可用时,才添加真正的Linux CLI证据路径
- 保持烟雾、Codex桌面验收、测试矩阵和发布文档作为一个发布证据工作流保持一致
- 仅在经过练习的macOS环境中验证macOS;在此之前,保持支持声明的范围狭窄
- 只有在更强大的Sprint 12生产使用证据栏保持稳定后,才能为插件、扩展和未来的UI层打包薄表面
用例
- 跨多个模型提供商的人工智能研究辩论
- 编码代理之间的结构化架构讨论
- 技术决策的持久主题板
- 编排器中立MCP实验
- Claude、Gemini和Codex的多代理工作流原型
许可证
根据 MIT许可证.
