[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-OpenBMB--RepoAgent":3,"tool-OpenBMB--RepoAgent":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},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,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},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 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":75,"owner_avatar_url":76,"owner_bio":77,"owner_company":78,"owner_location":78,"owner_email":79,"owner_twitter":75,"owner_website":80,"owner_url":81,"languages":82,"stars":95,"forks":96,"last_commit_at":97,"license":98,"difficulty_score":23,"env_os":99,"env_gpu":100,"env_ram":100,"env_deps":101,"category_tags":109,"github_topics":110,"view_count":23,"oss_zip_url":78,"oss_zip_packed_at":78,"status":16,"created_at":124,"updated_at":125,"faqs":126,"releases":156},2369,"OpenBMB\u002FRepoAgent","RepoAgent","An LLM-powered repository agent designed to assist developers and teams in generating documentation and understanding repositories quickly.","RepoAgent 是一款由大语言模型驱动的智能仓库助手，旨在帮助开发者和团队快速理解代码库并自动生成高质量文档。在软件开发中，维护详尽的文档往往耗费大量人力，尤其对于人手紧张的小团队而言更是沉重负担。RepoAgent 通过自动化流程解决了这一痛点，让开发者从繁琐的文档编写中解放出来，专注于核心逻辑的验证与优化。\n\n该工具特别适合软件开发者、技术团队以及开源项目维护者使用。它不仅能自动监测 Git 仓库的文件增删改变化，还能利用抽象语法树（AST）独立分析代码结构，为各个代码对象生成精准说明。其独特之处在于能够准确识别代码对象间的双向调用关系，从而构建出具有全局视角的文档内容。此外，RepoAgent 支持多线程并发操作以提升生成效率，并能根据代码变动无缝更新 Markdown 文档，确保内容与代码实时同步。配合 GitBook 集成，它还能将生成的文档以精美的电子书形式呈现，极大地降低了新成员的学习成本，是提升团队协作效率的理想选择。","\u003Ch1 align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_RepoAgent_readme_a592a8f63991.png\" width=\"50\" alt=\"RepoAgent logo\"\u002F> \u003Cem>RepoAgent: An LLM-Powered Framework for Repository-level Code Documentation Generation.\u003C\u002Fem>\n\u003C\u002Fh1>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fdm\u002Frepoagent\" alt=\"PyPI - Downloads\"\u002F>\n  \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Frepoagent\u002F\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Frepoagent\" alt=\"PyPI - Version\"\u002F>\n  \u003C\u002Fa>\n  \u003Ca href=\"Pypi\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Frepoagent\" alt=\"PyPI - Python Version\"\u002F>\n  \u003C\u002Fa>\n  \u003Cimg alt=\"GitHub License\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002FLOGIC-10\u002FRepoAgent\">\n  \u003Cimg alt=\"GitHub Repo stars\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FLOGIC-10\u002FRepoAgent?style=social\">\n  \u003Cimg alt=\"GitHub issues\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002FLOGIC-10\u002FRepoAgent\">\n  \u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fabs\u002F2402.16667v1\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcs.CL-2402.16667-b31b1b?logo=arxiv&logoColor=red\" alt=\"arXiv\"\u002F>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_RepoAgent_readme_80b5e4e383ec.png\" alt=\"RepoAgent\"\u002F>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FLOGIC-10\u002FRepoAgent\u002Fblob\u002Fmain\u002FREADME.md\">English readme\u003C\u002Fa>\n   • \n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FLOGIC-10\u002FRepoAgent\u002Fblob\u002Fmain\u002FREADME_CN.md\">简体中文 readme\u003C\u002Fa>\n\u003C\u002Fp>\n\n## :tv: Demo\n\n[![Watch the video](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_RepoAgent_readme_1ce272867e69.jpg)](https:\u002F\u002Fyoutu.be\u002FYPPJBVOP71M)\n\n## 👾 Background\n\nIn the realm of computer programming, the significance of comprehensive project documentation, including detailed explanations for each Python file, cannot be overstated. Such documentation serves as the cornerstone for understanding, maintaining, and enhancing the codebase. It provides essential context and rationale for the code, making it easier for current and future developers to comprehend the purpose, functionality, and structure of the software. It not only facilitates current and future developers in grasping the project's purpose and structure but also ensures that the project remains accessible and modifiable over time, significantly easing the learning curve for new team members.\n\nTraditionally, creating and maintaining software documentation demanded significant human effort and expertise, a challenge for small teams without dedicated personnel. The introduction of Large Language Models (LLMs) like GPT has transformed this, enabling AI to handle much of the documentation process. This shift allows human developers to focus on verification and fine-tuning, greatly reducing the manual burden of documentation.\n\n**🏆 Our goal is to create an intelligent document assistant that helps people read and understand repositories and generate documents, ultimately helping people improve efficiency and save time.**\n\n## ✨ Features\n\n- **🤖 Automatically detects changes in Git repositories, tracking additions, deletions, and modifications of files.**\n- **📝 Independently analyzes the code structure through AST, generating documents for individual objects.**\n- **🔍 Accurate identification of inter-object bidirectional invocation relationships, enriching the global perspective of document content.**\n- **📚 Seamlessly replaces Markdown content based on changes, maintaining consistency in documentation.**\n- **🕙 Executes multi-threaded concurrent operations, enhancing the efficiency of document generation.**\n- **👭 Offer a sustainable, automated documentation update method for team collaboration.**\n- **😍 Display Code Documentation in an amazing way. (with document book per project powered by Gitbook)**\n\n\n## 🚀 Getting Started\n\n### Installation Method\n\n#### Using GitHub Actions\n\nThis repository supports GitHub Actions for automating workflows such as building, testing, and deploying. For detailed instructions on setting up and using GitHub Actions with this repository, please refer to the [actions\u002Frun-repoagent](https:\u002F\u002Fgithub.com\u002Fmarketplace\u002Factions\u002Frun-repoagent).\n\n#### Using pip (Recommended for Users)\n\nInstall the `repoagent` package directly using pip:\n\n```bash\npip install repoagent\n```\n\n#### Development Setup Using PDM\n\nIf you're looking to contribute or set up a development environment:\n\n- **Install PDM**: If you haven't already, [install PDM](https:\u002F\u002Fpdm-project.org\u002Flatest\u002F#installation).\n- **Use CodeSpace, or Clone the Repository**:\n\n    - **Use CodeSpace**\n    The easiest way to get RepoAgent enviornment. Click below to use the GitHub Codespace, then go to the next step.\n  \n    [![Open in GitHub Codespaces](https:\u002F\u002Fgithub.com\u002Fcodespaces\u002Fbadge.svg)](https:\u002F\u002Fcodespaces.new\u002FLOGIC-10\u002FRepoAgent?quickstart=1)\n  \n    - **Clone the Repository**\n  \n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002FLOGIC-10\u002FRepoAgent.git\n    cd RepoAgent\n    ```\n\n- **Setup with PDM**\n\n    - Initialize the Python virtual environment. Make sure to run the below cmd in `\u002FRepoAgent` directory:\n    \n      ```bash\n      pdm venv create --name repoagent\n      ```\n    \n    - [Activate virtual environment](https:\u002F\u002Fpdm-project.org\u002Flatest\u002Fusage\u002Fvenv\u002F#activate-a-virtualenv)\n    \n    - Install dependencies using PDM\n    \n      ```bash\n       pdm install\n      ```\n\n### Configuring RepoAgent\n\nBefore configuring specific parameters for RepoAgent, please ensure that the OpenAI API is configured as an environment variable in the command line:\n\n```sh\nexport OPENAI_API_KEY=YOUR_API_KEY # on Linux\u002FMac\nset OPENAI_API_KEY=YOUR_API_KEY # on Windows\n$Env:OPENAI_API_KEY = \"YOUR_API_KEY\" # on Windows (PowerShell)\n```\n\n## Run RepoAgent\n\nEnter the root directory of RepoAgent and try the following command in the terminal:\n```sh\nrepoagent run #this command will generate doc, or update docs(pre-commit-hook will automatically call this)\nrepoagent run --print-hierarchy # Print how repo-agent parse the target repo\n```\n\nThe run command supports the following optional flags (if set, will override config defaults):\n\n- `-m`, `--model` TEXT: Specifies the model to use for completion. Default: `gpt-3.5-turbo`\n- `-t`, `--temperature` FLOAT: Sets the generation temperature for the model. Lower values make the model more deterministic. Default: `0.2`\n- `-r`, `--request-timeout` INTEGER: Defines the timeout in seconds for the API request. Default: `60`\n- `-b`, `--base-url` TEXT: The base URL for the API calls. Default: `https:\u002F\u002Fapi.openai.com\u002Fv1`\n- `-tp`, `--target-repo-path` PATH: The file system path to the target repository. Used as the root for documentation generation. Default: `path\u002Fto\u002Fyour\u002Ftarget\u002Frepository`\n- `-hp`, `--hierarchy-path` TEXT: The name or path for the project hierarchy file, used to organize documentation structure. Default: `.project_doc_record`\n- `-mdp`, `--markdown-docs-path` TEXT: The folder path where Markdown documentation will be stored or generated. Default: `markdown_docs`\n- `-i`, `--ignore-list` TEXT: A list of files or directories to ignore during documentation generation, separated by commas.\n- `-l`, `--language` TEXT: The ISO 639 code or language name for the documentation. Default: `Chinese`\n- `-ll`, `--log-level` [DEBUG|INFO|WARNING|ERROR|CRITICAL]: Sets the logging level for the application. Default: `INFO`\n\nYou can also try the following feature\n\n```sh\nrepoagent clean # Remove repoagent-related cache\nrepoagent diff # Check what docs will be updated\u002Fgenerated based on current code change\n```\n\nIf it's your first time generating documentation for the target repository, RepoAgent will automatically create a JSON file maintaining the global structure information and a folder named Markdown_Docs in the root directory of the target repository for storing documents.\n\nOnce you have initially generated the global documentation for the target repository, or if the project you cloned already contains global documentation information, you can then seamlessly and automatically maintain internal project documentation with your team by configuring the **pre-commit hook** in the target repository! \n\n### Use `pre-commit` \n\nRepoAgent currently supports generating documentation for projects, which requires some configuration in the target repository.\n\nFirst, ensure that the target repository is a git repository and has been initialized.\n\n```sh\ngit init\n```\nInstall pre-commit in the target repository to detect changes in the git repository.\n\n```sh\npip install pre-commit\n```\nCreate a file named `.pre-commit-config.yaml` in the root directory of the target repository. An example is as follows:\n\n```yml\nrepos:\n  - repo: local\n    hooks:\n    - id: repo-agent\n      name: RepoAgent\n      entry: repoagent\n      language: system\n      pass_filenames: false # prevent from passing filenames to the hook\n      # You can specify the file types that trigger the hook, but currently only python is supported.\n      types: [python]\n```\n\nFor specific configuration methods of hooks, please refer to [pre-commit](https:\u002F\u002Fpre-commit.com\u002F#plugins).\nAfter configuring the yaml file, execute the following command to install the hook.\n\n```sh\npre-commit install\n```\n\nIn this way, each git commit will trigger the RepoAgent's hook, automatically detecting changes in the target repository and generating corresponding documents.\nNext, you can make some modifications to the target repository, such as adding a new file to the target repository, or modifying an existing file.\nYou just need to follow the normal git workflow: git add, git commit -m \"your commit message\", git push\nThe RepoAgent hook will automatically trigger at git commit, detect the files you added in the previous step, and generate corresponding documents.\n\nAfter execution, RepoAgent will automatically modify the staged files in the target repository and formally submit the commit. After the execution is completed, the green \"Passed\" will be displayed, as shown in the figure below:\n![Execution Result](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_RepoAgent_readme_c4f676369275.png)\n\nThe generated document will be stored in the specified folder in the root directory of the target warehouse. The rendering of the generated document is as shown below:\n![Documentation](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_RepoAgent_readme_b1036a8eb96e.png)\n![Documentation](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_RepoAgent_readme_da1eca135d0a.png)\n\nWe utilized the default model **gpt-3.5-turbo** to generate documentation for the [**XAgent**](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FXAgent) project, which comprises approximately **270,000 lines** of code. You can view the results of this generation in the Markdown_Docs directory of the XAgent project on GitHub. For enhanced documentation quality, we suggest considering more advanced models like **gpt-4-1106** or **gpt-4-0125-preview**.\n\n**In the end, you can flexibly adjust the output format, template, and other aspects of the document by customizing the prompt. We are excited about your exploration of a more scientific approach to Automated Technical Writing and your contributions to the community.** \n\n### Exploring chat with repo\n\nWe conceptualize **Chat With Repo** as a unified gateway for these downstream applications, acting as a connector that links RepoAgent to human users and other AI agents. Our future research will focus on adapting the interface to various downstream applications and customizing it to meet their unique characteristics and implementation requirements.\n\nHere we demonstrate a preliminary prototype of one of our downstream tasks: Automatic Q&A for Issues and Code Explanation. You can start the server by running the following code.\n\n```sh\npip install repoagent[chat-with-repo]\nrepoagent chat-with-repo\n```\n\n## ✅ Future Work\n\n- [ ] Generate README.md automatically combining with the global documentation\n- [ ] **Multi-programming-language support** Support more programming languages like Java, C or C++, etc.\n- [x] Local model support like Llama, chatGLM, Qwen, GLM4, etc.\n\n## 🥰 Featured Cases\n\nHere are featured cases that have adopted RepoAgent.\n\n- [MiniCPM](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FMiniCPM): An edge-side LLM of 2B size, comparable to 7B model.\n- [ChatDev](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FChatDev): Collaborative AI agents for software development.\n- [XAgent](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FXAgent): An Autonomous LLM Agent for Complex Task Solving.\n- [EasyRL4Rec](https:\u002F\u002Fgithub.com\u002Fchongminggao\u002FEasyRL4Rec): A user-friendly RL library for recommender systems.\n\n## 📊 Citation\n\n```bibtex\n@misc{luo2024repoagent,\n      title={RepoAgent: An LLM-Powered Open-Source Framework for Repository-level Code Documentation Generation}, \n      author={Qinyu Luo and Yining Ye and Shihao Liang and Zhong Zhang and Yujia Qin and Yaxi Lu and Yesai Wu and Xin Cong and Yankai Lin and Yingli Zhang and Xiaoyin Che and Zhiyuan Liu and Maosong Sun},\n      year={2024},\n      eprint={2402.16667},\n      archivePrefix={arXiv},\n      primaryClass={cs.CL}\n}\n```\n","\u003Ch1 align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_RepoAgent_readme_a592a8f63991.png\" width=\"50\" alt=\"RepoAgent logo\"\u002F> \u003Cem>RepoAgent：一个基于大语言模型的仓库级代码文档生成框架。\u003C\u002Fem>\n\u003C\u002Fh1>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fdm\u002Frepoagent\" alt=\"PyPI - 下载量\"\u002F>\n  \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Frepoagent\u002F\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Frepoagent\" alt=\"PyPI - 版本\"\u002F>\n  \u003C\u002Fa>\n  \u003Ca href=\"Pypi\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Frepoagent\" alt=\"PyPI - Python版本\"\u002F>\n  \u003C\u002Fa>\n  \u003Cimg alt=\"GitHub License\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002FLOGIC-10\u002FRepoAgent\">\n  \u003Cimg alt=\"GitHub Repo stars\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FLOGIC-10\u002FRepoAgent?style=social\">\n  \u003Cimg alt=\"GitHub issues\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002FLOGIC-10\u002FRepoAgent\">\n  \u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fabs\u002F2402.16667v1\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcs.CL-2402.16667-b31b1b?logo=arxiv&logoColor=red\" alt=\"arXiv\"\u002F>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_RepoAgent_readme_80b5e4e383ec.png\" alt=\"RepoAgent\"\u002F>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FLOGIC-10\u002FRepoAgent\u002Fblob\u002Fmain\u002FREADME.md\">英文说明文档\u003C\u002Fa>\n   • \n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FLOGIC-10\u002FRepoAgent\u002Fblob\u002Fmain\u002FREADME_CN.md\">简体中文说明文档\u003C\u002Fa>\n\u003C\u002Fp>\n\n## :tv: 演示\n\n[![观看视频](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_RepoAgent_readme_1ce272867e69.jpg)](https:\u002F\u002Fyoutu.be\u002FYPPJBVOP71M)\n\n## 👾 背景\n\n在计算机编程领域，全面的项目文档——包括对每个Python文件的详细说明——其重要性毋庸置疑。这类文档是理解、维护和改进代码库的基础。它为代码提供了必要的背景信息和设计意图，使当前及未来的开发者更容易掌握软件的目的、功能和结构。这不仅有助于现有和新加入的开发人员快速理解项目的用途与架构，还能确保项目长期可访问性和可修改性，从而显著降低新成员的学习曲线。\n\n传统上，创建和维护软件文档需要大量的人力与专业知识，这对缺乏专职人员的小团队而言是一项挑战。而随着GPT等大型语言模型（LLMs）的出现，这一局面发生了根本性的转变：AI如今能够承担起大部分文档编写工作。这样一来，人类开发者便可以将精力集中在审核与微调上，大大减轻了手动撰写文档的负担。\n\n**🏆 我们的目标是打造一款智能文档助手，帮助人们阅读和理解代码仓库，并自动生成文档，最终提升效率、节省时间。**\n\n## ✨ 功能\n\n- **🤖 自动检测Git仓库中的变更，跟踪文件的新增、删除和修改。**\n- **📝 独立通过抽象语法树（AST）分析代码结构，为各个代码对象生成文档。**\n- **🔍 准确识别对象间的双向调用关系，丰富文档内容的全局视角。**\n- **📚 根据变更无缝替换Markdown内容，保持文档的一致性。**\n- **🕙 执行多线程并发操作，提升文档生成效率。**\n- **👭 提供可持续的自动化文档更新方案，助力团队协作。**\n- **😍 以惊艳的方式展示代码文档。（每个项目都配有由Gitbook驱动的文档书）**\n\n\n## 🚀 快速入门\n\n### 安装方法\n\n#### 使用GitHub Actions\n\n本仓库支持GitHub Actions，可用于自动化构建、测试和部署等工作流。有关如何在此仓库中设置和使用GitHub Actions的详细说明，请参阅[actions\u002Frun-repoagent](https:\u002F\u002Fgithub.com\u002Fmarketplace\u002Factions\u002Frun-repoagent)。\n\n#### 使用pip（推荐用户使用）\n\n直接通过pip安装`repoagent`包：\n\n```bash\npip install repoagent\n```\n\n#### 使用PDM进行开发环境搭建\n\n如果您希望参与贡献或搭建开发环境：\n\n- **安装PDM**：如果尚未安装，请先[安装PDM](https:\u002F\u002Fpdm-project.org\u002Flatest\u002F#installation)。\n- **使用CodeSpace，或克隆仓库**：\n\n    - **使用CodeSpace**\n    这是最简便的获取RepoAgent开发环境的方式。点击下方链接即可使用GitHub Codespace，然后进入下一步。\n  \n    [![在GitHub Codespaces中打开](https:\u002F\u002Fgithub.com\u002Fcodespaces\u002Fbadge.svg)](https:\u002F\u002Fcodespaces.new\u002FLOGIC-10\u002FRepoAgent?quickstart=1)\n  \n    - **克隆仓库**\n  \n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002FLOGIC-10\u002FRepoAgent.git\n    cd RepoAgent\n    ```\n\n- **使用PDM进行环境配置**\n\n    - 初始化Python虚拟环境。请务必在`\u002FRepoAgent`目录下运行以下命令：\n    \n      ```bash\n      pdm venv create --name repoagent\n      ```\n    \n    - [激活虚拟环境](https:\u002F\u002Fpdm-project.org\u002Flatest\u002Fusage\u002Fvenv\u002F#activate-a-virtualenv)\n    \n    - 使用PDM安装依赖项：\n    \n      ```bash\n       pdm install\n      ```\n\n### 配置RepoAgent\n\n在配置RepoAgent的具体参数之前，请确保已在命令行中将OpenAI API密钥设置为环境变量：\n\n```sh\nexport OPENAI_API_KEY=YOUR_API_KEY # 在Linux\u002FMac上\nset OPENAI_API_KEY=YOUR_API_KEY # 在Windows上\n$Env:OPENAI_API_KEY = \"YOUR_API_KEY\" # 在Windows (PowerShell)上\n```\n\n## 运行 RepoAgent\n\n进入 RepoAgent 的根目录，并在终端中尝试以下命令：\n```sh\nrepoagent run #此命令将生成文档，或更新文档（pre-commit 钩子会自动调用）\nrepoagent run --print-hierarchy # 打印 RepoAgent 如何解析目标仓库\n```\n\n`run` 命令支持以下可选标志（如果设置，则会覆盖配置默认值）：\n\n- `-m`, `--model` TEXT：指定用于补全的模型。默认值：`gpt-3.5-turbo`\n- `-t`, `--temperature` FLOAT：设置模型的生成温度。较低的值会使模型更加确定性。默认值：`0.2`\n- `-r`, `--request-timeout` INTEGER：定义 API 请求的超时时间（以秒为单位）。默认值：`60`\n- `-b`, `--base-url` TEXT：API 调用的基础 URL。默认值：`https:\u002F\u002Fapi.openai.com\u002Fv1`\n- `-tp`, `--target-repo-path` PATH：目标仓库的文件系统路径。用作文档生成的根目录。默认值：`path\u002Fto\u002Fyour\u002Ftarget\u002Frepository`\n- `-hp`, `--hierarchy-path` TEXT：项目层级文件的名称或路径，用于组织文档结构。默认值：`.project_doc_record`\n- `-mdp`, `--markdown-docs-path` TEXT：存放或生成 Markdown 文档的文件夹路径。默认值：`markdown_docs`\n- `-i`, `--ignore-list` TEXT：文档生成过程中需要忽略的文件或目录列表，用逗号分隔。\n- `-l`, `--language` TEXT：文档的语言 ISO 639 代码或语言名称。默认值：`Chinese`\n- `-ll`, `--log-level` [DEBUG|INFO|WARNING|ERROR|CRITICAL]：设置应用程序的日志级别。默认值：`INFO`\n\n你还可以尝试以下功能：\n\n```sh\nrepoagent clean # 清除 RepoAgent 相关缓存\nrepoagent diff # 检查基于当前代码变更将更新或生成哪些文档\n```\n\n如果你是首次为目标仓库生成文档，RepoAgent 会自动创建一个维护全局结构信息的 JSON 文件，并在目标仓库的根目录下创建名为 `Markdown_Docs` 的文件夹来存储文档。\n\n一旦你为目标仓库初步生成了全局文档，或者你克隆的项目已经包含全局文档信息，你就可以通过在目标仓库中配置 **pre-commit 钩子**，与团队无缝、自动地维护项目内部文档！\n\n### 使用 `pre-commit`\n\nRepoAgent 目前支持为项目生成文档，这需要在目标仓库中进行一些配置。\n\n首先，确保目标仓库是一个 Git 仓库，并且已经初始化。\n\n```sh\ngit init\n```\n\n在目标仓库中安装 pre-commit，以检测 Git 仓库中的变化。\n\n```sh\npip install pre-commit\n```\n\n在目标仓库的根目录下创建一个名为 `.pre-commit-config.yaml` 的文件。示例如下：\n\n```yml\nrepos:\n  - repo: local\n    hooks:\n    - id: repo-agent\n      name: RepoAgent\n      entry: repoagent\n      language: system\n      pass_filenames: false # 防止将文件名传递给钩子\n      # 你可以指定触发钩子的文件类型，但目前仅支持 Python。\n      types: [python]\n```\n\n有关钩子的具体配置方法，请参阅 [pre-commit](https:\u002F\u002Fpre-commit.com\u002F#plugins)。\n\n配置好 YAML 文件后，执行以下命令安装钩子：\n\n```sh\npre-commit install\n```\n\n这样一来，每次 Git 提交都会触发 RepoAgent 的钩子，自动检测目标仓库中的变化并生成相应的文档。\n\n接下来，你可以在目标仓库中进行一些修改，比如添加新文件或修改现有文件。\n\n只需按照正常的 Git 工作流程操作：`git add`、`git commit -m \"你的提交信息\"`、`git push`。\n\nRepoAgent 钩子会在 Git 提交时自动触发，检测你上一步添加的文件，并生成相应的文档。\n\n执行完成后，RepoAgent 会自动修改目标仓库中的暂存文件，并正式提交本次更改。执行完毕后，会显示绿色的“Passed”，如图所示：\n![执行结果](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_RepoAgent_readme_c4f676369275.png)\n\n生成的文档将存储在目标仓库根目录下指定的文件夹中。生成文档的渲染效果如下：\n![文档](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_RepoAgent_readme_b1036a8eb96e.png)\n![文档](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_RepoAgent_readme_da1eca135d0a.png)\n\n我们使用默认模型 **gpt-3.5-turbo** 为 [**XAgent**](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FXAgent) 项目生成了文档，该项目约有 **27万行** 代码。你可以在 GitHub 上 XAgent 项目的 `Markdown_Docs` 目录中查看此次生成的结果。为了提升文档质量，我们建议考虑使用更先进的模型，如 **gpt-4-1106** 或 **gpt-4-0125-preview**。\n\n**最后，你可以通过自定义提示词灵活调整文档的输出格式、模板等。我们期待你探索更科学的自动化技术写作方法，并为社区做出贡献。**\n\n### 探索与仓库聊天\n\n我们设想 **Chat With Repo** 是这些下游应用的统一入口，充当连接 RepoAgent 与人类用户及其他 AI 代理的桥梁。未来的研究将专注于适配各种下游应用的接口，并根据其独特特性和实施需求进行定制化。\n\n这里我们展示了一个下游任务的初步原型：针对问题的自动问答和代码解释。你可以通过运行以下代码启动服务器。\n\n```sh\npip install repoagent[chat-with-repo]\nrepoagent chat-with-repo\n```\n\n## ✅ 未来工作\n\n- [ ] 结合全局文档自动生成 README.md\n- [ ] **多编程语言支持** 支持更多编程语言，如 Java、C 或 C++ 等。\n- [x] 支持本地模型，如 Llama、chatGLM、Qwen、GLM4 等。\n\n## 🥰 特色案例\n\n以下是一些采用 RepoAgent 的特色案例：\n\n- [MiniCPM](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FMiniCPM)：一款 2B 规模的边缘侧 LLM，性能可媲美 7B 模型。\n- [ChatDev](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FChatDev)：用于软件开发的协作式 AI 代理。\n- [XAgent](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FXAgent)：用于解决复杂任务的自主 LLM 代理。\n- [EasyRL4Rec](https:\u002F\u002Fgithub.com\u002Fchongminggao\u002FEasyRL4Rec)：面向推荐系统的易用 RL 库。\n\n## 📊 引用\n\n```bibtex\n@misc{luo2024repoagent,\n      title={RepoAgent：一个由大语言模型驱动的开源仓库级代码文档生成框架}, \n      author={Qinyu Luo 和 Yining Ye 和 Shihao Liang 和 Zhong Zhang 和 Yujia Qin 和 Yaxi Lu 和 Yesai Wu 和 Xin Cong 和 Yankai Lin 和 Yingli Zhang 和 Xiaoyin Che 和 Zhiyuan Liu 和 Maosong Sun},\n      year={2024},\n      eprint={2402.16667},\n      archivePrefix={arXiv},\n      primaryClass={cs.CL}\n}\n```","# RepoAgent 快速上手指南\n\nRepoAgent 是一个基于大语言模型（LLM）的框架，旨在自动生成仓库级别的代码文档。它能自动检测 Git 变更、分析代码结构并维护 Markdown 文档，帮助开发者高效理解和管理项目代码。\n\n## 环境准备\n\n在开始之前，请确保满足以下要求：\n\n*   **操作系统**：Linux, macOS 或 Windows\n*   **Python 版本**：支持 Python 3.8+\n*   **Git**：已安装并配置好 Git 环境\n*   **API Key**：需要拥有 OpenAI API Key（或兼容的 LLM API Key）\n\n## 安装步骤\n\n推荐使用 `pip` 进行安装：\n\n```bash\npip install repoagent\n```\n\n> **提示**：如果您希望体验“与仓库对话”（Chat With Repo）功能，请使用以下命令安装扩展包：\n> ```bash\n> pip install repoagent[chat-with-repo]\n> ```\n\n### 开发环境搭建（可选）\n如果您打算贡献代码或进行二次开发，建议使用 PDM 管理环境：\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FLOGIC-10\u002FRepoAgent.git\ncd RepoAgent\npdm venv create --name repoagent\n# 激活虚拟环境后执行\npdm install\n```\n\n## 基本使用\n\n### 1. 配置 API Key\n在使用前，需在终端设置环境变量以加载您的 API Key：\n\n**Linux \u002F macOS:**\n```sh\nexport OPENAI_API_KEY=YOUR_API_KEY\n```\n\n**Windows (CMD):**\n```sh\nset OPENAI_API_KEY=YOUR_API_KEY\n```\n\n**Windows (PowerShell):**\n```sh\n$Env:OPENAI_API_KEY = \"YOUR_API_KEY\"\n```\n\n### 2. 生成文档\n进入您的目标项目根目录，运行以下命令即可自动生成或更新文档：\n\n```sh\nrepoagent run\n```\n\n执行成功后，RepoAgent 会在项目根目录下创建 `markdown_docs` 文件夹存储生成的 Markdown 文档，并生成 `.project_doc_record` 文件以记录全局结构信息。\n\n**常用参数示例：**\n*   指定模型（如使用 GPT-4）：\n    ```sh\n    repoagent run -m gpt-4-1106-preview\n    ```\n*   指定生成语言为中文（默认即为中文，也可显式指定）：\n    ```sh\n    repoagent run -l Chinese\n    ```\n*   查看解析层级结构：\n    ```sh\n    repoagent run --print-hierarchy\n    ```\n\n### 3. 集成 Pre-commit 钩子（自动化维护）\n为了实现提交代码时自动更新文档，可配置 `pre-commit` 钩子：\n\n1.  **初始化 Git 并安装 pre-commit**（若未安装）：\n    ```sh\n    git init\n    pip install pre-commit\n    ```\n\n2.  **创建配置文件**：在项目根目录创建 `.pre-commit-config.yaml`，内容如下：\n    ```yml\n    repos:\n      - repo: local\n        hooks:\n        - id: repo-agent\n          name: RepoAgent\n          entry: repoagent\n          language: system\n          pass_filenames: false\n          types: [python]\n    ```\n\n3.  **安装钩子**：\n    ```sh\n    pre-commit install\n    ```\n\n配置完成后，每次执行 `git commit` 时，RepoAgent 将自动检测代码变更并更新相关文档，无需手动干预。\n\n### 4. 其他实用命令\n*   **预览变更**：检查当前代码变更将如何影响文档（不实际生成）：\n    ```sh\n    repoagent diff\n    ```\n*   **清理缓存**：移除 RepoAgent 相关的缓存文件：\n    ```sh\n    repoagent clean\n    ```\n*   **启动对话服务**：启动本地服务器以进行“与仓库对话”功能：\n    ```sh\n    repoagent chat-with-repo\n    ```","某初创团队接手了一个缺乏文档的遗留 Python 项目，需要在两周内让新成员熟悉代码并准备技术交接。\n\n### 没有 RepoAgent 时\n- 新入职开发者需逐行阅读数千行代码才能理解模块功能，上手周期长达数天。\n- 人工编写和维护文档耗时巨大，且代码更新后文档极易过时，导致信息不一致。\n- 难以理清复杂的函数调用关系，修改核心逻辑时常常因误判依赖而引发新 Bug。\n- 团队缺乏自动化的文档同步机制，每次版本迭代都需专门开会同步变更细节。\n\n### 使用 RepoAgent 后\n- RepoAgent 自动分析 AST 生成详细的文件级说明，新成员借助文档半天内即可掌握项目架构。\n- 工具实时监测 Git 仓库变动，自动增删改对应的 Markdown 内容，确保文档与代码永远同步。\n- 精准识别对象间的双向调用关系并写入文档，开发人员能清晰看到全局依赖，大幅降低重构风险。\n- 基于多线程并发快速生成整站文档并发布至 GitBook，团队无需额外会议即可通过链接获取最新变更。\n\nRepoAgent 将繁琐的文档维护工作转化为自动化流程，让团队从“读代码”转变为“用代码”，显著提升了协作效率与知识传承质量。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenBMB_RepoAgent_1ce27286.jpg","OpenBMB","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FOpenBMB_02e4bd39.png","OpenBMB (Open Lab for Big Model Base) aims to build foundation models and systems towards AGI.",null,"openbmb@gmail.com","https:\u002F\u002Fwww.openbmb.cn","https:\u002F\u002Fgithub.com\u002FOpenBMB",[83,87,91],{"name":84,"color":85,"percentage":86},"Python","#3572A5",97.2,{"name":88,"color":89,"percentage":90},"Makefile","#427819",1.8,{"name":92,"color":93,"percentage":94},"Shell","#89e051",1,934,131,"2026-04-02T14:44:55","Apache-2.0","Linux, macOS, Windows","未说明",{"notes":102,"python":103,"dependencies":104},"该工具主要依赖 OpenAI API 运行，需配置 OPENAI_API_KEY 环境变量。默认使用 gpt-3.5-turbo 模型，无需本地 GPU 支持（除非自行切换为本地部署的大模型如 Llama 等）。支持通过 pre-commit 钩子实现自动化文档更新。可选安装 chat-with-repo 功能以启用对话服务。","3.8+",[105,106,107,108],"openai","gitpython","tree-sitter","pre-commit",[13,53,26,15],[111,112,113,114,115,116,117,118,119,120,121,122,123],"agent","chatglm","gpt","gpt-4","langchain","llama","llms","qwen","rag","chatgpt","chatgpt-api","llama-index","repo-level-debugging","2026-03-27T02:49:30.150509","2026-04-06T06:54:20.183623",[127,132,137,141,146,151],{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},10880,"运行时报错 KeyError: 'default_completion_kwargs' 或模型名称错误，如何解决？","该问题通常由配置文件 config.yml 格式不正确或缺少必要字段引起。请确保配置文件中包含 `default_completion_kwargs` 字段，并正确定义模型参数。参考以下配置示例：\n\n```yml\napi_keys:\n  gpt-3.5-turbo-16k:\n    - api_key: sk-XXXX\n      base_url: https:\u002F\u002Fexample.com\u002Fv1\u002F\n      model: gpt-3.5-turbo-16k\n  gpt-4:    \n    - api_key: sk-XXXX\n      base_url: https:\u002F\u002Fexample.com\u002Fv1\u002F\n      model: gpt-4\n\ndefault_completion_kwargs:\n  model: gpt-4\n  temperature: 0.2\n  request_timeout: 60\n\nrepo_path: \u002Fpath\u002Fto\u002Fyour\u002Frepo\nproject_hierarchy: .project_hierarchy.json\nMarkdown_Docs_folder: \u002FMarkdown_Docs\nlanguage: zh\n```\n\n注意：如果只设置了 `gpt-3.5-turbo` 但程序尝试访问 `gpt-3.5-turbo-16k`，请检查代码逻辑是否自动切换了模型但未在配置中定义对应密钥。","https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fissues\u002F17",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},10881,"项目是否支持 Tree-sitter 进行代码解析或多编程语言支持？","目前对其他编程语言的支持被列为未来计划。社区用户提出了使用 Tree-sitter 进行代码解析的建议，并表达了对 Typed Script 和 Scala 等语言的支持需求。关于多语言查找引用关系（find_all_referencer）的方法尚在讨论中，暂无官方实现方案，但这是开发团队关注的方向。","https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fissues\u002F60",{"id":138,"question_zh":139,"answer_zh":140,"source_url":136},10882,"是否计划支持 Ollama 及开源模型？","是的，由于 OpenAI 在很多地区无法直接使用，社区强烈期待支持 Ollama。虽然具体支持哪些开源模型尚未最终确定，但这已被列为重要的用户需求和发展方向。",{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},10883,"如何生成单元测试以及自动化开发新功能？","建议的工作流程如下：\n1. **解析项目结构**：从 `.project_doc_record\u002F.project_hierarchy.json` 获取函数单元。\n2. **生成测试用例**：利用 LLM 分析函数期望行为（输入、输出、边界条件），生成涵盖正常情况和异常情况的测试用例。\n3. **生成解决方案**：基于已有函数采用伪代码输出初步方案。\n4. **评估与排序**：对方案的可靠性、全面性和效率进行评估排序。\n5. **迭代优化**：执行测试并返回修改建议，通过自迭代改进代码。\n\n优先级建议：1. 为无单元测试的项目增加测试；2. 补充现有项目的测试；3. 新功能开发。可参考 Codium-ai\u002Fpr-agent 或 open-interpreter 等项目作为实现灵感。","https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fissues\u002F36",{"id":147,"question_zh":148,"answer_zh":149,"source_url":150},10884,"Chat with Repo 功能的核心要求和实现进度如何？","核心要求包括：\n1. **动态更新向量**：监控文档变更并更新向量存储。\n2. **混合检索**：结合 Embedding 搜索、关键字检索和多路召回技术。\n3. **代码整合**：将代码块向量化并包含引用关系信息。\n4. **大模型总结**：基于检索内容进行综合回答。\n\n截至 1 月 4 日的进度：已完成基本交互界面、多轮对话界面、Automering 检索算法的 RAG 及数据库存储。剩余任务包括前置 Query 规范、数据库更新触发机制、代码文件 Chunk 分类及 Rerank 优化。","https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fissues\u002F25",{"id":152,"question_zh":153,"answer_zh":154,"source_url":155},10885,"安装后运行 `repoagent configure` 出现 PydanticUserError 报错怎么办？","该错误通常发生在 Python 3.12 环境下，原因是 Pydantic 版本兼容性或模型定义问题（如 `ProjectSettings` 类构建失败）。虽然具体修复代码未在评论中直接给出，但此类问题通常需要通过更新 `repoagent` 到最新版本或检查 `settings.py` 中 Pydantic 模型的字段定义来解决。建议检查是否使用了与当前 Pydantic 版本兼容的代码结构，或回退到稳定的 Python 版本（如 3.10\u002F3.11）尝试。","https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fissues\u002F79",[157,162,167,172],{"id":158,"version":159,"summary_zh":160,"released_at":161},53339,"v0.2.0","## 变更内容\n* 功能（chat_engine）：封装为 OpenAILike，以使用兼容 OpenAI 的 API。由 @st01cs 在 https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fpull\u002F85 中实现。\n\n## 新贡献者\n* @st01cs 在 https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fpull\u002F85 中完成了首次贡献。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fcompare\u002Fv0.1.5...v0.2.0","2024-12-23T11:48:52",{"id":163,"version":164,"summary_zh":165,"released_at":166},53340,"v0.1.5","## 变更内容\n* 重构以移除配置管理器，并优化设置，由 @Umpire2018 在 https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fpull\u002F83 中完成\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fcompare\u002Fv0.1.4...v0.1.5","2024-11-21T15:11:30",{"id":168,"version":169,"summary_zh":170,"released_at":171},53341,"v0.1.4","## 变更内容\n* 修复：在 rag.py 中修正系统提示，由 @sts07142 在 https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fpull\u002F74 中完成\n* 修复（设置）：解决 repo_agent\u002Fsettings.py 中的 `PydanticUserError`，由 @Umpire2018 在 https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fpull\u002F80 中完成\n\n## 新贡献者\n* @sts07142 在 https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fpull\u002F74 中完成了首次贡献\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fcompare\u002Fv0.1.3...v0.1.4","2024-10-10T10:05:37",{"id":173,"version":174,"summary_zh":175,"released_at":176},53342,"v0.1.3","## 变更内容\n* 添加 `add_unstaged_mds`，在 pre-commit 阶段暂存新文件，由 @Umpire2018 在 https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fpull\u002F4 中实现。\n* 修复 `runner.py` 中 `update_object` 函数引起的并发问题，并优化处理逻辑，由 @LOGIC-10 在 https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fpull\u002F6 中完成。\n* 语言支持功能，由 @pooruss 在 https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fpull\u002F5 中实现。\n* 为提升效率进行重构，由 @LOGIC-10 在 https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fpull\u002F12 中完成。\n* 构建：将 `loguru` 添加到 `requirements.txt`，由 @Umpire2018 在 https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fpull\u002F15 中完成。\n* 修复：集成 `.gitignore` 文件，以优化 `generate_over_all_structure` 中的文件处理流程，由 @Umpire2018 在 https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fpull\u002F16 中完成。\n* 新增功能并修复部分 bug，由 @LOGIC-10 在 https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fpull\u002F23 中完成。\n* 为 RepoAgent 创建 LICENSE 文件，由 @LOGIC-10 在 https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fpull\u002F24 中完成。\n* 功能：添加与仓库组件对话的功能，由 @innovation64 在 https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fpull\u002F29 中实现。\n* 修复：修复多轮对话的记忆问题，并更换向量数据库，由 @innovation64 在 https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fpull\u002F31 中完成。\n* 增加将仓库文档以 Gitbook 形式展示的功能，由 @sailaoda 在 https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fpull\u002F30 中实现。\n* 功能\u002F问题 25：创建与仓库组件对话的功能，由 @innovation64 在 https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fpull\u002F32 中完成。\n* 将 `gitpython` 从 3.1.40 升级至 3.1.41，由 @dependabot 在 https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fpull\u002F37 中完成。\n* 功能\u002F问题 25：创建与仓库组件对话的功能，由 @innovation64 在 https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fpull\u002F38 中完成。\n* 样式：重构 Gradio UI 代码，由 @innovation64 在 https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fpull\u002F42 中完成。\n* 功能：添加用于与仓库交互的聊天界面，由 @Umpire2018 在 https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fpull\u002F44 中实现。\n* 构建（依赖）：将 `starlette` 从 0.35.1 升级至 0.36.2，由 @dependabot 在 https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fpull\u002F47 中完成。\n* 构建（依赖）：将 `fastapi` 从 0.109.0 升级至 0.109.1，由 @dependabot 在 https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fpull\u002F46 中完成。\n* 合并 Pure meta info 分支，以解决循环引用问题，由 @LOGIC-10 在 https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fpull\u002F48 中完成。\n* 重构：重构函数以适配新的 JSON 文件格式，由 @innovation64 在 https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fpull\u002F49 中完成。\n* 构建（依赖）：将 `python-multipart` 从 0.0.6 升级至 0.0.7，由 @dependabot 在 https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fpull\u002F50 中完成。\n* 修复：修复 dropout 为空的问题，由 @innovation64 在 https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fpull\u002F51 中完成。\n* 重构：增强模型选择功能，并减少输入以避免超出 token 限制，由 @Umpire2018 在 https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fpull\u002F52 中完成。\n* 更新关于 `make_env_init` 的说明，以便安装所需的 Node.js 环境，由 @sailaoda 在 https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fpull\u002F55 中完成。\n* 检查 Git 状态，由 @LOGIC-10 在 https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepoAgent\u002Fpull\u002F56 中完成。\n* 将 main 分支合并至 `refactor\u002Fchat-engine`，由 @Umpire2018 在 https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FRepo","2024-03-11T15:13:38"]