Skip to content

perf(agent): CLI 模式编排 chat 通道短路绕过 litellm 启动开销#129

Merged
huhamhire merged 1 commit into
devfrom
feat/chat-cli-bypass-litellm
Jun 26, 2026
Merged

perf(agent): CLI 模式编排 chat 通道短路绕过 litellm 启动开销#129
huhamhire merged 1 commit into
devfrom
feat/chat-cli-bypass-litellm

Conversation

@huhamhire

Copy link
Copy Markdown
Owner

背景

本机 agentic CLI 模式下,编排 chat 通道(meebox_pragent_shim.chat)无论 provider 都先 import pr_agent + import litellm 才能拿到被 shim 替换的 chat_completion。但 CLI 路径的真实调用本就完全绕过 litellm(子进程逻辑自包含),这套 import 纯属白付——每次 chat 子进程多扛数百 ms~1s+ 启动开销,而一个编排流程(路由 / judge / summary)要调多次,累计可观。

改动

  • cli/install.py:把子进程调用逻辑抽成自包含的模块级 run_cli_chat(bin, system, user)(仅依赖 shim 内 runtime/usage/specs,无 pr_agent/litellm)。_install_cli_chat_completion(服务 pr-agent 工具 run)改为薄包装委托它——工具 run 路径零行为变化
  • chat.py:CLI 模式(MEEBOX_CLI_MODE)直接调 run_cli_chat 返回,完全跳过 import pr_agent / import litellm;API 模式保持原 litellm 路径不动(litellm 即 HTTP 客户端、不可绕)。
  • bridge.ts:chat 调用处注释更新。
  • docs/arch/04:新增「编排 chat 通道 CLI 短路」说明。
  • CHANGELOG:Changed 加一条面向用户的提速条目。

验证

定向冒烟(嵌入式 CPython):

  • CLI 模式:pr_agent / litellm 均未 import,正确返回文本,usage 哨兵正确(prompt 15=11+4cache、completion 7、turns 3)。
  • 工具 run 路径:chat_completion 仍返回 (text, "stop") 契约。

四步把关:linttypecheckbuild ✅。testrepo-mirror-manager.test.ts 6 项失败,已切干净 dev 比对确认完全相同(既有的沙箱 git 环境失败),与本改动无关。shim 已 prepare:pragent 同步进 vendor。

手测建议:dev 下用本机 agentic CLI provider 实跑一次自动评审,确认提速且产出 / usage / 裁决无回归。

🤖 Generated with Claude Code

本机 agentic CLI 模式下,编排自有步骤(路由/judge/summary)的 chat 通道
直接调本机 CLI、不再 import pr_agent / litellm。CLI 路径本就绕过 litellm,
无谓拉起整套 import 会给每次 chat 子进程白增数百 ms~1s+ 启动开销,而一个
编排流程要调多次。

- cli/install.py: 子进程逻辑抽成自包含的 run_cli_chat;
  _install_cli_chat_completion(服务 pr-agent 工具 run)改为薄包装委托它,
  工具 run 路径零行为变化。
- chat.py: CLI 模式直接调 run_cli_chat 返回,跳过 pr_agent/litellm import;
  API 模式保持原 litellm 路径(litellm 即 HTTP 客户端、不可绕)。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@huhamhire huhamhire added the enhancement New feature or request label Jun 26, 2026
@huhamhire huhamhire merged commit 9374779 into dev Jun 26, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant