WARNING
本文档由 AI 自动翻译,仅供参考。涉及关键操作或信息时,请以英文原文为准。
使用 Pool CLI 进行编码
Pool CLI 是一个基于终端的编码助手,可以帮助你通过自然语言读取代码、运行终端命令和编辑文件。在 Olares 上,这个命令行界面运行在一个基于浏览器的终端中,该终端配备了一个预配置的 Ubuntu 开发环境。
学习目标
在本指南中,你将学习如何:
- 从 Olares Market 安装 Pool CLI。
- 使用 Poolside 的云端 API 或本地模型将 Pool CLI 连接到模型。
- 执行基本的自然语言编码工作流。
- 为开发工作区配置目录访问权限。
- 安全地管理软件依赖。
前提条件
开始前,你需要:
一台运行 Olares 1.12.7 或更高版本、具有足够磁盘空间和内存的 Olares 设备。
使用本地模型时,能够访问 Router。
以下模型:
用途 模型 获取方式 连接本地模型 Qwen3.8-27B (llama.cpp) 从 Market 安装
可选:使用其他模型
从应用市场安装其他聊天模型,或通过引擎基座应用创建模型实例,然后在 Router 的 Default models 页面将其设为默认聊天模型。使用 default-chat 的客户端会调用新的默认模型,无需修改客户端的模型设置。
如果希望某个客户端始终使用指定模型,可改填 Router 的 How to call this model 窗口中显示的完整模型名称。
安装 Pool CLI
打开 Market,搜索 "Pool CLI"。

点击 Get,然后点击 Install。等待安装完成。
连接模型
启动 Pool CLI 并将其连接到语言模型。选择以下连接方法之一。
使用 Poolside 云端服务连接
使用此方法可以利用 Poolside 的云端推理 API。
开始前,请创建 Poolside 账户并获取 API key。
从 Launchpad 打开 Pool CLI。
输入以下命令触发登录认证:
bashpool setup选择 Log in with Poolside,然后输入你的 Poolside API key 进行认证。
选择以下模式之一来运行任务:
使用本地模型连接
使用此方法可以通过 Qwen3.8-27B 完全离线运行 Pool CLI。
获取模型连接信息
模型连接的工作原理
在 Olares 1.12.7 及以上版本中,AI 客户端通过 Olares Router 连接模型。Router 提供 Base URL,并将 default-chat 的请求转发给**默认模型(Default models)**页面中设置的聊天模型。
本教程使用 Qwen3.8-27B (llama.cpp) 作为默认聊天模型。连接格式和 API 密钥要求详见连接 AI 应用。
对于 Qwen3.8-27B (llama.cpp):
从启动台打开 Router。在 Default models 页面将 Qwen3.8-27B (llama.cpp) 设为默认聊天模型。
进入 LLM 页面,找到 Qwen3.8-27B (llama.cpp),点击模型所在行的 View connection example 图标。
在 How to call this model 窗口中,选择 Apps in Olares,复制完整的 Base URL,保留末尾的
/v1。模型名称使用
default-chat。在应用中选择模型
default-chat是路由名称,不会出现在从 Router 获取的模型列表中。如果要连接 Router 的应用会加载模型列表,请手动添加default-chat。如果应用只允许选择列表中的模型,请选择 Router 的 How to call this model 窗口中显示的完整模型名称。API 密钥留空。如果要连接 Router 的应用要求填写此字段,请填入
olares。
配置 Pool CLI
前往 Settings > Applications > Pool CLI > Manage environment variables,然后点击 edit 配置以下变量:
- USE_LOCAL_LLM:设置为
true以启用本地模型模式。 - POOLSIDE_STANDALONE_BASE_URL:输入从 Router 复制的 Base URL,并按显示内容原样使用。
- POOL_MODEL:填写
default-chat。
- USE_LOCAL_LLM:设置为
点击 Apply,等待 Pool CLI 容器重启。
从启动台打开 Pool CLI,然后输入以下命令启动会话:
bashpool-local
使用自然语言编码
连接到模型后,你可以使用对话式提示与 Pool CLI 交互。助手会解析你的请求来编写代码、修改文件和执行终端命令。
以下场景演示如何使用 Pool CLI 生成并运行一个简单的 Python 脚本。
从 Launchpad 打开 Pool CLI。
输入以下命令启动交互式会话:
bashpool输入一个自然语言请求。例如:
textCreate a Python script named greeting.py that outputs the current date and time查看助手提出的代码和操作。Pool CLI 会生成脚本并请求继续的权限。
选择允许操作。终端会显示你的脚本输出。

要退出交互式会话,输入以下命令:
bash/quit要验证输出,打开 Files,然后进入 Data > pool > home > work。

管理开发环境
Pool CLI 在一个预配置的 Ubuntu 24.04 环境中运行。根据你的项目需求自定义目录访问权限并安装额外的工具。
管理目录访问权限
默认情况下,所有项目工作都在 /opt/data 目录中进行。该目录会在应用重启后持久化保存你的文件,在 Olares 上位于 Files > Data > pool > home > work。
如果你希望 Pool CLI 访问 Home 或 External 目录中的文件,请配置环境变量:
打开 Settings,然后进入 Applications > Pool CLI > Manage environment variables。
根据需要指定以下变量:
- ALLOW_HOME_DIR_ACCESS:设置为
true以允许访问 Files 中的 Home 目录。这会将 Home 目录挂载到/home/userdata/home/。 - ALLOW_EXTERNAL_DIR_ACCESS:设置为
true以允许访问 External 目录,例如挂载的 NAS 或 USB 驱动器。这会将 External 目录挂载到/home/userdata/external/。
- ALLOW_HOME_DIR_ACCESS:设置为
点击 Apply。
查看预装开发工具
在安装额外软件之前,先查看工作区中已包含的工具。容器镜像基于 Ubuntu 24.04,并预装了许多常见的开发工具。
下表列出了主要类别和示例。
| 类别 | 包含的工具 |
|---|---|
| 语言和运行时 | Python 3, Node.js, Go, Rust, Java (OpenJDK 21), Ruby, PHP 8.3, Lua, Perl, SQLite |
| 构建工具 | build-essential, cmake, ninja-build, clang, pkg-config,common -dev headers |
| CLI 工具 | git, git-lfs, curl, wget, jq, yq, openssh-client, unzip,zip, rsync, tmux, htop, shellcheck |
| 数据库客户端 | postgresql-client, mysql-client, redis-tools |
安装额外软件
如果你的项目需要预装工具之外的工具或库,你必须在容器的安全边界内管理它们。
你无法自行安装的内容
如果你的项目需要系统级库(例如 libpq-dev, ffmpeg, libssl-dev),你无法直接安装它们。这些依赖必须由应用维护者添加到基础容器镜像中。
你可以在工作区中安装的内容
在你的可写目录中(主要是 /opt/data),你可以使用常见工具无需 root 权限安装项目级依赖:
Python:创建虚拟环境并使用
pip。例如:bashpython3 -m venv .venv source .venv/bin/activate pip install <package>Node.js:在你的项目文件夹中使用
npm。例如:bashnpm install <package>Rust/Go(或其他编译语言):将二进制文件安装到用户可写的路径。例如:
bashcargo install --root ~/.local <package> # Rust go install <package>@latest # Go (installs to ~/go/bin)
常见问题
如何在云端模型和本地模型之间切换?
- 要从云端模式切换到本地模式,请将
USE_LOCAL_LLM设置为true,并在环境变量中配置POOLSIDE_STANDALONE_BASE_URL和POOL_MODEL,然后重启应用。 - 要从本地模式切换到云端模式,请将
USE_LOCAL_LLM设置为false并重启应用。你可能需要再次运行pool setup以重新认证。
缺少语言或库
确定缺失的工具是否为系统级依赖:
- 系统级依赖:你无法自行安装这些。应用维护者必须将它们添加到基础镜像中。如果你需要当前不可用的系统级库,请提交 GitHub Issue 来请求添加。
- 用户级依赖:使用
venv,npm install或类似的本地工具来安装它们。