[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-Davidyz--VectorCode":3,"tool-Davidyz--VectorCode":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",141543,2,"2026-04-06T11:32:54",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107888,"2026-04-06T11:32:50",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":10,"last_commit_at":59,"category_tags":60,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":75,"owner_location":75,"owner_email":75,"owner_twitter":75,"owner_website":76,"owner_url":77,"languages":78,"stars":91,"forks":92,"last_commit_at":93,"license":94,"difficulty_score":32,"env_os":95,"env_gpu":96,"env_ram":96,"env_deps":97,"category_tags":103,"github_topics":105,"view_count":32,"oss_zip_url":75,"oss_zip_packed_at":75,"status":17,"created_at":112,"updated_at":113,"faqs":114,"releases":144},4638,"Davidyz\u002FVectorCode","VectorCode","A code repository indexing tool to supercharge your LLM experience.","VectorCode 是一款专为代码仓库设计的索引工具，旨在显著提升大语言模型（LLM）在编程辅助方面的表现。它主要解决了通用大模型对私有项目、冷门代码库或前沿未发布功能理解不足的问题。通过自动索引项目代码，VectorCode 能够将任务相关的上下文信息精准地注入到提示词中，从而大幅减少模型“幻觉”，生成更准确、更符合项目实际的代码建议。\n\n这款工具特别适合软件开发者、技术研究人员以及希望在工作流中深度集成 AI 助手的工程师使用。它不仅提供命令行工具方便快速上手，还专门为 Neovim 用户打造了插件和 API 接口，支持灵活定制或增强现有的 AI 编程插件。VectorCode 的独特亮点在于其程序化的上下文注入能力，让大模型能像熟悉开源巨头项目一样理解你的私人代码库。目前项目处于快速迭代的测试阶段，欢迎社区共同参与完善，是提升本地化 AI 编程体验的实用利器。","# VectorCode\n\n[![codecov](https:\u002F\u002Fcodecov.io\u002Fgithub\u002FDavidyz\u002FVectorCode\u002Fbranch\u002Fmain\u002Fgraph\u002Fbadge.svg?token=TWXLOUGG66)](https:\u002F\u002Fcodecov.io\u002Fgithub\u002FDavidyz\u002FVectorCode)\n[![Test and Coverage](https:\u002F\u002Fgithub.com\u002FDavidyz\u002FVectorCode\u002Factions\u002Fworkflows\u002Ftest_and_cov.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002FDavidyz\u002FVectorCode\u002Factions\u002Fworkflows\u002Ftest_and_cov.yml)\n[![pypi](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fvectorcode.svg)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fvectorcode\u002F)\n\nVectorCode is a code repository indexing tool. It helps you build better prompt\nfor your coding LLMs by indexing and providing information about the code\nrepository you're working on. This repository also contains the corresponding\nneovim plugin that provides a set of APIs for you to build or enhance AI plugins,\nand integrations for some of the popular plugins.\n\n> [!NOTE]\n> This project is in beta quality and is undergoing rapid iterations.\n> I know there are plenty of rooms for improvements, and any help is welcomed.\n\n\u003C!-- mtoc-start -->\n\n* [Why VectorCode?](#why-vectorcode)\n* [Documentation](#documentation)\n  * [About Versioning](#about-versioning)\n* [TODOs](#todos)\n* [Credit](#credit)\n  * [Special Thanks](#special-thanks)\n* [Star History](#star-history)\n\n\u003C!-- mtoc-end -->\n\n## Why VectorCode?\nLLMs usually have very limited understanding about close-source projects, projects\nthat are not well-known, and cutting edge developments that have not made it into\nreleases. Their capabilities on these projects are quite limited. With\nVectorCode, you can easily (and programmatically) inject task-relevant context\nfrom the project into the prompt. This significantly improves the quality of the\nmodel output and reduce hallucination.\n\n[![asciicast](https:\u002F\u002Fasciinema.org\u002Fa\u002F8WP8QJHNAR9lEllZSSx3poLPD.svg)](https:\u002F\u002Fasciinema.org\u002Fa\u002F8WP8QJHNAR9lEllZSSx3poLPD?t=3)\n\n## Documentation\n\n> [!NOTE]\n> The documentation on the `main` branch reflects the code on the latest commit. \n> To check for the documentation for the version you're using, you can [check out\n> the corresponding tags](https:\u002F\u002Fgithub.com\u002FDavidyz\u002FVectorCode\u002Ftags).\n\n- For the setup and usage of the command-line tool, see [the CLI documentation](.\u002Fdocs\u002Fcli.md);\n- For neovim users, after you've gone through the CLI documentation, please refer to \n  [the neovim plugin documentation](.\u002Fdocs\u002Fneovim\u002FREADME.md) (and optionally the [lua API reference](.\u002Fdocs\u002Fneovim\u002Fapi_references.md)) \n  for further instructions.\n- Additional resources:\n  - the [wiki](https:\u002F\u002Fgithub.com\u002FDavidyz\u002FVectorCode\u002Fwiki) for extra tricks and\n    tips that will help you get the most out of VectorCode;\n  - the [discussions](https:\u002F\u002Fgithub.com\u002FDavidyz\u002FVectorCode\u002Fdiscussions) where\n    you can ask general questions and share your cool usages about VectorCode.\n  - If you're feeling adanvturous, feel free to check out \n    [the pull requests](https:\u002F\u002Fgithub.com\u002FDavidyz\u002FVectorCode\u002Fpulls) for\n    WIP features.\n\nIf you're trying to contribute to this project, take a look at [the contribution\nguide](.\u002Fdocs\u002FCONTRIBUTING.md), which contains information about some basic\nguidelines that you should follow and tips that you may find helpful.\n\n### About Versioning\n\nThis project follows an adapted semantic versioning:\n\n- Until 1.0.0 is released, the _major version number_ stays 0 which indicates that\n  this project is still in early stage, and features\u002Finterfaces may change from \n  time to time;\n- The _minor version number_ indicates __breaking changes__. When I decide to remove a\n  feature\u002Fconfig option, the actual removal will happen when I bump the minor\n  version number. Therefore, if you want to avoid breaking a working setup, you\n  may choose to use a version constraint like `\"vectorcode\u003C0.7.0\"`;\n- The _patch version number_ indicates __non-breaking changes__. This can include new\n  features and bug fixes. When I decide to deprecate things, I will make a new\n  release with bumped patch version. Until the minor version number is bumped,\n  the deprecated feature will still work but you'll see a warning. It's\n  recommended to update your setup to adapt the new features.\n\n## TODOs\n- [x] query by ~file path~ excluded paths;\n- [x] chunking support;\n  - [x] add metadata for files;\n  - [x] chunk-size configuration;\n  - [x] smarter chunking (semantics\u002Fsyntax based), implemented with\n    [py-tree-sitter](https:\u002F\u002Fgithub.com\u002Ftree-sitter\u002Fpy-tree-sitter) and\n    [tree-sitter-language-pack](https:\u002F\u002Fgithub.com\u002FGoldziher\u002Ftree-sitter-language-pack);\n  - [x] configurable document selection from query results.\n- [x] ~NeoVim Lua API with cache to skip the retrieval when a project has not\n  been indexed~ Returns empty array instead;\n- [x] job pool for async caching;\n- [x] [persistent-client](https:\u002F\u002Fdocs.trychroma.com\u002Fdocs\u002Frun-chroma\u002Fpersistent-client);\n- [ ] proper [remote Chromadb](https:\u002F\u002Fdocs.trychroma.com\u002Fproduction\u002Fadministration\u002Fauth) support (with authentication, etc.);\n- [x] respect `.gitignore`;\n- [x] implement some sort of project-root anchors (such as `.git` or a custom\n  `.vectorcode.json`) that enhances automatic project-root detection.\n  **Implemented project-level `.vectorcode\u002F` and `.git` as root anchor**\n- [x] ability to view and delete files in a collection;\n- [x] joint search (kinda, using codecompanion.nvim\u002FMCP);\n- [x] Nix support (unofficial packages [here](https:\u002F\u002Fsearch.nixos.org\u002Fpackages?channel=unstable&from=0&size=50&sort=relevance&type=packages&query=vectorcode));\n- [ ] Query rewriting (#124).\n\n\n## Credit\n\n- [@milanglacier](https:\u002F\u002Fgithub.com\u002Fmilanglacier) (and [minuet-ai.nvim](https:\u002F\u002Fgithub.com\u002Fmilanglacier\u002Fminuet-ai.nvim)) for the support when this project was still in early stage;\n- [@olimorris](https:\u002F\u002Fgithub.com\u002Folimorris) for the help (personally and\n  from [codecompanion.nvim](https:\u002F\u002Fgithub.com\u002Folimorris\u002Fcodecompanion.nvim))\n  when this project made initial attempts at tool-calling;\n- [@ravitemer](https:\u002F\u002Fgithub.com\u002Fravitemer) for the help to interface\n  VectorCode with [MCP](https:\u002F\u002Fmodelcontextprotocol.io\u002Fintroduction);\n- The nix community (especially [@sarahec](https:\u002F\u002Fgithub.com\u002Fsarahec) and [@GaetanLepage](https:\u002F\u002Fgithub.com\u002FGaetanLepage))\n  for maintaining the nix packages.\n\n### Special Thanks\n[![JetBrains logo.](https:\u002F\u002Fresources.jetbrains.com\u002Fstorage\u002Fproducts\u002Fcompany\u002Fbrand\u002Flogos\u002Fjetbrains.svg)](https:\u002F\u002Fjb.gg\u002FOpenSource)\n\n## Star History\n\n[![Star History Chart](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FDavidyz_VectorCode_readme_37dae598c77d.png)](https:\u002F\u002Fwww.star-history.com\u002F#Davidyz\u002FVectorCode&Date)\n","# VectorCode\n\n[![codecov](https:\u002F\u002Fcodecov.io\u002Fgithub\u002FDavidyz\u002FVectorCode\u002Fbranch\u002Fmain\u002Fgraph\u002Fbadge.svg?token=TWXLOUGG66)](https:\u002F\u002Fcodecov.io\u002Fgithub\u002FDavidyz\u002FVectorCode)\n[![测试与覆盖率](https:\u002F\u002Fgithub.com\u002FDavidyz\u002FVectorCode\u002Factions\u002Fworkflows\u002Ftest_and_cov.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002FDavidyz\u002FVectorCode\u002Factions\u002Fworkflows\u002Ftest_and_cov.yml)\n[![pypi](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fvectorcode.svg)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fvectorcode\u002F)\n\nVectorCode 是一个代码仓库索引工具。它通过索引并提供您正在处理的代码仓库的相关信息，帮助您为编码大模型构建更优质的提示词。该仓库还包含相应的 Neovim 插件，提供一组 API 供您构建或增强 AI 插件使用，并与一些流行的插件集成。\n\n> [!注意]\n> 本项目目前处于测试阶段，正处于快速迭代中。我知道还有许多改进空间，欢迎任何帮助。\n\n\u003C!-- mtoc-start -->\n\n* [为什么选择 VectorCode？](#why-vectorcode)\n* [文档](#documentation)\n  * [关于版本控制](#about-versioning)\n* [待办事项](#todos)\n* [致谢](#credit)\n  * [特别感谢](#special-thanks)\n* [星标历史](#star-history)\n\n\u003C!-- mtoc-end -->\n\n## 为什么选择 VectorCode？\n\n大语言模型通常对闭源项目、不知名项目以及尚未发布到正式版本中的前沿开发了解非常有限。它们在这些项目上的能力相当受限。借助 VectorCode，您可以轻松地（甚至以编程方式）将与任务相关的项目上下文注入到提示词中。这显著提升了模型输出的质量，并减少了幻觉现象。\n\n[![asciicast](https:\u002F\u002Fasciinema.org\u002Fa\u002F8WP8QJHNAR9lEllZSSx3poLPD.svg)](https:\u002F\u002Fasciinema.org\u002Fa\u002F8WP8QJHNAR9lEllZSSx3poLPD?t=3)\n\n## 文档\n\n> [!注意]\n> `main` 分支上的文档反映了最新提交的代码状态。如需查看您所使用的版本对应的文档，可以 [切换到相应标签](https:\u002F\u002Fgithub.com\u002FDavidyz\u002FVectorCode\u002Ftags)。\n\n- 关于命令行工具的设置和使用，请参阅 [CLI 文档](.\u002Fdocs\u002Fcli.md)；\n- 对于 Neovim 用户，在阅读完 CLI 文档后，请参考 [Neovim 插件文档](.\u002Fdocs\u002Fneovim\u002FREADME.md)（可选：[Lua API 参考](.\u002Fdocs\u002Fneovim\u002Fapi_references.md)）以获取进一步说明。\n- 其他资源：\n  - [wiki](https:\u002F\u002Fgithub.com\u002FDavidyz\u002FVectorCode\u002Fwiki)，提供额外技巧和建议，帮助您充分利用 VectorCode；\n  - [讨论区](https:\u002F\u002Fgithub.com\u002FDavidyz\u002FVectorCode\u002Fdiscussions)，您可以在其中提出一般性问题，并分享您对 VectorCode 的精彩用法。\n  - 如果您想尝试一些新功能，不妨查看 [拉取请求](https:\u002F\u002Fgithub.com\u002FDavidyz\u002FVectorCode\u002Fpulls)，了解正在进行中的特性开发。\n\n如果您希望为本项目做出贡献，请查阅 [贡献指南](.\u002Fdocs\u002FCONTRIBUTING.md)，其中包含一些基本准则及可能对您有帮助的提示。\n\n### 关于版本控制\n\n本项目采用调整后的语义化版本控制：\n\n- 在 1.0.0 版本发布之前，主版本号保持为 0，表示该项目仍处于早期阶段，功能和接口可能会不时发生变化；\n- 次要版本号用于标记__破坏性变更__。当我决定移除某个功能或配置选项时，实际移除操作会在次要版本号递增时进行。因此，如果您希望避免现有配置被破坏，可以选择类似 `\"vectorcode\u003C0.7.0\"` 的版本约束；\n- 补丁版本号用于标记__非破坏性变更__。这包括新增功能和错误修复。当决定弃用某些功能时，我会发布一个补丁版本递增的新版本。在次要版本号递增之前，被弃用的功能仍将正常工作，但会显示警告信息。建议您更新配置以适应新功能。\n\n## 待办事项\n- [x] 按~文件路径~排除路径查询；\n- [x] 支持分块；\n  - [x] 为文件添加元数据；\n  - [x] 配置分块大小；\n  - [x] 更智能的分块方式（基于语义\u002F语法），使用 [py-tree-sitter](https:\u002F\u002Fgithub.com\u002Ftree-sitter\u002Fpy-tree-sitter) 和 [tree-sitter-language-pack](https:\u002F\u002Fgithub.com\u002FGoldziher\u002Ftree-sitter-language-pack) 实现；\n  - [x] 可配置从查询结果中选择文档；\n- [x] ~带有缓存的 NeoVim Lua API，用于在项目未被索引时跳过检索~ 现改为返回空数组；\n- [x] 异步缓存的工作池；\n- [x] [持久化客户端](https:\u002F\u002Fdocs.trychroma.com\u002Fdocs\u002Frun-chroma\u002Fpersistent-client)；\n- [ ] 正式支持 [远程 Chromadb](https:\u002F\u002Fdocs.trychroma.com\u002Fproduction\u002Fadministration\u002Fauth)（包括身份验证等）；\n- [x] 尊重 `.gitignore` 文件；\n- [x] 实现某种项目根锚点（例如 `.git` 或自定义的 `.vectorcode.json`），以增强自动检测项目根目录的功能。\n  **已实现项目级别的 `.vectorcode\u002F` 和 `.git` 作为根锚点**\n- [x] 能够查看和删除集合中的文件；\n- [x] 联合搜索（某种程度上，使用 codecompanion.nvim\u002FMCP）；\n- [x] Nix 支持（非官方包 [这里](https:\u002F\u002Fsearch.nixos.org\u002Fpackages?channel=unstable&from=0&size=50&sort=relevance&type=packages&query=vectorcode)）；\n- [ ] 查询重写 (#124)。\n\n## 致谢\n\n- [@milanglacier](https:\u002F\u002Fgithub.com\u002Fmilanglacier)（以及 [minuet-ai.nvim](https:\u002F\u002Fgithub.com\u002Fmilanglacier\u002Fminuet-ai.nvim)）在本项目早期阶段提供的支持；\n- [@olimorris](https:\u002F\u002Fgithub.com\u002Folimorris) 在本项目首次尝试工具调用时提供的帮助（无论是个人层面还是通过 [codecompanion.nvim](https:\u002F\u002Fgithub.com\u002Folimorris\u002Fcodecompanion.nvim)）；\n- [@ravitemer](https:\u002F\u002Fgithub.com\u002Fravitemer) 帮助将 VectorCode 与 [MCP](https:\u002F\u002Fmodelcontextprotocol.io\u002Fintroduction) 进行对接；\n- Nix 社区（尤其是 [@sarahec](https:\u002F\u002Fgithub.com\u002Fsarahec) 和 [@GaetanLepage](https:\u002F\u002Fgithub.com\u002FGaetanLepage)）维护 Nix 包的支持。\n\n### 特别感谢\n[![JetBrains logo.](https:\u002F\u002Fresources.jetbrains.com\u002Fstorage\u002Fproducts\u002Fcompany\u002Fbrand\u002Flogos\u002Fjetbrains.svg)](https:\u002F\u002Fjb.gg\u002FOpenSource)\n\n## 星标历史\n\n[![星标历史图表](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FDavidyz_VectorCode_readme_37dae598c77d.png)](https:\u002F\u002Fwww.star-history.com\u002F#Davidyz\u002FVectorCode&Date)","# VectorCode 快速上手指南\n\nVectorCode 是一款代码仓库索引工具，旨在通过索引项目代码并为提示词（Prompt）提供上下文信息，帮助开发者为大语言模型（LLM）构建更精准的编程辅助提示，从而减少幻觉并提升输出质量。它提供命令行工具及 Neovim 插件集成。\n\n> **注意**：本项目目前处于 Beta 阶段，功能迭代迅速，接口可能发生变化。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**：Linux, macOS 或 Windows (WSL 推荐)。\n*   **Python**：版本需为 3.9 或更高。\n*   **包管理器**：推荐使用 `pip` 或 `pipx` 进行安装。\n*   **可选依赖**：\n    *   若使用 Neovim 集成，需安装 Neovim 0.8+ 及 Lua 环境。\n    *   若需智能代码分块（基于语法），工具会自动安装 `py-tree-sitter` 相关依赖。\n\n## 安装步骤\n\n### 方式一：使用 pip 安装（推荐）\n\n直接使用 pip 安装最新稳定版：\n\n```bash\npip install vectorcode\n```\n\n如果您希望将工具隔离在全局环境中而不污染项目依赖，推荐使用 `pipx`：\n\n```bash\npipx install vectorcode\n```\n\n> **国内加速建议**：\n> 如果下载速度较慢，可使用国内镜像源安装：\n> ```bash\n> pip install vectorcode -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n> ```\n\n### 方式二：Nix 用户\n\n如果您使用 Nix 包管理器，可以使用非官方源安装：\n\n```bash\nnix-env -iA nixpkgs.vectorcode\n```\n\n## 基本使用\n\nVectorCode 的核心工作流分为两步：**索引项目** 和 **查询上下文**。\n\n### 1. 初始化与索引项目\n\n进入您的代码项目根目录（需包含 `.git` 文件夹或 `.vectorcode.json` 配置文件），运行以下命令建立索引：\n\n```bash\nvectorcode index\n```\n\n*   该命令会自动识别项目根目录。\n*   默认会尊重 `.gitignore` 规则，忽略不需要索引的文件。\n*   索引完成后，代码将被分块并存入本地向量数据库（默认使用 ChromaDB）。\n\n### 2. 查询相关代码上下文\n\n索引完成后，您可以针对特定问题查询相关的代码片段。例如，查询关于“用户认证逻辑”的代码：\n\n```bash\nvectorcode query \"How is user authentication implemented?\"\n```\n\n工具将返回与问题最相关的代码片段及其文件路径，您可以将这些内容直接复制到大模型的提示词中。\n\n### 3. 在 Neovim 中使用（可选）\n\n如果您是使用 Neovim 的开发者，安装 Python 包后，还需配置 Neovim 插件以调用 API。请参考 [Neovim 插件文档](.\u002Fdocs\u002Fneovim\u002FREADME.md) 进行具体配置，配置成功后即可在编辑器内直接获取上下文信息。\n\n---\n\n**下一步建议**：\n*   查看 [CLI 详细文档](.\u002Fdocs\u002Fcli.md) 了解分块大小配置、排除路径等高级选项。\n*   访问 [Wiki](https:\u002F\u002Fgithub.com\u002FDavidyz\u002FVectorCode\u002Fwiki) 获取更多使用技巧。","某后端工程师正在接手一个缺乏文档的私有微服务项目，需要快速理解复杂的业务逻辑并修复一个隐蔽的并发 Bug。\n\n### 没有 VectorCode 时\n- **上下文缺失**：通用大模型完全不了解该私有仓库的内部架构和自定义规范，只能给出泛泛而谈的建议。\n- **人工检索低效**：开发者必须手动在数十个文件中搜索相关函数定义和调用链，耗时且容易遗漏关键依赖。\n- **幻觉风险高**：由于缺乏项目特有信息，模型倾向于编造不存在的 API 或错误的配置方式，导致代码无法运行。\n- **提示词构建困难**：为了提供足够背景，开发者需手动复制粘贴大量代码片段，不仅操作繁琐还极易超出模型的上下文窗口限制。\n\n### 使用 VectorCode 后\n- **精准注入上下文**：VectorCode 自动索引整个代码库，将任务相关的文件结构和逻辑动态注入提示词，让模型瞬间“读懂”项目。\n- **智能关联定位**：工具能自动识别并提取与 Bug 相关的函数定义及调用路径，无需人工逐行查找，大幅缩短定位时间。\n- **输出真实可靠**：基于真实的仓库索引信息，模型生成的代码严格遵循项目现有规范，显著减少了胡编乱造的幻觉内容。\n- **自动化流程集成**：通过 Neovim 插件无缝调用，开发者只需一个命令即可获取优化后的上下文，彻底解放了手动整理信息的精力。\n\nVectorCode 通过将私有代码库转化为大模型可理解的结构化知识，从根本上解决了 AI 在封闭项目中“水土不服”的难题。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FDavidyz_VectorCode_71601429.png","Davidyz","David","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FDavidyz_80c2f62c.jpg",null,"https:\u002F\u002Ft.me\u002FDavid_yz","https:\u002F\u002Fgithub.com\u002FDavidyz",[79,83,87],{"name":80,"color":81,"percentage":82},"Python","#3572A5",74.4,{"name":84,"color":85,"percentage":86},"Lua","#000080",25.4,{"name":88,"color":89,"percentage":90},"Makefile","#427819",0.1,842,45,"2026-04-04T20:11:26","MIT","未说明 (支持 Nix 包管理器，通常涵盖 Linux 和 macOS)","未说明",{"notes":98,"python":96,"dependencies":99},"该工具是一个代码仓库索引工具，主要依赖 ChromaDB 进行向量存储。支持通过 .gitignore 忽略文件，并自动检测项目根目录（基于 .git 或 .vectorcode.json）。提供 Neovim 插件集成和 CLI 命令行工具。目前处于 Beta 阶段，功能迭代迅速。支持 Nix 包管理器安装。尚未完全支持带认证的远程 ChromaDB。",[100,101,102],"py-tree-sitter","tree-sitter-language-pack","chromadb",[14,52,104],"其他",[106,107,108,109,110,111],"neovim-plugin","retrieval-augmented","embeddings","rag","mcp","mcp-server","2026-03-27T02:49:30.150509","2026-04-07T06:12:52.183128",[115,120,125,130,135,140],{"id":116,"question_zh":117,"answer_zh":118,"source_url":119},21085,"遇到 'Invalid schema for function' 或 'default is not permitted' 等工具调用错误怎么办？","这通常是因为不同的 OpenAI 兼容提供商对工具调用（tool-calling）的 Schema 实现不一致导致的。维护者已修复了相关提交，移除了不兼容的 `minimum` 字段和不允许的 `default` 字段。如果遇到此问题，请尝试更新 VectorCode 到最新版本。如果问题依旧，可能是因为您的提供商对 Schema 有严格限制，建议检查提供商文档或回退到稳定版本。","https:\u002F\u002Fgithub.com\u002FDavidyz\u002FVectorCode\u002Fissues\u002F133",{"id":121,"question_zh":122,"answer_zh":123,"source_url":124},21086,"查询时出现 'Cannot return the results in a contigious 2D array. Probably ef or M is too small' 错误如何解决？","这是 ChromaDB 上游的一个已知问题，通常与 HNSW 索引参数（ef 或 M）过小有关。目前升级至 Chroma 1.0 会破坏现有数据库兼容性，因此尚未默认升级。临时解决方法包括尝试调整 ef 和 M 参数，或者等待维护者在未来版本中解决上游依赖问题。如果必须立即解决，可能需要手动复现并向上游 ChromaDB 提交报告。","https:\u002F\u002Fgithub.com\u002FDavidyz\u002FVectorCode\u002Fissues\u002F24",{"id":126,"question_zh":127,"answer_zh":128,"source_url":129},21087,"如何在 Neovim 中获取最近的编辑历史记录以增强上下文？","虽然 VectorCode 目前没有直接内置此功能，但可以通过 Neovim 原生命令获取最近的变更列表。在 Lua 配置中使用 `local changes = vim.fn.execute \"changes\"` 可以获取打印格式的变更字符串。注意，这将返回非结构化的文本数据，可能需要进一步解析才能发送给 LLM。对于需要高度结构化数据的场景，这可能不是最佳方案。","https:\u002F\u002Fgithub.com\u002FDavidyz\u002FVectorCode\u002Fissues\u002F45",{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},21088,"启动 Neovim 时出现 'src must be a table or function' 的 lua callback 错误怎么办？","该错误通常发生在初始化阶段，涉及缓存模块或迭代器处理空值的情况。维护者已在后续提交中修复了此问题（参考 Issue #297）。解决方法是确保您的 VectorCode 插件和 CLI 工具都已更新到最新版本。如果使用的是 lazy.nvim 等管理器，请运行更新命令（如 `:Lazy sync` 或重新构建插件）以应用修复。","https:\u002F\u002Fgithub.com\u002FDavidyz\u002FVectorCode\u002Fissues\u002F291",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},21089,"为什么 VectorCode 能通过命令行工作，但在 CodeCompanion 或 Copilot-Chat 中无法识别变量或命令？","这通常是因为 AI 聊天插件（如 CodeCompanion）未正确配置调用 VectorCode 的工具（Tools）。您需要手动在聊天插件的配置中定义 VectorCode 的工具 Schema，确保函数名称、参数描述与 VectorCode 服务端一致。此外，如果您使用的是 Nix 包管理的 VectorCode 版本，可能会因为依赖路径或服务启动方式（如 systemd 服务 vs 内置实例）不同导致连接失败。建议检查聊天插件的工具注册配置，并确保 VectorCode 服务器正在运行且端口可访问。","https:\u002F\u002Fgithub.com\u002FDavidyz\u002FVectorCode\u002Fissues\u002F256",{"id":141,"question_zh":142,"answer_zh":143,"source_url":139},21090,"使用 Nix 包安装的 VectorCode 为什么无法启动服务器或 CPU 占用异常？","Nix 包版本的 VectorCode 可能存在依赖项问题，且其内置的 ChromaDB 管理方式较为简陋（janky），可能导致服务无法正常启动或 CPU 利用率低。维护者建议，如果可能，尽量使用官方推荐的安装方式（如 `uv tool install`）以获得更好的兼容性。如果必须使用 Nix 版本，可能需要手动配置独立的 ChromaDB 服务（例如通过 systemd）并在 VectorCode 配置中指向该服务地址，而不是依赖内置实例。",[145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240],{"id":146,"version":147,"summary_zh":148,"released_at":149},127126,"0.7.20","## 📦 未分类\n\n- 特性：支持 CodeCompanion `v18.0.0`\n   - 拉取请求：#301","2025-12-15T05:49:07",{"id":151,"version":152,"summary_zh":153,"released_at":154},127127,"0.7.19","## 🐛 修复\n\n- 在 `async_check` 中检查作业运行器的输出是否为空。\n   - PR：#297\n- fix(nvim)：在 codecompanion 工具中将 `vim.NIL` 参数转换为 `nil`。\n   - PR：#298\n- 确保 LSP 进度即使在失败时也会结束。\n   - PR：#299","2025-11-13T11:55:35",{"id":156,"version":157,"summary_zh":158,"released_at":159},127128,"0.7.18","## 🐛 修复\n\n- 修复 Neovim 插件的类型注解和文档\n   - PR：#289\n- 在 `check` 中处理 `nil` 结果\n   - PR：#292\n- 使用 `utils` 函数进行路径检查\n   - PR：#293","2025-09-26T13:08:53",{"id":161,"version":162,"summary_zh":163,"released_at":164},127129,"0.7.17","## 🐛 修复\n\n- 改进了 cmd jobrunner 的错误传播\n   - PR：#285\n- 修复分块包含的过滤条件\n   - PR：#287\n- 修复（codecompanion）：改进对空 stderr 输出的错误处理\n   - PR：#286","2025-09-20T03:32:28",{"id":166,"version":167,"summary_zh":168,"released_at":169},127130,"0.7.16","## 🚀 功能\n\n- 为 codecompanion.nvim 插件添加提示库构建器\n   - 拉取请求：#264\n\n## 🐛 修复\n\n- 修复摘要适配器的类型注解。\n   - 拉取请求：#281","2025-09-04T02:26:51",{"id":171,"version":172,"summary_zh":173,"released_at":174},127131,"0.7.15","## 🐛 修复\n\n- 仅允许使用 HTTP 适配器进行 CodeCompanion 结果摘要生成\n   - PR：#278\n\n## 📦 未分类\n\n- 将默认重排序器恢复为 `NaiveReranker`。\n   - PR：#277","2025-08-28T05:21:49",{"id":176,"version":177,"summary_zh":178,"released_at":179},127132,"0.7.14","## 🚀 功能\n\n- 实现基于 cProfile 的性能分析\n   - PR：#271\n- 放宽 CodeCompanion 工具的模式要求（关闭 #273）\n   - PR：#275","2025-08-22T07:47:55",{"id":181,"version":182,"summary_zh":183,"released_at":184},127133,"0.7.13","## 🚀 功能\n\n- 使 Codecompanion 向量化工具更加 robust\n   - PR：#263\n- 支持将 LSP 工作区文件夹用作 LSP 服务器的默认项目根目录。\n   - PR：#269\n\n## 🐛 修复\n\n- 处理 Codecompanion 工具的相对路径\n   - PR：#267","2025-08-11T09:35:45",{"id":186,"version":187,"summary_zh":188,"released_at":189},127134,"0.7.12","## 🚀 功能\n\n- 允许将嵌入截断到指定维度。\n   - PR：#265\n\n## 🐛 修复\n\n- 在 `vectorcode_ls` 中正确定义空参数模式。\n   - PR：#252","2025-08-03T07:52:44",{"id":191,"version":192,"summary_zh":193,"released_at":194},127135,"0.7.11","## 🚀 功能\n\n- 将嵌入函数与集合解耦\n   - PR：#254\n\n## 🐛 修复\n\n- 将 codecompanion.nvim 工具的迁移从 `references` 改为 `context`。\n   - PR：#259","2025-07-28T10:41:20",{"id":196,"version":197,"summary_zh":198,"released_at":199},127136,"0.7.10","## 🐛 Fixes\n\n- Pin tree-sitter version for linux-arm\n   - PR: #249\n\n## 📦 Uncategorized\n\n- Documentation refactor\n   - PR: #248","2025-07-22T05:29:18",{"id":201,"version":202,"summary_zh":203,"released_at":204},127137,"0.7.9","## 🐛 Fixes\n\n- Revert \"Verify chromadb connection by checking openapi title.\"\n   - PR: #246","2025-07-16T11:16:51",{"id":206,"version":207,"summary_zh":208,"released_at":209},127138,"0.7.8","## 🚀 Features\n\n- Support loading `.gitignore` from nested repo\u002Fsubmodules\n   - PR: #244\n- Update tool descriptions for better loading time\n   - PR: #245\n\n## 🐛 Fixes\n\n- Verify chromadb connection by checking openapi title.\n   - PR: #241","2025-07-13T08:36:36",{"id":211,"version":212,"summary_zh":213,"released_at":214},127139,"0.7.7","## 🚀 Features\n\n- Add `deduplicate` parameter to query tool\n   - PR: #238\n\n## 🐛 Fixes\n\n- Handle empty results in reranker\n   - PR: #237","2025-07-08T03:43:53",{"id":216,"version":217,"summary_zh":218,"released_at":219},127140,"0.7.6","## 🚀 Features\n\n- Implement wildcard tool opts for CodeCompanion\n   - PR: #232\n- Add `files_ls` and `files_rm` tools to MCP server\n   - PR: #235","2025-07-03T03:35:14",{"id":221,"version":222,"summary_zh":223,"released_at":224},127141,"0.7.5","## 🚀 Features\n\n- Add heirline component\n   - PR: #226\n- Add `files` subcommand for file manipulation\n   - PR: #230\n\n## 🐛 Fixes\n\n- Make sure `prompts` returns `string[]`\n   - PR: #231","2025-07-01T08:26:36",{"id":226,"version":227,"summary_zh":228,"released_at":229},127142,"0.7.4","## 🚀 Features\n\n- Implement filelock for `db_path` when using the chroma server\n   - PR: #217\n\n## 🐛 Fixes\n\n- Pin posthog to `\u003C6.0.0`\n   - PR: #222\n- Disable deduplication for summary mode\n   - PR: #223","2025-06-28T08:12:25",{"id":231,"version":232,"summary_zh":233,"released_at":234},127143,"0.7.3","## 🐛 Fixes\n\n- Fix file reference issue in the query tool\n   - PR: #215\n\n## 📦 Uncategorized\n\n- Documentation updates\n   - PR: #220","2025-06-26T02:55:59",{"id":236,"version":237,"summary_zh":238,"released_at":239},127144,"0.7.2","## 🚀 Features\n\n- Optional retrieval result summarisation in CodeCompanion.nvim query tool\n   - PR: #179\n\n## 🐛 Fixes\n\n- Fix shtab generation for zsh and add tests for it. Fix #211\n   - PR: #212","2025-06-24T13:22:28",{"id":241,"version":242,"summary_zh":243,"released_at":244},127145,"0.7.1","## 🚀 Features\n\n- Use `chunk_id` to deduplicate chunks in codecompanion tool\n   - PR: #183","2025-06-22T09:33:01"]