Nanocode-CLI:一款轻量级终端AI编码助手
Nanocode-CLI 是一款基于终端的轻量级AI编码助手,完全用 Python 编写。它提供实时控制、文件状态感知、陈旧编辑保护、项目感知导航、可恢复上下文、缓存感知上下文、聚焦工作记忆等特性,所有操作都在命令行中完成。
Nanocode-CLI 是一款基于终端的轻量级AI编码助手,完全用 Python 编写,旨在为开发者提供高效、直观的辅助编程体验。项目的 GitHub 仓库由 hit9 维护,目前处于 1.0 版本前的开发阶段,命令、配置和工具行为可能随时变化。
核心特性
Nanocode-CLI 提供了多项创新功能。实时控制允许用户在工作流进行中追加输入,而不会中断当前的工具流。文件状态大脑功能通过读取和编辑操作构建带有行号的当前文件视图,让开发者清晰了解文件最新状态。陈旧编辑保护机制利用行和哈希锚点,拒绝针对已变更代码的编辑请求,避免造成混乱。
项目感知导航借助符号索引,用户可以快速跳转到大纲、引用和变更文件。可恢复上下文确保工具输出在提示中保持边界,同时原始结果仍可回溯。缓存感知上下文将稳定部分前置,嘈杂工作状态后置,以优化提示缓存复用。聚焦工作记忆通过笔记区分目标、计划和已知事实,避免被执行日志干扰。
安装与使用
安装 Nanocode-CLI 非常简便,只需执行 uv tool install nanocode-cli,升级则使用 uv tool upgrade nanocode-cli。对于本地开发,可通过 uv sync --extra dev 和 uv run nanocode 启动。
启动后,CLI 会呈现交互界面,常用参数包括 --config 指定 TOML 配置文件、--init-config 创建默认配置、--yolo 跳过工具确认,以及 -v 显示版本。在运行过程中,+> 提示符允许用户输入后续指令。
命令与工具
内置命令涵盖帮助、状态查看、配置显示、API 设置、调试开关、上下文压缩、符号索引重建、提供商和模型选择等。工具集则包括文件读写、行计数、搜索、代码索引检查、编辑、Shell 执行、Git 操作、结果回溯和笔记管理。其中,编辑工具使用行哈希锚点确保编辑有效性。
配置与提供商
首次运行 nanocode --init-config 可生成默认配置,通常位于 ~/.nanocode/config.toml。配置支持设置提供商(如 DeepSeek、OpenCode、阿里云通义千问、本地 llama.cpp 等)、API 密钥、模型、推理参数等。api 参数设为 auto 时,可根据提供商自动选择合适的 API 格式。
上下文设计
每次模型请求由显式消息构建,稳定上下文优先,对话作为消息保留,工作记忆紧随其后,最新文件状态附加在末尾。这种设计有效控制了提示长度,并提升了缓存利用率。
安全提示
Nanocode-CLI 可以编辑文件和执行 Shell 命令,不提供沙箱保护。开发者应在隔离环境(如容器、虚拟机)中运行,以确保系统安全。
总之,Nanocode-CLI 为终端爱好者提供了一款轻量但功能强大的 AI 编码助手,特别适合偏好命令行工作流的开发者。