我构建了一个开源编码代理,让上下文可见且可编辑 — 你可以精确策划大语言模型所看到的内容
摘要
作者构建了 Nice Coding Agent,这是一个开源编码工作台,具有可见且可编辑的上下文堆栈,允许用户精确策划大语言模型所看到的内容。它具备本地优先检索、沙盒执行和混合代码搜索功能,旨在让开发者对上下文组装拥有控制和可见性。
我一直对终端编码代理感到沮丧,因为上下文组装是不可见的——模型决定读取什么,上下文膨胀悄然发生,输出质量下降而你却不知原因。因此我构建了 **Nice Coding Agent**,一个带有 Web UI 的“人在回路中”编码工作台。它是开源的,我非常希望得到反馈。📸 UI 截图见评论区 👇 核心理念:不再有一个不透明的上下文窗口,而是得到一个**可见且可编辑的上下文堆栈**。每个文件、搜索结果、计划或笔记都是一张卡片,你可以固定、最小化、就地编辑、总结或移除,然后再送入模型。一个实时令牌计量器精确显示你离上下文膨胀有多近。你策划大语言模型看到的内容,而不是指望它读对东西。
其他一些让它区别于“发后即忘”式代理的特点:
* **分离的工作流而非单一通用循环** — 构建上下文 → 计划 → 实施 → 研究 → 检查/浏览。计划生成可审查的计划;实施将批准的计划转化为按文件接受的提议 diff,而非全有或全无。
* **不依赖模型猜测的混合代码搜索** — 代码通过 tree-sitter 分块索引到 Postgres 中(ParadeDB BM25 + pgvector + 交叉编码器重排序)。搜索“我们哪里验证 JWT 令牌”能找到正确的函数,即使这些精确的词汇并不存在。
* **本地优先检索** — 嵌入和重排序通过 sentence-transformers 在本地运行。你的代码永远不会离开到第三方索引服务。
* **沙盒执行** — 代理生成的代码在操作系统级沙盒(macOS seatbelt,Linux bubblewrap)中运行,因此可以在写入 diff 之前验证假设。
* **它同时兼作 MCP 服务器** — 通过 SSE 暴露 `search_code` / `search_documents` / `build_comprehensive_context`,因此 Claude Code 或任何 MCP 客户端都可以接入你的代码索引。互补而非仅竞争。
* **多提供商**,带有一键切换标准/高等级(探索用廉价模型,最终实现用前沿模型)。默认使用免费的 NVIDIA 等级,因此入门门槛很低。
**坦诚定位:** 这*不是*一个自主代理。如果你想输入一个目标然后就离开,终端代理更胜一筹。当你希望获得控制权、可见性和策划能力时——审查每个计划和变更、手动调整上下文、保持检索本地化——这个工具就胜出了。前端使用 NiceGUI,编排使用 LangChain/LangGraph,用 Python 构建。特别希望得到关于上下文堆栈方法的反馈——可见的策划方式你实际会用吗?还是你更愿意让模型自行处理?
相似文章
我为代码智能体构建了一个上下文窗口优化框架——开源 + 论文
作者介绍了“Apohara Context Forge”,这是一个开源框架及方法论,旨在通过角色感知分割和分层相关性评分来优化代码智能体的上下文窗口。
使用本地编码代理
Sebastian Raschka 撰写的教程,讲解如何使用开源工具和开源权重的大语言模型搭建完全本地的编码代理,涵盖动机、搭建过程以及相较于专有服务的优势。
编码代理工具 - 代码库上下文与质量
作者正在构建Enola,一个为编码代理提供代码库结构模型的开源工具,使用确定性图来提供架构上下文并实施质量规则以防止技术债务。
@Saboo_Shubham_: 这实际上是针对AI编程助手的上下文工程。它可以将任何代码库转化为交互式图表,供你的助手查询……
此工具为AI编程助手提供上下文工程,通过将任何代码库转换为可查询的交互式图表,兼容Claude Code、Codex和Antigravity,并且100%开源。
开源我一年前开始的编码代理工具
作者已开源一个用于编码代理的自托管工作空间,具有多代理架构、AST感知的ChromaDB索引,以及带有Git差异管理的UI。