背景与动机
目前 Pixelle-Video 的 LLM 接入方式是标准的 OpenAI 兼容 API(API Key + Base URL + Model),本地方案仅支持 Ollama。
但很多开发者本机已经安装了编码 Agent CLI(如 [Trae CLI](https://github.com/trae-ai/trae-cli)、[Claude Code](https://docs.anthropic.com/en/docs/claude-
code)、Aider、Gemini CLI 等),这些工具:
1. **已经配置好模型鉴权**——用户登录一次即可,不用再单独申请 API Key
2. **能力远超纯文本生成**——能读写文件、执行命令、联网搜索,可承担更复杂的编排任务
3. **本地免费额度**——很多 CLI 自带免费 quota(如 Trae CLI),比按 token 计费的 API 更经济
当前架构下,这些已装好的 CLI agent 无法被 Pixelle-Video 复用,用户还得再申请一套 API Key,体验上有割裂感。
## 期望的能力
在「⚙️ 系统配置」的 LLM 配置面板中,除现有的 API Key 模式外,新增一种 **「CLI Agent」模式**:
- 自动探测 `PATH` 上已安装的 agent CLI(`which traecli` / `which claude` / `which aider` 等)
- 通过子进程调用 CLI 生成文案(如 `traecli -p "为主题《xxx》写一段30秒短视频解说词"`),解析 stdout 作为 LLM 输出
- 用户可在下拉菜单选择已探测到的 CLI,无需填 API Key
## 参考实现
[nexu-io/html-video](https://github.com/nexu-io/html-video) 项目的 `packages/runtime/` 已经实现了这套机制:
- 14 个 agent 后端统一抽象(detect / spawn / stream)
- 自动探测 PATH,支持 ACP over stdio 和 prompt-via-stdin 两种调用模式
- 每个后端一个定义文件(`defs/trae-cli.ts`、`defs/claude.ts` 等),扩展成本低
核心接口很简洁:
```ts
interface AgentDef {
id: string; // "trae-cli"
name: string; // "Trae CLI"
bin: string; // "traecli"
invoke(prompt): Promise<string>; // 调用并返回 stdout
}
对 Pixelle-Video 的价值
- 降低使用门槛——已装 CLI agent 的用户零配置即可用,不用再申请 API Key
- 降低运行成本——复用 CLI 的免费额度,比按 token 付费更经济
- 为未来扩展铺路——CLI agent 具备工具调用能力,未来可让 agent 参与分镜编排、素材筛选等更复杂的任务,而不只是文案生成
- 与现有架构兼容——可作为 LLM provider 的一种新类型插入,不影响现有 API Key 模式
实现建议
考虑到 Pixelle-Video 是 Python 项目,可以:
- 新增 llm/cli_agent.py 模块,实现 CLI 探测(shutil.which())和子进程调用(subprocess.run())
- 在 Web 配置面板的 LLM 类型下拉里加一个「CLI Agent」选项
- 选中后展示已探测到的 CLI 列表,用户选择即可
- 文案生成时走 subprocess 调用对应 CLI,解析 stdout
优先支持 Trae CLI 和 Claude Code(国内开发者最常用),后续可按需扩展。
环境
• OS: macOS
• 已安装: Trae CLI 0.120.40
背景与动机
code)、Aider、Gemini CLI 等),这些工具:
对 Pixelle-Video 的价值
实现建议
考虑到 Pixelle-Video 是 Python 项目,可以:
优先支持 Trae CLI 和 Claude Code(国内开发者最常用),后续可按需扩展。
环境
• OS: macOS
• 已安装: Trae CLI 0.120.40