主流命令行 AI 编程工具接入 Ollama: 10 款 CLI 工具
主流命令行 AI 编程工具接入 Ollama: 10 款 CLI 工具
导语
如果你已经用 Ollama 在本地或局域网部署了开源大模型,大概率会想把它接入各种命令行 AI 编程工具(CLI 编程助手)里,看看哪个更好用。本文记录了我将同一个 Ollama 模型接入 10 款主流命令行 AI 编程工具的过程,并补充了新手友好的解释,方便你快速上手。
什么是 Ollama?
Ollama 是一个可以在本地运行开源大语言模型的工具,支持 Llama、Qwen、DeepSeek 等模型。它默认提供一个 HTTP 服务,很多 AI 工具可以通过 OpenAI 兼容接口连接它。
什么是命令行 AI 编程工具?
这类工具运行在终端里,可以读取你的代码仓库、执行命令、修改文件,像一个 AI 编程助手。常见的有 Claude Code、OpenAI Codex CLI、Qwen Code 等。
一、需求背景
- 我用 Ollama 部署了
qwen3.8-cc:27b(请替换成你实际部署的模型名)。 - 一开始使用 Claude Code,发现效果不理想。
- 于是想测试:同一个模型、同一个任务,不同 AI 编程工具的表现差异。
- 因此整理了这些工具接入 Ollama 的配置方法,方便横向对比。
二、操作步骤
1. 安装 Node.js 环境(nvm)
大多数命令行 AI 编程工具都通过 npm 安装,所以需要 Node.js 环境。这里使用 nvm(Node Version Manager)来安装和管理 Node.js 版本。
# 安装 curl(Debian/Ubuntu 系统)
apt install curl -y
# 安装 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# 让当前终端生效
source ~/.bashrc
# 安装 Node.js 24
nvm install 24
说明:
- 如果你已经安装了 Node.js 18+,可以跳过这一步。
- 如果使用 zsh,请将
source ~/.bashrc替换为source ~/.zshrc。- nvm 可以方便地切换 Node 版本,避免不同工具对 Node 版本要求不一致。
2. 安装并配置不同的 AI 编程工具
在开始之前,请先确认以下信息:
- Ollama 服务地址:本文示例为
http://192.168.1.100:8080,你需要改成实际地址。
如果 Ollama 和工具在同一台机器,默认地址通常是http://127.0.0.1:11434。 - 模型名称:本文示例为
qwen3.8-cc:27b,请通过ollama list查看并替换成你的模型名。 - API Key:本地 Ollama 通常不需要鉴权,但很多工具强制要求填写,可以填任意非空字符串,如
ollama或none。
2.1 Anthropic Claude Code
Claude Code 是 Anthropic 官方推出的命令行编程助手。通过环境变量,可以把它指向任意兼容 Anthropic 协议的接口。
npm install -g @anthropic-ai/claude-code
# 配置模型
export AI_MODEL=qwen3.8-cc:27b
export AI_AUTH_TOKEN="ollama"
export AI_BASE_URL=http://192.168.1.100:8080
cat > ~/.claude.json << EOF
{
"firstStartTime": "2026-04-17T07:13:49.158Z",
"opusProMigrationComplete": true,
"sonnet1m45MigrationComplete": true,
"migrationVersion": 11,
"changelogLastFetched": 1776410045295,
"hasCompletedOnboarding": true,
"env": {
"IS_SANDBOX": "1",
"ANTHROPIC_AUTH_TOKEN": "$AI_AUTH_TOKEN",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
"ANTHROPIC_BASE_URL": "$AI_BASE_URL",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "$AI_MODEL",
"ANTHROPIC_REASONING_MODEL": "$AI_MODEL",
"ANTHROPIC_MODEL": "$AI_MODEL",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "$AI_MODEL",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "$AI_MODEL",
"ANTHROPIC_SMALL_FAST_MODEL": "$AI_MODEL",
"CLAUDE_CODE_MAX_CONTEXT_TOKENS":"49152"
}
}
EOF
# 运行
claude --dangerously-skip-permissions
关键配置解释:
ANTHROPIC_BASE_URL:指定 API 地址,指向你的 Ollama 服务。ANTHROPIC_AUTH_TOKEN:本地 Ollama 不需要真实密钥,填任意字符串即可。- 多个
ANTHROPIC_*_MODEL:把 Claude Code 在不同场景下使用的模型统一指定为你的本地模型。 CLAUDE_CODE_MAX_CONTEXT_TOKENS:限制上下文长度,避免超过模型的最大窗口。--dangerously-skip-permissions:跳过所有权限确认,适合自动化测试,但有一定安全风险,请谨慎使用。
2.2 OpenAI Codex CLI
Codex CLI 是 OpenAI 官方的命令行编程工具。它通过 config.toml 配置自定义模型提供方。
npm install -g @openai/codex
# 创建配置文件
mkdir -p ~/.codex/
cat > ~/.codex/config.toml << 'EOF'
model_provider = "ollama-launch"
model = "qwen3.8-cc:27b"
model_catalog_json = "~/.codex/model-catalog.local.json"
[model_providers.ollama-launch]
name = "Ollama"
base_url = "http://192.168.1.100:8080/v1/"
wire_api = "responses"
requires_openai_auth = false
supports_websockets = false
EOF
cat > ~/.codex/model-catalog.local.json << 'EOF'
{
"models": [
{
"slug": "qwen3.8-cc:27b",
"display_name": "qwen3.8-cc:27b",
"description": null,
"supported_reasoning_levels": [],
"default_reasoning_level": "medium",
"shell_type": "shell_command",
"visibility": "list",
"supported_in_api": true,
"priority": 1,
"availability_nux": null,
"upgrade": null,
"base_instructions": "You are a helpful coding agent.",
"supports_reasoning_summaries": false,
"support_verbosity": false,
"default_verbosity": null,
"apply_patch_tool_type": null,
"truncation_policy": { "mode": "bytes", "limit": 10000 },
"supports_parallel_tool_calls": false,
"experimental_supported_tools": [],
"effective_context_window_percent": 95,
"context_window": 49152
}
]
}
EOF
# 运行 codex
codex --sandbox danger-full-access --ask-for-approval never
关键配置解释:
wire_api = "responses":使用 OpenAI Responses API 协议。如果连接失败,可尝试改为"chat"。requires_openai_auth = false:关闭 OpenAI 强制鉴权,因为本地 Ollama 不需要。model_catalog_json:指向自定义模型目录,用于声明模型能力和上下文长度。--sandbox danger-full-access --ask-for-approval never:允许工具自动执行命令且不询问,适合测试环境。
2.3 腾讯 CodeBuddy
CodeBuddy Code 是腾讯推出的命令行 AI 编程助手。通过 ~/.codebuddy/models.json 可以添加自定义模型。
npm install -g @tencent-ai/codebuddy-code
mkdir -p ~/.codebuddy/
cat > ~/.codebuddy/models.json << EOF
{
"models": [
{
"id": "qwen3.8-cc:27b",
"name": "Auto",
"vendor": "Tencent Cloud",
"apiKey": "",
"url": "http://192.168.1.100:8080/v1/"
}
],
"availableModels": ["qwen3.8-cc:27b"]
}
EOF
# 运行(首次运行会进入引导流程)
codebuddy-code
关键配置解释:
url:指向 Ollama 的 OpenAI 兼容根路径/v1/。apiKey:本地 Ollama 可留空或填任意值。- 首次运行
codebuddy-code时,可能需要进行登录或模型选择,按提示操作即可。
2.4 字节跳动 veCLI
veCLI 是火山引擎推出的命令行 AI 编程工具,配置非常简洁,直接在命令行参数中指定。
npm install -g @volcengine/vecli
# 运行
vecli --baseUrl http://192.168.1.100:8080/v1/ --modelName qwen3.8-cc:27b
说明:
只需将 --baseUrl 和 --modelName 替换成你的实际地址和模型名。
2.5 阿里 Qwen Code
Qwen Code 是阿里推出的命令行 AI 编程助手,使用 ~/.qwen/settings.json 配置自定义 OpenAI 兼容模型。
npm install -g @qwen-code/qwen-code@latest
mkdir -p ~/.qwen/
cat > ~/.qwen/settings.json << 'EOF'
{
"modelProviders": {
"openai": [
{
"id": "qwen3.8-cc:27b",
"name": "qwen3.8-cc:27b",
"baseUrl": "http://192.168.1.100:8080/v1/",
"envKey": "QWEN_CUSTOM_API_KEY_OPENAI_HTTP_10_22_4_73_8080_V1_D5434E558C5F",
"generationConfig": {
"contextWindowSize": 49152
}
}
]
},
"env": {
"OPENAI_API_KEY": "none",
"QWEN_CUSTOM_API_KEY_OPENAI_HTTP_10_22_4_73_8080_V1_D5434E558C5F": "none"
},
"$version": 4,
"ui": {
"autoModeAcknowledged": true
},
"security": {
"auth": {
"selectedType": "openai"
}
},
"model": {
"name": "qwen3.8-cc:27b",
"baseUrl": "http://192.168.1.100:8080/v1/"
}
}
EOF
# 运行
qwen
关键配置解释:
modelProviders.openai:定义一个 OpenAI 兼容的模型提供方。envKey:Qwen Code 自动生成的环境变量名,用于存储 API Key,这里设为none。env中需要同时设置OPENAI_API_KEY和自定义envKey的值,本地环境填任意非空值即可。contextWindowSize:根据你的模型上下文长度设置,避免截断。
2.6 智谱 Crush
Crush 是智谱 AI 推出的命令行 AI 编程工具,通过 ~/.config/crush/crush.json 配置自定义 provider。
npm install -g @charmland/crush
mkdir -p ~/.config/crush/
cat > ~/.config/crush/crush.json << 'EOF'
{
"$schema": "https://charm.land/crush.json",
"providers": {
"your-custom-provider": {
"type": "openai-compat",
"base_url": "http://192.168.1.100:8080/v1/",
"api_key": "$YOUR_API_KEY",
"models": [
{
"id": "qwen3.8-cc:27b",
"name": "qwen3.8-cc:27b"
}
]
}
}
}
EOF
# 运行
crush -y
关键配置解释:
type: "openai-compat":表示使用 OpenAI 兼容协议。api_key:这里使用了占位符$YOUR_API_KEY,你需要替换成任意字符串,例如ollama。crush -y:跳过确认提示,适合自动化测试。
2.7 月之暗面 Kimi Code CLI
Kimi Code 是月之暗面推出的命令行 AI 编程工具,配置文件为 ~/.kimi-code/config.toml。
npm install -g @moonshot-ai/kimi-code
mkdir -p ~/.kimi-code
cat > ~/.kimi-code/config.toml << 'EOF'
default_model = "kimi-code/ollama"
default_permission_mode = "manual"
default_plan_mode = false
merge_all_available_skills = true
telemetry = true
[providers."managed:kimi-code"]
type = "openai"
base_url = "http://192.168.1.100:8080/v1/"
api_key = "$YOUR_API_KEY"
[models."kimi-code/ollama"]
provider = "managed:kimi-code"
model = "qwen3.8-cc:27b"
display_name = "qwen3.8-cc:27b"
max_context_size = 49152
capabilities = [ "thinking", "always_thinking", "image_in", "video_in", "tool_use" ]
support_efforts = [ "low", "high", "max" ]
default_effort = "max"
[thinking]
enabled = true
effort = "high"
keep = "all"
[loop_control]
max_attempts_per_step = 10
reserved_context_size = 50000
[background]
max_running_tasks = 4
keep_alive_on_exit = false
[[permission.rules]]
decision = "allow"
pattern = "Read"
[[permission.rules]]
decision = "deny"
pattern = "Bash(rm -rf*)"
EOF
# 运行
kimi -y
关键配置解释:
default_model指向自定义模型kimi-code/ollama。[providers."managed:kimi-code"]定义 OpenAI 兼容的 provider。max_context_size和reserved_context_size需要根据你的模型窗口调整。capabilities声明模型支持的能力,例如思考、工具调用等。[[permission.rules]]设置了权限规则:允许读取操作,拒绝rm -rf等危险命令。这是一个很好的安全实践。kimi -y:yolo模式。
2.8 OpenCode
OpenCode 是一个开源的终端 AI 编程工具,通过 ~/.config/opencode/opencode.json 配置。
npm install -g opencode-ai
mkdir -p ~/.config/opencode/
cat > ~/.config/opencode/opencode.json << 'EOF'
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"ollama": {
"name": "Ollama",
"npm": "@ai-sdk/openai-compatible",
"options": {
"baseURL": "http://192.168.1.100:8080/v1/"
},
"models": {
"qwen3.8-cc:27b": { "name": "qwen3.8-cc:27b" }
}
}
},
"model": "qwen3.8-cc:27b"
}
EOF
# 运行
opencode --auto
关键配置解释:
provider.ollama:定义了一个名为ollama的 provider,使用@ai-sdk/openai-compatible适配器连接 OpenAI 兼容 API。models:列出可用的模型 ID。model:指定默认使用的模型。opencode --auto:进入自动模式,工具会自动执行操作。
2.9 Hermes Agent
Hermes Agent 是 Nous Research 推出的智能体框架,支持多种模型后端。
# 安装 Hermes Agent(两种方式任选其一)
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
# 或者
curl -fsSL https://hermes-agent.nousresearch.com/install.sh > install.sh
chmod +x install.sh
./install.sh --skip-browser
# 配置
cat > ~/.hermes/config.yaml << 'EOF'
model:
default: "qwen3.8-cc:27b"
provider: "ollama"
base_url: "http://192.168.1.100:8080/v1/"
api_key: "sk-xxxxxxxx" # 替换为你的 API Key,本地可填任意值
EOF
关键配置解释:
- 使用官方脚本安装,
--skip-browser表示跳过浏览器相关组件(如果不需要 Web UI)。 base_url指向 Ollama 的 OpenAI 兼容地址。api_key需要替换成你的实际值,本地 Ollama 可以填任意非空字符串。
2.10 DeepSeek Harness
DeepSeek Harness(dsh)是 DeepSeek 推出的工具,可以启动一个 Web 界面来与模型交互。
npm install -g @deepseek-ai/dsh
# 启动 Web 服务
dsh web --port 3081
# 如果服务运行在远程机器,使用 SSH 本地转发:
# 访问本地 3081 端口会被转发到远端的 Harness 服务
ssh -L 3081:127.0.0.1:3081 root@192.168.1.100 -p 22
# 浏览器访问
# http://127.0.0.1:3081/
说明:
dsh web --port 3081会在本地启动一个 Web 服务。- 如果你的 Ollama 或 DeepSeek Harness 运行在远程服务器,可以通过 SSH 隧道将远程端口映射到本地。
- 然后在浏览器打开
http://127.0.0.1:3081/即可使用。
三、注意事项与常见问题
-
模型名必须一致
所有配置中的qwen3.8-cc:27b都需要替换成你实际部署的模型名。可以用ollama list查看。 -
Ollama 地址要正确
本文示例地址为http://192.168.1.100:8080,请改成你的 Ollama 服务地址。
如果 Ollama 默认监听11434端口,且支持 OpenAI 兼容,可以写http://127.0.0.1:11434/v1。 -
API Key 可以随便填
本地 Ollama 一般不需要鉴权,但很多工具强制要求填写,这时可以填ollama、none、sk-xxx等任意非空字符串。 -
上下文长度需要手动设置
不同工具默认上下文长度可能比你的模型窗口小或大,建议在配置中显式指定,避免模型输出被截断或报错。 -
安全风险
像--dangerously-skip-permissions、-y、--auto这类参数会跳过人工确认,工具可能会自动执行修改文件、运行命令等操作。建议在隔离环境、容器或测试项目中尝试,避免误操作影响重要数据。 -
协议兼容性问题
这些工具大多依赖 OpenAI 兼容接口,但具体实现可能略有差异。如果某个工具连接失败,可以检查:- 是否使用
/v1路径; - 是否需要
chat/completions而不是responses; - 工具版本是否过旧/过新,参考官方文档更新配置。
- 是否使用
更多推荐




所有评论(0)