PAYATHON 2026

VSCodium 的 Continue 如何连接本地 llama.cpp 服务?

架构老王

Continue 可以通过 llama-server 的 OpenAI 兼容接口连接本地服务:使用 provider: openai,将 apiBase 设置为 http://127.0.0.1:10000/v1,并填写服务实际返回的模型 ID。Continue 官方支持通过这种方式连接自定义服务。配置说明

现有配置至少有两处需要修正:一是没有指定服务的 10000 端口;二是如果文件中的缩进与贴出的内容一致,provider 和 model 没有放在对应的模型条目内。仅凭界面的通用错误提示,还无法确定是否存在其他兼容性问题。

1. 检查服务接口和模型 ID

保持 llama-server 运行,在 PowerShell 中执行:

Invoke-RestMethod -Uri 'http://127.0.0.1:10000/health'

$modelList = Invoke-RestMethod -Uri 'http://127.0.0.1:10000/v1/models'
$modelList.data | Select-Object id

/health 用于检查服务是否就绪,/v1/models 用于查看模型信息。启动命令中的 unsloth/GLM-4.7-Flash-GGUF:Q6_K_XL 是模型下载标识,不能直接假定它就是 API 返回的模型 ID。配置时以实际查询结果为准。llama-server 接口说明

2. 修改 Continue 的配置

打开 Continue 当前使用的本地 config.yaml,使用以下配置,将 REPLACE_WITH_MODEL_ID 替换为上一步返回的 id:

name: Local Agent
version: 1.0.0
schema: v1

models:
  - name: GLM 4.7 Flash Local
    provider: openai
    model: REPLACE_WITH_MODEL_ID
    apiBase: http://127.0.0.1:10000/v1
    roles:
      - chat
    defaultCompletionOptions:
      contextLength: 32000

注意以下几点:

  • name 是 Continue 中显示的名称,model 是请求发送给服务的模型标识,两者用途不同。
  • provider、model、apiBase 等属性都要用空格缩进到同一个模型条目内。
  • provider: openai 用于选择兼容接口协议,模型请求的目标由 apiBase 指定。
  • contextLength: 32000 与当前启动命令一致,不会扩大服务端的上下文容量。
  • 原启动命令没有设置 API key,所以示例没有填写 apiKey。如果实际服务启用了认证,需要补充相应凭据。

这些字段及模型角色的含义可参见 Continue 的 config.yaml 参考。

保存后,确认 Continue 当前选中了 Local Agent 配置,再选择 GLM 4.7 Flash Local,先用普通 Chat 发送一条简短消息。如果界面未更新,可以执行 Developer: Reload Window 后重试。无需等待添加模型的下拉列表自动发现本地服务。

3. 直接测试聊天接口

如果 Continue 仍然报错,可以绕过扩展测试同一个接口。以下示例适用于当前仅运行一个模型的实例:

$modelList = Invoke-RestMethod -Uri 'http://127.0.0.1:10000/v1/models'
$modelId = $modelList.data[0].id

$requestBody = @{
    model = $modelId
    messages = @(
        @{
            role = 'user'
            content = 'Say hello.'
        }
    )
    stream = $false
    max_tokens = 256
} | ConvertTo-Json -Depth 6

Invoke-RestMethod `
    -Uri 'http://127.0.0.1:10000/v1/chat/completions' `
    -Method Post `
    -ContentType 'application/json' `
    -Body $requestBody

该请求调用 llama-server 的 OpenAI 兼容聊天接口。接口文档

根据结果继续排查:

  • 无法连接时,检查进程是否仍在运行,以及请求是否从服务所在的同一台机器发出。
  • 如果返回 HTTP 错误,结合响应正文和 llama-server 日志,检查模型 ID、请求路径及参数。
  • 如果能返回聊天响应,但 Continue 仍然失败,重点检查 Continue 是否加载了修改后的配置,并查看扩展日志中的具体错误。这里测试的是非流式响应,不能据此判断流式响应是否正常。

发送 Continue 消息时,也可以观察服务端是否出现对应的请求记录,这比单看“处理响应时出错”的界面提示更容易定位问题。

4. 保留 llama.cpp provider 时如何填写

Continue 官方也提供 provider: llama.cpp 的配置方式,不能仅凭当前错误认定该 provider 完全不可用。如果继续使用它,需要修正缩进并显式指定服务地址:

name: Local Agent
version: 1.0.0
schema: v1

models:
  - name: GLM 4.7 Flash Local
    provider: llama.cpp
    model: REPLACE_WITH_MODEL_ID
    apiBase: http://127.0.0.1:10000

这里按该 provider 的官方示例填写根地址,不附加 /v1。前面的 openai 配置则使用带 /v1 的地址,两种配置不要混用。llama.cpp provider 配置说明

如果修正后仍失败,可以使用前面的 OpenAI 兼容配置,并根据具体日志判断扩展版本或适配器是否存在问题。原始材料没有提供 Continue 版本和详细异常,无法进一步确定。

使用时的注意事项

127.0.0.1 指向发起请求的环境自身。如果 Continue 扩展实际运行在 WSL、容器或远程主机中,需要确认它能否访问 Windows 上的服务,不能只凭 Windows PowerShell 中的测试结果判断。

先验证普通 Chat。Agent 工具调用还涉及模型能力、聊天模板和客户端支持,普通聊天连接成功不代表这些能力也已配置完成。

备注:内容仅供参考。