将已安装的编程 Agent 用作聊天模型
如果已付费使用编程 Agent,并在 Libre WebUI 后端机器上登录,就可以在普通聊天中使用它,而无需另加 API 密钥。Libre WebUI 会检测 CLI 并在模型选择器中显示。
检测内容
每次请求模型列表时,Libre WebUI 在服务器 PATH 中查找:
| 模型 | 命令 | 提供方 |
|---|---|---|
| Claude Code | claude | Anthropic |
| Codex | codex | OpenAI |
| OpenCode | opencode | SST |
| Pi | pi | Mario Zechner |
发现的命令出现在Agent组中;系统不会代为安装,也不需要配置文件。
设置 → 聊天 → 默认设置也会将这些条目标为智能体,包括你的账户有权使用时的 Strands。插件模型保留提供商名称,只有 Ollama 模型使用 Ollama 标签。禁用 Ollama 不会隐藏已配置的智能体或插件。模型信息卡显示所选条目的显示名称和提供商,仅在目录提供时显示大小、系列和格式。
选择模型,而不只是 CLI
各 CLI 可以在智能体组中提供多个选项:
- Claude Code 提供默认模型和 Sonnet、Opus、Haiku。
此外还提供明确的 Sonnet 5.5(
claude-sonnet-5-5)和 Opus 5.5(claude-opus-5-5)选项。Sonnet 5.5 需要 Claude Code 2.1.284 或更高版本,Opus 5.5 需要 Claude Code 2.1.280 或更高版本,两者都要求已登录账户拥有访问权限;运行claude update更新 CLI。现有的 Sonnet 和 Opus 别名仍遵循 CLI 当前的模型映射。 - Codex 提供默认模型以及 GPT-6 Astra、GPT-6.1 Sol (
gpt-6.1-sol)、GPT-6 Sol、GPT-6 Luna、GPT-5.6 Sol、Terra、Luna、GPT-5.5、GPT-5.3 Codex Spark。 可用与否取决于 CLI 的登录状态和账户的模型访问权限。 - Pi 使用 CLI 中配置的模型。
- OpenCode 从
opencode models列出已认证提供商并要求明确选择;CLI 默认值可能指向 Libre WebUI 主机无法访问的本地服务器。
内置的 Strands 引擎在你的账户有权使用时,也会出现在智能体组中。它不是 CLI:它在后端内部运行,驱动你的 Ollama 和提供商插件模型。单独的 Strands 条目(strands)使用你的默认聊天模型。其他条目(strands:<route>)为每个可用模型各列出一项,例如 Strands · gpt-5.6-sol (Codex (ChatGPT)),并为该对话同时固定模型及其提供商;发生中断时,其他可用提供商不能替代它。列出选项不会启动引擎。
相同的 Strands 条目也可用作设置 → 聊天 → 默认设置中自动标题和思考摘要的任务模型。使用当前运行的模型会使用对话保存的 Strands 选择。这些短文本请求直接调用底层提供商模型,不执行智能体工具,也不创建智能体会话。其他 CLI 配置档需要 Ollama、插件或 Strands 任务模型处理这些辅助请求。
Pi 以 --no-session 无状态运行,禁用本地工具并使用中性系统 Prompt,不会读写服务器用户的个人 Pi 配置。
使用方法
- 以管理员身份登录。
- 打开聊天和模型选择器。
- 在 Agent 中选择。
- 正常发送,回复逐 Token 流式返回。
聊天可保存、重命名和搜索;每轮会发送最近对话转录。
谁能使用及其访问范围
此功能仅限管理员。智能体在宿主上以 Libre WebUI 后端相同的 OS 用户身份运行,而不是在 Work 容器中,因此继承该用户的智能体凭据及通常的访问权限,包括按需读取服务器文件和运行命令。
启用此功能等同于授予智能体宿主 shell 权限,因此默认关闭。管理员必须在设置 → 用户管理 → 访问与策略 → CLI代理模型中启用。设置会持久化,并立即生效,无需重启。
更改此开关会立即刷新模型目录;智能体类别包含直接 CLI 项,插件模型包含 Codex (ChatGPT) 等提供商 API 集成。Strands 也列在同一类别中,但它遵循自己的 Strands 引擎 访问设置,而不是此开关,因此即使 CLI代理模型处于关闭状态,它也可能显示。它的模型发现不会阻塞已安装 CLI 智能体的发现。
在保存独立 CLI 设置之前,已有安装继承原先保存的智能体启用决定。
若要在部署层固定决定,不受运行时开关影响,请设置以下任一环境变量值;这也会锁定界面开关:
AGENT_CLI_MODELS_ENABLED=false # or true
如果需要能操作文件但保持在沙箱中的模型,请使用 Work:它在受限容器及隔离工作区中运行支持工具的模型。
用量跟踪
打开提供商使用情况(/usage),在页面顶部附近找到智能体。Claude Code、Codex、OpenCode、Pi 和 Strands 活动都有独立条目;所选时间段没有调用记录时也会明确提示。
通过 LWUI 发出的 CLI 调用会记录结果、时长及报告的令牌用量。每次调用只产生一个用量事件;重复快照和分步报告不会重复生成事件或计算令牌。缺失令牌计数保持未报告状态。停止响应会记录取消,CLI 非正常退出也不会因产生了部分文本而被记为成功。不会导入 LWUI 之外的 CLI 调用用量。
Strands 调用会计入 Strands 智能体。分类和限制见智能体用量。
配置
| 变量 | 默认值 | 用途 |
|---|---|---|
AGENT_CLI_MODELS_ENABLED | 未设置 | 固定 true/false,否则使用管理开关 |
AGENT_CLI_TIMEOUT_MS | 600000 | 单轮最长运行时间 |
故障排除
没有出现智能体组。 请确认已在设置 → 用户管理 → 访问与策略 → CLI代理模型中启用(默认关闭),并以管理员身份登录。然后确认命令位于后端进程的 PATH 中,而不只是交互式 shell 的路径中。服务管理器、Docker 容器或桌面启动器通常使用比登录终端更精简的 PATH。
立即失败 — 以服务器用户运行 claude -p "hello" 或 codex exec "hello",检查登录或订阅限额;OpenCode 可重新执行 opencode auth login。
回复中断 — 提高 AGENT_CLI_TIMEOUT_MS 或拆分请求。