一个将本地代码索引到图数据库中的MCP服务器,以为AI助手提供上下文。
理解和处理大型代码库对编码代理(如Google Gemini、Cursor、Microsoft Copilot、Claude等)和人类来说都是一项巨大的挑战。普通的RAG系统通常会提供过多或不相关的上下文,使得处理大型代码库变得更加困难,而不是更简单。
如果我们能为编码代理提供仅他们所需的精确且关注关系的上下文,让他们真正理解代码库,那会怎样呢?这正是我构建CodeGraphContext的原因——一个开源项目,旨在通过图形RAG使AI编码工具真正具备上下文意识。
它的功能与传统的RAG不同,图形RAG理解并服务于代码库中的关系:
1. 构建代码图和架构图,以提供准确的上下文
2. 始终保持文档和参考资料的同步
3. 提供更智能的AI辅助导航、代码补全和调试功能
即插即用与MCP CodeGraphContext作为MCP(模型上下文协议)服务器运行,与VS Code、Gemini CLI、Cursor及其他兼容MCP的客户端无缝协作。
GitHub仓库 → [https://github.com/CodeGraphContext/CodeGraphContext](https://github.com/CodeGraphContext/CodeGraphContext)
v0.2.1已发布
约500个GitHub星标,约300个分支
下载量超过25,000次
贡献者超过65人
返回首页
最新
我参与了许多Python项目,但总是无法跟踪虚拟环境——旧的`.venv`目录在项目文件夹中占用磁盘空间。没有内置的方法可以回答“我的所有虚拟环境在哪里,它们占用了多少空间?”
envoic会扫描你的文件系统,利用真实信号(如pyvenv.cfg、bin/python、conda-meta)检测Python环境,并提供一个实用的报告。
```
uvx envoic scan ~/projects
```
交互式的`manage`命令允许你通过复选框界面选择要删除的环境。
设计选择:
- 依赖两个库(typer + questionary)。使用数据类而不是Pydantic,以保持安装包在3MB以下——这很重要,因为`uvx`在每次调用时都会下载。
- 检测不仅依赖于目录名称。它会检查`pyvenv.cfg`(确定性标记)、Python二进制文件、激活脚本和conda元数据。
- 删除时需要输入“delete”,而不是y/n。符号链接会被解除链接,但不会跟随。扫描根目录之外的路径会被拒绝。
- 输出风格受到美国海岸警卫队TR-100机器报告的启发——等宽字体、框线绘制、无颜色。信息密度高于装饰。
[1] [https://github.com/usgraphics/usgc-machine-report](https://github.com/usgraphics/usgc-machine-report)
嗨,HN,
我是一名骨科医生,同时也是一名自学的开发者。我创建了 OrthoRay,因为我对现有医疗影像软件的滞后感到沮丧。大多数现有解决方案要么是臃肿的 Electron 应用,要么是昂贵的云订阅。
我想要一种即时、以本地为优先、注重隐私的解决方案。因此,我花了很多晚上的时间学习 Rust,并大量利用 AI 编码助手来应对陡峭的学习曲线和借用检查器。这个项目证明了领域专家如何在 AI 支持下构建高性能的本地软件。
我使用 Tauri 和 wgpu 进行渲染构建了这个查看器。
主要特点:
- 原生性能:能够瞬间打开超过 500MB 的 MRI 系列(不使用 Electron,也没有网页包装)。
- GPU 加速:为 3D 体积渲染和 MPR 定制的 wgpu 管道。
- BoneFidelity:我专门开发的一种高保真骨骼可视化算法。
- 隐私:以本地为优先,离线运行,无需云上传。
目前该软件作为一个免费的业余项目在 Microsoft Store 上提供。
免责声明:该软件仅供学术/研究使用,并未获得 FDA/CE 认证用于临床诊断。
我正在评估开源许可选项,以使其成为一个社区工具。非常希望能听到您对渲染性能的反馈。
链接:https://orthoarchives.com/en/orthoray
这里是OP。我建立这个仓库是为了展示一个特定的概念,即大型语言模型(LLMs)是一种概率工具,可以在确定性架构中被利用,以实现比“编写代码”更多的功能。链接的项目“Terminal Value”是一个沙盒,里面有可以工作的端到端示例来展示这一点。
总结如下:
- 每个网页组件在一次性调用中,使用Gemini 3 Pro(通过批量API)渲染大约需要10,000个tokens。
- 最新的主页渲染提示具有100%的功能成功率,尽管样本量有限。
- 仓库中嵌入了一篇较长的博客文章,标题为“像工程师一样接近LLMs”,描述了背后的方法论,并附有简短的示例。该文章链接在README的顶部。
- 我用一次性提示编写了仓库中的所有代码,使用了与程序化提示类似的方法。这让我对以编程方式调用LLM来渲染动态且功能性组件的方式充满信心。我的Gemini聊天记录在博客文章中有链接。
- 所有的模拟数据生成或处理方法都是纯粹的。任何外部副作用的结果,例如LLM API调用,也在仓库中硬编码,以便于你或LLM总结应用程序的功能。
点击链接查看结果的图像和更多内容。这是为了引发思考和开始讨论。欢迎你的反馈、批评和贡献!
长期听众,第一次发言……希望我做对了,谢谢阅读 :)
我曾同时安装了 Notion、Obsidian、Apple Notes 和 Bear,但我并没有用它们来满足我真正的需求:在想法消失之前抓住它。
问题不在于功能,而在于摩擦。每个应用都想让我在捕捉之前先进行组织。选择一个笔记本,选择一个文件夹,给它打标签。到那时,想法已经消失了。
于是我创建了 Stik。它只做一件事:
⌘+Shift+S > 便签出现 > 输入 > 关闭
不需要账户,不需要云端,不需要同步,也不需要组织步骤。你的笔记就是文件夹中的 .md 文件,仅此而已。
我确实添加了两个让我惊讶于其实用性的功能:
- 设备内语义搜索(通过 Swift 辅助工具使用 Apple NaturalLanguage 框架,无需 API 密钥)
- 基于笔记内容的智能文件夹建议
这两者完全在你的 Mac 上运行,零云端调用。