little-coder models.json 完整参考:配置任意 OpenAI 兼容服务器(MLX/Ollama/LM Studio)
【免费下载链接】little-coderA harness optimized to smaller LLMs项目地址: https://gitcode.com/gh_mirrors/li/little-coder
little-coder 是一个为小参数本地模型打造的编程智能体,而models.json就是它的模型配置入口:几行 JSON,就能把它接到任意OpenAI 兼容服务器——Ollama、LM Studio、llama.cpp、MLX(omlx)统统适用,全程零代码改动。🔌
本文覆盖:models.json 的字段速查、三大内置本地服务器、用户覆盖文件的位置与合并规则,以及接入 MLX 等任意 OpenAI 兼容端点的完整示例。
models.json 是什么:little-coder 的模型供应商注册文件
little-coder 的模型列表不是硬编码的,而是数据驱动的:启动时,内置扩展 llama-cpp-provider 读取 models.json,通过 pi 的registerProvider()逐个注册其中的供应商(provider)。
它按以下顺序寻找配置(第一个命中的生效):
- 安装包根目录的 models.json —— 出厂默认
$LITTLE_CODER_MODELS_FILE指定的路径 —— 临时测试用$XDG_CONFIG_HOME/little-coder/models.json~/.config/little-coder/models.json——推荐的用户覆盖位置
💡 直接在 npm 全局安装里改包内 models.json 虽然有效,但升级
npm install -g little-coder@latest时会被覆盖;想长期保留的配置,一律放用户覆盖文件。
内置默认配置速览:3 个本地服务器、6 个预置模型
出厂 models.json 注册了三个本地供应商,默认端点与密钥环境变量如下:
| 供应商 | 默认 baseUrl | API Key 环境变量 |
|---|---|---|
llamacpp | http://127.0.0.1:8888/v1 | LLAMACPP_API_KEY |
ollama | http://127.0.0.1:11434/v1 | OLLAMA_API_KEY |
lmstudio | http://127.0.0.1:1234/v1 | LMSTUDIO_API_KEY |
顶层的"default"键指定裸启动(不带--model)时的首选模型,出厂值为llamacpp/qwen3.6-35b-a3b。这个默认模型在消费级笔记本上跑出了相当可观的成绩:
每个模型条目的字段
providers下每个供应商包含 4 个字段:api(固定为openai-completions,即 OpenAI 兼容的 chat completions 协议)、baseUrl(服务器/v1地址)、apiKey(要读取的密钥环境变量名)、models(模型条目数组)。模型条目字段如下:
| 字段 | 含义 | 示例 |
|---|---|---|
id | 服务器报告的模型名,--model时用的就是它 | qwen3.6-35b-a3b |
name | TUI 中显示的友好名称 | Qwen3.6-35B-A3B (MoE, local llama.cpp) |
reasoning | 是否推理模型(启用 thinking 预算机制) | true |
input | 支持的输入模态 | ["text", "image"] |
contextWindow | 上下文窗口(llama.cpp 会自动探测服务器实际值并覆盖) | 32768 |
maxTokens | 单次最大生成 token 数 | 4096 |
cost | 计价字段,本地模型全填 0 即可 | {"input": 0, "output": 0, ...} |
为什么要折腾:本地小模型的性能与时间经济性
配置本地模型不只是"省钱",而是真的能干活。下面是论文复现中按编程语言统计的 Aider Polyglot 通关率——9.7B 小模型配合 little-coder 脚手架,多项语言超过四成通关:
时间维度上,本地推理的成本结构对"高频短任务"也很友好:
三步接通 Ollama / LM Studio / llama.cpp
第一步:起好你的推理服务器(llama.cpp 用llama-server --port 8888,Ollama 安装后ollama pull qwen3.5,LM Studio 在 Developer 页点击 Start Server)。
第二步:导出占位密钥。本地服务器其实忽略密钥,但 pi 要求环境变量里有某个值:
export LLAMACPP_API_KEY=noop export OLLAMA_API_KEY=noop export LMSTUDIO_API_KEY=noop第三步:启动并验证:
little-coder --model ollama/qwen3.5 little-coder --list-models # 确认模型已注册三个*_BASE_URL环境变量(LLAMACPP_BASE_URL/OLLAMA_BASE_URL/LMSTUDIO_BASE_URL)可覆盖默认端口,且优先级高于两个 models.json 文件——跨机器部署时最常用。比如局域网内另一台 GPU 机器上跑 llama.cpp:
export LLAMACPP_BASE_URL=http://<服务器局域网IP>:8888/v1 little-coder --model llamacpp/qwen3.6-35b-a3b用户覆盖文件:3 个位置、首个命中生效、整供应商替换
把文件放到~/.config/little-coder/models.json(或上表其他位置)即可覆盖出厂配置。合并规则只有一条,务必记住:
⚠️ 覆盖文件中的每个顶层供应商键整体替换同名供应商,不做逐字段深合并。覆盖文件里没有的供应商则保留出厂值。
也就是说:想改 llama.cpp 的端口,就把整个llamacpp供应商重新声明一遍,ollama不写就原样保留。
改默认模型只需一行:
{ "default": "ollama/qwen3.5" }注意default只在首次启动且没有历史选择时生效——一旦你在会话里切换过模型,pi 会记住该选择。
接入任意 OpenAI 兼容服务器:以 MLX(omlx)为例
little-coder 不认识某个服务器 ≠ 不支持。只要它提供 OpenAI 兼容的/v1端点(Apple MLX 的mlx_lm.server、vLLM、llama-swap 路由……都行),在覆盖文件里声明一个新供应商即可。以下示例把 MLX 服务器挂到自定义名称omlx下:
{ "providers": { "omlx": { "api": "openai-completions", "baseUrl": "http://127.0.0.1:8000/v1", "apiKey": "IGNORED", "models": [ { "id": "qwen3-32b-4bit", "name": "Qwen3-32B 4bit (local MLX)", "reasoning": true, "input": ["text"], "contextWindow": 32768, "maxTokens": 4096, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 } } ] } } }两个要点:id填成服务器/v1/models实际报告的名字,baseUrl指向其/v1端点。然后运行little-coder --model omlx/qwen3-32b-4bit即可。🍎
一键验证与 3 个常见坑
验证:little-coder --list-models应能看到你新加/改过的条目(含上下文窗口);/extensions可确认扩展加载状态。llama.cpp 用户无需手动填contextWindow——启动时会自动探测服务器真实n_ctx(-c 131072的服务器就会显示 131072),无需改 models.json;离线场景可用LITTLE_CODER_NO_CTX_PROBE=1关闭探测。
| 症状 | 原因与解法 |
|---|---|
ECONNREFUSED 127.0.0.1:8888 | 推理服务器没启动,先起llama-server,或换--model ollama/... |
| 启动报"无 API key"警告 | 本地供应商也要占位密钥:export LLAMACPP_API_KEY=noop |
| 局域网连接挂起超时 | 服务器防火墙(如 ufw)在丢包,放行对应端口并限定到你的局域网网段 |
更多细节可参考 README.md 的 Troubleshooting 章节,想进一步理解扩展机制与配置体系,可继续读 docs/extensions.md 与 docs/architecture.md。
【免费下载链接】little-coderA harness optimized to smaller LLMs项目地址: https://gitcode.com/gh_mirrors/li/little-coder
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考