gabrielchasukjin/cloi
A local-first coding agent for the terminal, powered by Ollama. Reads, searches, edits and runs code on your machine — no API key, no data leaving the host.
解决的问题
Cloi 是一个面向终端的本地优先代码代理,允许用户通过自然语言接口与代码库进行交互。它通过完全在本地使用 Ollama 运行,无需外部 API 密钥,且防止数据离开主机,从而消除了对外部 API 的依赖。
工作原理
Cloi 与 Ollama 集成,执行一个工具使用循环,使代理能够读取、搜索、编辑文件并运行 shell 命令。它采用多种可靠性机制来确保准确性:
- 硬件感知模型选择: 测量 VRAM、RAM 和核心数量,为每个步骤建议一个主模型,并为复杂任务建议一个更大的备用模型。
- 升级逻辑: 如果代理陷入僵局(例如重复相同的调用或连续工具失败),它会自动将对话交给更大的备用模型。
- 验证机制: 对文件内容的声明会与实际工作区状态进行比对,以防止幻觉。
- 结果缓存: 重要结果会被存储,可后续调用,减少重复的工具调用。
- Python 解释器: 会话级解释器允许代理在单个单元中执行复杂逻辑、算术或文件操作,而无需多次工具调用。
- 上下文管理: 不让 Ollama 静默丢弃令牌,Cloi 会总结对话的较早部分以维持上下文。
适用人群
希望拥有完全私密、在自己硬件上本地运行、直接在终端中操作的 AI 代码助手的开发者。
主要亮点
- 本地优先: 由 Ollama 驱动,无需 API 密钥或数据传输。
- 动态模型路由: 基于观察到的失败而非预先猜测任务类型,切换到更大的模型。
- 内置验证: 自动将引用和行引用与实际文件进行比对。
- 集成 Python 解释器: 允许在代理工作流中高效处理数据和循环。
- 工作区防护机制: 限制路径仅限工作区,对写入和 shell 命令执行需用户授权。
相关
- 项目
- 项目
- 项目
- 项目
- Dispatch