运行时适配器
Jarvis 通过运行时适配器连接外部编码 CLI,而不是假装自己就是运行时。
适配器做什么
标题为“适配器做什么”的章节适配器为每个支持的编码 CLI 提供稳定契约:
- 从 Jarvis UI 启动托管会话;
- 发现外部启动的兼容会话;
- 把终端输出接入控制面;
- 为托管工作会话注入 MCP 汇报工具;
- 把运行时特有信号翻译成统一会话模型。
为什么不只包装一个 CLI
标题为“为什么不只包装一个 CLI”的章节每个运行时暴露的控制面都不同:
- Claude Code 以交互式终端、hook 和 transcript 为中心。
- Codex 结合终端控制、app-server 和配置层。
- OpenCode 使用边车服务形态的会话、HTTP、WebSocket 和权限 API。
Jarvis 不抹平所有差异,只归一化编排需要的部分:生命周期、可见性、人工介入和低噪声上下文。
如何选择运行时
标题为“如何选择运行时”的章节优先使用你已经信任的本地 CLI。
- Claude Code已支持:适合日常已经使用 Anthropic 官方 CLI,并希望有较强 transcript 可见性的人。
- Codex已支持:适合已经使用 OpenAI Codex CLI,并希望 Jarvis 监督会话而不替换个人配置的人。
- OpenCode可选:适合需要边车服务承载会话、结构化权限和终端附着的人。
凭证归属
标题为“凭证归属”的章节Jarvis 不接管 CLI 账号状态:
- Claude Code 登录仍在 Claude CLI 环境中。
- Codex 默认值仍在 Codex CLI 配置中。
- OpenCode 的认证和模型提供商设置仍在 OpenCode 环境中。
托管工作会话启动时,Jarvis 只添加必要胶水:MCP 汇报配置、会话 ID 提示、运行时启动参数或工作区级配置。
托管会话与发现会话
标题为“托管会话与发现会话”的章节托管会话由 Jarvis 启动,通常拥有更完整的汇报和控制能力。发现会话由用户自己在终端启动,Jarvis 可以观察和索引,但接管能力取决于运行时信号和安全判断。