Skip to content

Feature Request: 支持本地 CLI Agent(如 Trae CLI / Claude Code)作为 LLM 后端 #215

Description

@raymondwm

背景与动机

目前 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)、AiderGemini 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 的价值

  1. 降低使用门槛——已装 CLI agent 的用户零配置即可用,不用再申请 API Key
  2. 降低运行成本——复用 CLI 的免费额度,比按 token 付费更经济
  3. 为未来扩展铺路——CLI agent 具备工具调用能力,未来可让 agent 参与分镜编排、素材筛选等更复杂的任务,而不只是文案生成
  4. 与现有架构兼容——可作为 LLM provider 的一种新类型插入,不影响现有 API Key 模式

实现建议

考虑到 Pixelle-Video 是 Python 项目,可以:

  1. 新增 llm/cli_agent.py 模块,实现 CLI 探测(shutil.which())和子进程调用(subprocess.run())
  2. 在 Web 配置面板的 LLM 类型下拉里加一个「CLI Agent」选项
  3. 选中后展示已探测到的 CLI 列表,用户选择即可
  4. 文案生成时走 subprocess 调用对应 CLI,解析 stdout

优先支持 Trae CLI 和 Claude Code(国内开发者最常用),后续可按需扩展。

环境

• OS: macOS
• 已安装: Trae CLI 0.120.40

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions