
little-coder
让小模型也能稳定写代码的本地编码智能体框架
little-coder 是一个用 TypeScript 编写的编码智能体运行框架(harness),专门针对参数量较小的本地大模型做优化。它解决的核心问题是:主流 AI 编程助手(如 Aider、Cline 等)通常依赖 GPT-4、Claude 这类大模型,而小模型在长上下文、复杂工具调用和多轮规划上容易出错、跑偏。little-coder 通过精简的提示词结构、受控的工具集、明确的文件编辑协议和上下文裁剪策略,让小模型也能稳定完成读代码、改代码、跑命令等任务。它支持 Ollama 本地推理,对 Qwen 等小参数量模型有针对性适配,并附带 benchmark 用于横向对比不同模型在该框架下的编码表现。项目定位偏向实验与评测,适合想在本地低成本跑编码智能体、或研究小模型 agent 能力的开发者。
项目数据
使用教程
环境要求
- Node.js 22.19 或更高版本(安装脚本与运行时都必需)
- 可选:bun,仅用于安装/更新该包,运行时仍是 Node
- 可选:本地模型服务(llama.cpp / Ollama / LM Studio)或云端模型(Anthropic、OpenAI)的 API Key
安装与启动步骤
-
1一行脚本安装
官方推荐的一行安装命令,自动完成全部安装,无需克隆仓库或在工作区执行 npm install。
curl -fsSL https://raw.githubusercontent.com/itayinbarr/little-coder/main/install.sh | bash -
2或用 npm 安装
已装 npm 时可直接全局安装;安装后 little-coder 会加入 PATH,任意目录都能调用。
npm install -g little-coder -
3或用 bun 安装
bun 只负责装包,启动脚本的 shebang 是 node,因此运行时仍需 Node ≥ 22.19 在 PATH 中。
bun add -g little-coder -
4在项目目录启动
智能体以启动目录为工作目录,Read/Write/Edit/Bash 都作用于你的项目,而非安装目录。
cd ~/your-project little-coder -
5指定模型运行
不带 --model 时使用 models.json 中声明的默认模型,且仅首次运行生效;也可显式指定模型。
little-coder --model llamacpp/qwen3.6-35b-a3b -
6查看可用模型
列出 pi 当前认识的全部模型,包括 ollama、lmstudio、anthropic、openai 等提供方。
little-coder --list-models -
7接入本地 llama.cpp
用云模型可跳过;跑本地 llama.cpp 服务时设置以下环境变量,并追加允许执行的命令。
export LLAMACPP_API_KEY=noop export LLAMACPP_BASE_URL=http://192.168.1.100:8888/v1 export LITTLE_CODER_BASH_ALLOW="make ,docker compose ps"
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
LLAMACPP_API_KEY | 否 | 连接本地 llama.cpp 服务时的占位密钥 | noop |
LLAMACPP_BASE_URL | 否 | llama.cpp 服务的 OpenAI 兼容接口地址 | http://192.168.1.100:8888/v1 |
LITTLE_CODER_BASH_ALLOW | 否 | 在默认白名单之外追加允许执行的命令 | make ,docker compose ps |
default | 否 | 写在用户 override 文件中,改默认模型 | llamacpp/qwen3.6-35b-a3b |
如何确认成功
启动后终端会打印默认模型的友好名称并进入交互界面;执行 --list-models 可列出模型
常见问题
Q:用 bun 安装后无法启动怎么办?
A:启动器 bin/little-coder.mjs 的 shebang 是 node,运行时必须有 Node ≥ 22.19 在 PATH 中;也可把 bun 全局 bin 下该文件的 shebang 改成 #!/usr/bin/env bun。
Q:如何切换或固定模型?
A:用 --model 指定;会话内选中的模型会被记住,不会再次被默认值覆盖。默认值由 models.json 的 default 键决定。
Q:全局 pi install 的扩展为什么不生效?
A:little-coder 以 --no-extensions 启动,只加载随包内置的扩展集,因此全局安装的包默认不会加载进来。
Q:支持哪些模型提供方?
A:README 示例包括 llamacpp、ollama、lmstudio 本地服务,以及 anthropic、openai 等云端模型。
注意事项
- 安装过程不执行 npm install 脚本,启动器在启动时才完成全部装配,冷启动上下文约 7k tokens。
- 工作目录就是启动 little-coder 时所在的目录,改代码和跑命令都针对该目录。
- benchmark 中 45.56% 与 78.67% 的成绩来自 pre-pi 的 Python 版本(tag v0.0.2 与 v0.0.5),与当前 pi 版实现不同。
- 默认模型只在首次运行时生效,之后由你在会话中的选择决定。
核心亮点
- 专为小模型设计提示词与工具调用协议,降低小模型跑偏概率
- 支持 Ollama 本地推理,无需 API 费用即可跑编码智能体
- 内置 benchmark,可量化对比不同小模型在编码任务上的表现
不足之处
- 项目偏实验性质,生产可用性和稳定性仍需验证
- 生态与文档相对早期,社区插件和案例较少
适用场景
- 在本地用 Ollama + Qwen 小模型做零成本代码修改与生成
- 评测不同小参数量模型在真实编码任务上的能力差异
- 研究小模型 agent 的工具调用与上下文管理策略
替代项目
Aider、Cline、OpenHands
项目介绍
上一篇:llmdoc
下一篇:llm-sast-scanner
同类项目推荐
bolt.new
开源
想到啥说啥,网页应用当场生成直接能用
Prompt, run, edit, and deploy full-stack web applications. -- bolt.new -- Help Cente···
fuzz4all
开源
用大模型自动生成测试输入,发现各种软件漏洞
️Fuzz4All: Universal Fuzzing with Large Language Models
superpowers-zh
开源
全套 AI 编程神技汉化好了,照着用就行。
AI 编程超能力 · 中文增强版 — superpowers(250k+ ⭐)完整汉化 + 4 个中国原创 skills···
Gitea 代码托管
开源
轻量 Git 代码托管平台
Git with a cup of tea! Painless self-hosted all-in-one software development service,···