[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-tesserato--CodeWeaver":3,"tool-tesserato--CodeWeaver":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":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":80,"owner_email":81,"owner_twitter":75,"owner_website":82,"owner_url":83,"languages":84,"stars":93,"forks":94,"last_commit_at":95,"license":96,"difficulty_score":23,"env_os":97,"env_gpu":98,"env_ram":99,"env_deps":100,"category_tags":105,"github_topics":106,"view_count":23,"oss_zip_url":79,"oss_zip_packed_at":79,"status":16,"created_at":111,"updated_at":112,"faqs":113,"releases":114},3221,"tesserato\u002FCodeWeaver","CodeWeaver","Weave your codebase into a single, navigable Markdown document","CodeWeaver 是一款命令行工具，能将整个代码库“编织”成一份单一、可导航的 Markdown 文档。它通过递归扫描项目目录，生成清晰的树状文件结构，并将每个文件的完整代码内容嵌入对应的 Markdown 代码块中。\n\n在开发协作或对接 AI 模型时，开发者常面临代码文件分散、难以一次性完整上下文输入的痛点。CodeWeaver 完美解决了这一问题，它将零散的源码整合为连贯的文本流，极大简化了代码审查、技术文档编写以及向大语言模型投喂完整项目上下文的过程。\n\n这款工具特别适合软件开发者、技术研究人员以及需要频繁与 AI 编程助手交互的用户。无论是想要快速分享项目全貌，还是希望让 AI 基于完整代码库提供重构建议，CodeWeaver 都能提供高效支持。\n\n其技术亮点在于灵活的过滤机制：支持使用正则表达式精准定义包含或忽略的文件路径，让用户能轻松排除 `.git`、`node_modules` 等无关目录。此外，它还支持将生成的文档直接复制到剪贴板，并可单独导出文件路径清单，配合简洁的命令行操作，让代码整理工作变得既专业又轻松。","# CodeWeaver: Generate Markdown Documentation from Your Codebase\n\n[![Go](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGo-00ADD8?style=for-the-badge&logo=go&logoColor=white)](https:\u002F\u002Fgo.dev\u002F)\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-yellow.svg)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT)\n\nCodeWeaver is a command-line tool that transforms your codebase into a single, navigable Markdown document. It recursively scans a directory, creating a tree-like representation of your project's file structure and embedding the content of each file within markdown code blocks.  This simplifies codebase sharing, documentation, and integration with AI\u002FML tools by providing a consolidated, readable Markdown output.\n\nThe output for the current repository can be found [here](https:\u002F\u002Fgithub.com\u002Ftesserato\u002FCodeWeaver\u002Fblob\u002Fmain\u002Fcodebase.md).\n\n## Key Features\n\n*   **Comprehensive Codebase Documentation:** Generates a Markdown file outlining your project's directory and file structure in a clear, tree-like format.\n*   **Code Content Inclusion:** Embeds the *complete* content of each file within the Markdown document, using code blocks based on file extensions.\n*   **Flexible Path Filtering:** Uses regular expressions to define `include` and \u002F or `ignore` patterns, giving you precise control over which files are included.\n*   **Optional Path Logging:**  Saves lists of included and excluded file paths to separate files for detailed tracking.\n*   **Clipboard Integration:**  Optionally copies the generated Markdown to the clipboard for easy pasting.\n*   **Simple CLI:** A straightforward command-line interface with intuitive options.\n\n## Installation\n\n**Using `go install` (Recommended):**\n\nRequires Go 1.18 or later.\n\n```bash\ngo install github.com\u002Ftesserato\u002FCodeWeaver@latest\n```\n\nTo install a specific version:\n\n```bash\ngo install github.com\u002Ftesserato\u002FCodeWeaver@vX.Y.Z  # Replace X.Y.Z with the desired version\n```\n\n**From Pre-built Executables:**\n\nDownload the appropriate executable for your operating system from the [releases page](https:\u002F\u002Fgithub.com\u002Ftesserato\u002FCodeWeaver\u002Freleases).\n\nAfter downloading, make the executable:\n\n```bash\nchmod +x codeweaver  # On Linux\u002FmacOS\n```\n\n## Usage\n\n```bash\ncodeweaver [options]\n```\n\nFor help:\n\n```bash\ncodeweaver -h\n```\n\n**Options:**\n\n| Option                            | Description                                                                                                     | Default Value           |\n| :-------------------------------- | :-------------------------------------------------------------------------------------------------------------- | :---------------------- |\n| `-input \u003Cdirectory>`              | The root directory to scan.                                                                                     | `.` (current directory) |\n| `-output \u003Cfilename>`              | The name of the output Markdown file.                                                                           | `codebase.md`           |\n| `-ignore \"\u003Cregex patterns>\"`      | Comma-separated list of regular expressions for paths to *exclude*.  Example: `\\.git.*,node_modules,*.log`      | `\\.git.*`               |\n| `-include \"\u003Cregex patterns>\"`     | Comma-separated list of regular expressions. *Only* paths matching these are *included*. Example: `\\.go$,\\.md$` | None                    |\n| `-included-paths-file \u003Cfilename>` | Saves the list of *included* paths to this file.                                                                | None                    |\n| `-excluded-paths-file \u003Cfilename>` | Saves the list of *excluded* paths to this file.                                                                | None                    |\n| `-clipboard`                      | Copies the generated Markdown to the clipboard.                                                                | `false`                 |\n| `-version`                        | Displays the version and exits.                                                                                 |                         |\n| `-help`                           | Displays this help message and exits.                                                                           |                         |\n\n**Understanding `-include` and `-ignore`**\n\nThese flags control which files and directories are included in the generated documentation.\n\n*   **`-ignore` (Blacklist):**  Excludes files\u002Fdirectories matching *any* of the provided regular expressions.\n*   **`-include` (Whitelist):**  *Only* includes files\u002Fdirectories matching *at least one* of the provided regular expressions.  If `-include` is used, everything else is *excluded* by default.\n\n**Behavior Table:**\n\n| `-ignore` | `-include` | Behavior                                                                                                                                                                       |\n| :-------- | :--------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| No        | No         | Includes all files\u002Fdirectories except the input directory itself (`.`).                                                                                                        |\n| Yes       | No         | Excludes files\u002Fdirectories matching `-ignore`; includes everything else.                                                                                                       |\n| No        | Yes        | *Only* includes files\u002Fdirectories matching `-include`. Everything else is excluded.                                                                                            |\n| Yes       | Yes        | Includes files\u002Fdirectories that match *at least one* `-include` pattern AND do *not* match *any* `-ignore` pattern.  `-include` creates a whitelist, and `-ignore` filters it. |\n\n## Examples\n\n**1. Basic Usage:**\n\n```bash\ncodeweaver\n```\n\nCreates `codebase.md` in the current directory, documenting the structure and content (excluding paths matching the default ignore pattern `\\.git.*`).\n\n**2. Different Input\u002FOutput:**\n\n```bash\ncodeweaver -input=my_project -output=project_docs.md\n```\n\nProcesses `my_project` and saves the output to `project_docs.md`.\n\n**3. Ignoring Files\u002FDirectories:**\n\n```bash\ncodeweaver -ignore=\"\\.log,temp,build\"\n```\n\nExcludes files\u002Fdirectories named `.log`, `temp`, or `build`.\n\n**4. Including Only Specific Files:**\n\n```bash\ncodeweaver -include=\"\\.go$,\\.md$\"\n```\n\nIncludes *only* Go (`.go`) and Markdown (`.md`) files.\n\n**5. Combining `include` and `ignore`:**\n\n```bash\ncodeweaver -include=\"\\.go$,\\.md$\" -ignore=\"vendor,test\"\n```\n\nIncludes Go and Markdown files, *except* those with \"vendor\" or \"test\" in their paths.\n\n**6. Saving Included\u002FExcluded Paths:**\n\n```bash\ncodeweaver -ignore=\"node_modules\" -included-paths-file=included.txt -excluded-paths-file=excluded.txt\n```\n\nCreates `codebase.md`, saves included paths to `included.txt`, and excluded paths to `excluded.txt`.\n\n**7. Copying to Clipboard:**\n\n```bash\ncodeweaver -clipboard\n```\n\nCreates `codebase.md` and copies its content to the clipboard.\n\n**8. Regex Examples:**\n\n*   `.`: Matches any single character.\n*   `*`: Matches zero or more of the preceding character.\n*   `+`: Matches one or more of the preceding character.\n*   `?`: Matches zero or one of the preceding character.\n*   `[abc]`: Matches any one of the characters inside the brackets.\n*   `[^abc]`: Matches any character *not* inside the brackets.\n*   `[a-z]`: Matches any character in the range a-z.\n*   `^`: Matches the beginning of the string.\n*   `$`: Matches the end of the string.\n*   `\\.`: Matches a literal dot (.). You need to escape it because `.` has special meaning in regex.\n*   `\\|`: Used for alternation (OR).  e.g., `a\\|b` matches either \"a\" or \"b\".\n* `.*\\.py[cod]$`: matches python files that end with pyc, pyd or pyo.\n* `.*\\.pdf`: matches PDF files.\n* `(dir1\\|dir2)`: matches `dir1` or `dir2`\n\n**9. Complete example:**\n```bash\ncodeweaver -input=. -output=codebase.md -ignore=\"\\.git.*,.+\\.exe,codebase.md,excluded_paths.txt\" -include=\"\\.go$,\\.md$,\\.ps1$,\\.yaml$,\\.txt$,\\.csv$\" -excluded-paths-file=\"excluded_paths.txt\" -clipboard\n```\nThis command will:\n\n* Process the current directory (`.`).\n* Generate documentation and save it in `codebase.md`.\n* Exclude files matching `.git.*`, `.+\\.exe`, the output file (`codebase.md`), and the file where the excluded paths will be saved.\n* Include *only* files with the extensions .go, .md, .ps1, .yaml, .txt, and .csv.\n* Save the list of excluded files in a file named `excluded_paths.txt`.\n* Copy the generated Markdown to the system clipboard.\n\n## Contributing\n\nContributions are welcome!  Please open an issue or submit a pull request on the project's GitHub repository.\n\n## License\n\nCodeWeaver is released under the [MIT License](LICENSE).\n\n## Star History\n\n[![Star History Chart](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftesserato_CodeWeaver_readme_075d5e29cb35.png)](https:\u002F\u002Fstar-history.com\u002F#tesserato\u002FCodeWeaver&Date)\n\n## Alternatives\n\nThis section lists tools with similar or overlapping functionality.\n\n**GitHub Repositories**\n\n| Project                                                                                  | Stars                                                                                                                                                                        |\n| :--------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| [ai-context](https:\u002F\u002Fgithub.com\u002Ftanq16\u002Fai-context)                                       | [![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Ftanq16\u002Fai-context?style=social)](https:\u002F\u002Fgithub.com\u002Ftanq16\u002Fai-context)                                                  |\n| [bundle-codebases](https:\u002F\u002Fgithub.com\u002Fmanfrin\u002Fbundle-codebases)                          | [![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fmanfrin\u002Fbundle-codebases?style=social)](https:\u002F\u002Fgithub.com\u002Fmanfrin\u002Fbundle-codebases)                                    |\n| [code2prompt](https:\u002F\u002Fgithub.com\u002Fmufeedvh\u002Fcode2prompt)                                   | [![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fmufeedvh\u002Fcode2prompt?style=social)](https:\u002F\u002Fgithub.com\u002Fmufeedvh\u002Fcode2prompt)                                            |\n| [code2text](https:\u002F\u002Fgithub.com\u002Fforrest321\u002Fcode2text)                                     | [![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fforrest321\u002Fcode2text?style=social)](https:\u002F\u002Fgithub.com\u002Fforrest321\u002Fcode2text)                                            |\n| [codefetch](https:\u002F\u002Fgithub.com\u002Fregenrek\u002Fcodefetch)                                       | [![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fregenrek\u002Fcodefetch?style=social)](https:\u002F\u002Fgithub.com\u002Fregenrek\u002Fcodefetch)                                                |\n| [copcon](https:\u002F\u002Fgithub.com\u002Fkasperjunge\u002Fcopcon)                                          | [![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fkasperjunge\u002Fcopcon?style=social)](https:\u002F\u002Fgithub.com\u002Fkasperjunge\u002Fcopcon)                                                |\n| [describe](https:\u002F\u002Fgithub.com\u002Frodlaf\u002Fdescribe)                                           | [![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Frodlaf\u002Fdescribe?style=social)](https:\u002F\u002Fgithub.com\u002Frodlaf\u002Fdescribe)                                                      |\n| [feed-llm](https:\u002F\u002Fgithub.com\u002Fnahco314\u002Ffeed-llm)                                         | [![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fnahco314\u002Ffeed-llm?style=social)](https:\u002F\u002Fgithub.com\u002Fnahco314\u002Ffeed-llm)                                                  |\n| [files-to-prompt](https:\u002F\u002Fgithub.com\u002Fsimonw\u002Ffiles-to-prompt)                             | [![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fsimonw\u002Ffiles-to-prompt?style=social)](https:\u002F\u002Fgithub.com\u002Fsimonw\u002Ffiles-to-prompt)                                        |\n| [ggrab](https:\u002F\u002Fgithub.com\u002Fkeizo\u002Fggrab)                                                  | [![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fkeizo\u002Fggrab?style=social)](https:\u002F\u002Fgithub.com\u002Fkeizo\u002Fggrab)                                                              |\n| [gitingest](https:\u002F\u002Fgitingest.com\u002F)                                                      | [![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fcyclotruc\u002Fgitingest?style=social)](https:\u002F\u002Fgithub.com\u002Fcyclotruc\u002Fgitingest)                                              |\n| [gitpodcast](https:\u002F\u002Fgitpodcast.com)                                                     | [![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FBandarLabs\u002Fgitpodcast?style=social)](https:\u002F\u002Fgithub.com\u002FBandarLabs\u002Fgitpodcast)                                          |\n| [globcat.sh](https:\u002F\u002Fgithub.com\u002Fjzombie\u002Fglobcat.sh)                                      | [![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fjzombie\u002Fglobcat.sh?style=social)](https:\u002F\u002Fgithub.com\u002Fjzombie\u002Fglobcat.sh)                                                |\n| [grimoire](https:\u002F\u002Fgithub.com\u002Fforesturquhart\u002Fgrimoire)                                   | [![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fforesturquhart\u002Fgrimoire?style=social)](https:\u002F\u002Fgithub.com\u002Fforesturquhart\u002Fgrimoire)                                      |\n| [llmcat](https:\u002F\u002Fgithub.com\u002Fazer\u002Fllmcat)                                                 | [![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fazer\u002Fllmcat?style=social)](https:\u002F\u002Fgithub.com\u002Fazer\u002Fllmcat)                                                              |\n| [RepoMix](https:\u002F\u002Fgithub.com\u002Fyamadashy\u002Frepomix)                                          | [![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fyamadashy\u002Frepomix?style=social)](https:\u002F\u002Fgithub.com\u002Fyamadashy\u002Frepomix)                                                  |\n| [RepoMix](https:\u002F\u002Fgithub.com\u002Fglebkudr\u002Fshotgun_code\u002F)                                          | [![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fglebkudr\u002Fshotgun_code?style=social)](https:\u002F\u002Fgithub.com\u002Fglebkudr\u002Fshotgun_code\u002F)                                                  |\n| [techdocs](https:\u002F\u002Fgithub.com\u002Fthesurlydev\u002Ftechdocs)                                      | [![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fthesurlydev\u002Ftechdocs?style=social)](https:\u002F\u002Fgithub.com\u002Fthesurlydev\u002Ftechdocs)                                            |\n| [thisismy](https:\u002F\u002Fgithub.com\u002Ffranzenzenhofer\u002Fthisismy)                                  | [![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Ffranzenzenhofer\u002Fthisismy?style=social)](https:\u002F\u002Fgithub.com\u002Ffranzenzenhofer\u002Fthisismy)                                    |\n| [yek](https:\u002F\u002Fgithub.com\u002Fbodo-run\u002Fyek)                                                   | [![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fbodo-run\u002Fyek?style=social)](https:\u002F\u002Fgithub.com\u002Fbodo-run\u002Fyek)                                                            |\n| [your-source-to-prompt](https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fyour-source-to-prompt.html) | [![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FDicklesworthstone\u002Fyour-source-to-prompt.html?style=social)](https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fyour-source-to-prompt) |\n| [ingest](https:\u002F\u002Fgithub.com\u002Fsammcj\u002Fingest)                                               | [![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fsammcj\u002Fingest?style=social)](https:\u002F\u002Fgithub.com\u002Fsammcj\u002Fingest)                                                          |\n| [onefilellm](https:\u002F\u002Fgithub.com\u002Fjimmc414\u002Fonefilellm)                                     | [![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fjimmc414\u002Fonefilellm?style=social)](https:\u002F\u002Fgithub.com\u002Fjimmc414\u002Fonefilellm)                                              |\n| [repo2file](https:\u002F\u002Fgithub.com\u002Fartkulak\u002Frepo2file)                                       | [![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fartkulak\u002Frepo2file?style=social)](https:\u002F\u002Fgithub.com\u002Fartkulak\u002Frepo2file)                                                |\n| [clipsource](https:\u002F\u002Fgithub.com\u002Fstrizzo\u002Fclipsource)                                      | [![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fstrizzo\u002Fclipsource?style=social)](https:\u002F\u002Fgithub.com\u002Fstrizzo\u002Fclipsource)                                                |\n\n**Other Tools**\n\n*   **r2md:**  A Rust crate ([https:\u002F\u002Fcrates.io\u002Fcrates\u002Fr2md](https:\u002F\u002Fcrates.io\u002Fcrates\u002Fr2md)).\n*   **repo2txt:** A web-based tool ([https:\u002F\u002Fchathub.gg\u002Frepo2txt](https:\u002F\u002Fchathub.gg\u002Frepo2txt) and [https:\u002F\u002Frepo2txt.simplebasedomain.com\u002Flocal.html](https:\u002F\u002Frepo2txt.simplebasedomain.com\u002Flocal.html)).\n*  **repoprompt:** A web service ([https:\u002F\u002Fwww.repoprompt.com](https:\u002F\u002Fwww.repoprompt.com)).\n\n**VSCode Extensions**\n\n*   **Codebase to Markdown:** ([https:\u002F\u002Fmarketplace.visualstudio.com\u002Fitems?itemName=DVYIO.combine-open-files](https:\u002F\u002Fmarketplace.visualstudio.com\u002Fitems?itemName=DVYIO.combine-open-files))\n","# CodeWeaver：从你的代码库生成 Markdown 文档\n\n[![Go](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGo-00ADD8?style=for-the-badge&logo=go&logoColor=white)](https:\u002F\u002Fgo.dev\u002F)\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-yellow.svg)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT)\n\nCodeWeaver 是一款命令行工具，可将你的代码库转换为一个单一、可导航的 Markdown 文档。它会递归扫描指定目录，创建项目文件结构的树状表示，并将每个文件的内容嵌入到 Markdown 代码块中。通过提供整合且易读的 Markdown 输出，这简化了代码库的共享、文档化以及与 AI\u002FML 工具的集成。\n\n当前仓库的输出可以在这里找到 [here](https:\u002F\u002Fgithub.com\u002Ftesserato\u002FCodeWeaver\u002Fblob\u002Fmain\u002Fcodebase.md)。\n\n## 核心特性\n\n*   **全面的代码库文档：** 生成一个 Markdown 文件，以清晰的树状格式概述项目的目录和文件结构。\n*   **包含代码内容：** 将每个文件的*完整*内容嵌入到 Markdown 文档中，并根据文件扩展名使用代码块。\n*   **灵活的路径过滤：** 使用正则表达式定义 `include` 和\u002F或 `ignore` 模式，让你精确控制哪些文件会被包含。\n*   **可选路径记录：** 将包含和排除的文件路径列表分别保存到单独的文件中，以便进行详细跟踪。\n*   **剪贴板集成：** 可选择将生成的 Markdown 复制到剪贴板，方便粘贴。\n*   **简洁的 CLI：** 直观易用的命令行界面。\n\n## 安装\n\n**使用 `go install`（推荐）：**\n\n需要 Go 1.18 或更高版本。\n\n```bash\ngo install github.com\u002Ftesserato\u002FCodeWeaver@latest\n```\n\n安装特定版本：\n\n```bash\ngo install github.com\u002Ftesserato\u002FCodeWeaver@vX.Y.Z  # 将 X.Y.Z 替换为所需版本\n```\n\n**从预编译的可执行文件：**\n\n从 [发布页面](https:\u002F\u002Fgithub.com\u002Ftesserato\u002FCodeWeaver\u002Freleases) 下载适用于你操作系统的相应可执行文件。\n\n下载后，赋予可执行权限：\n\n```bash\nchmod +x codeweaver  # 在 Linux\u002FmacOS 上\n```\n\n## 使用方法\n\n```bash\ncodeweaver [选项]\n```\n\n获取帮助：\n\n```bash\ncodeweaver -h\n```\n\n**选项：**\n\n| 选项                            | 描述                                                                                                     | 默认值           |\n| :-------------------------------- | :-------------------------------------------------------------------------------------------------------------- | :---------------------- |\n| `-input \u003Cdirectory>`              | 要扫描的根目录。                                                                                     | `.`（当前目录） |\n| `-output \u003Cfilename>`              | 输出 Markdown 文件的名称。                                                                           | `codebase.md`           |\n| `-ignore \"\u003Cregex patterns>\"`      | 用于*排除*路径的逗号分隔的正则表达式列表。例如：`\\.git.*,node_modules,*.log`      | `\\.git.*`               |\n| `-include \"\u003Cregex patterns>\"`     | 逗号分隔的正则表达式列表。*仅*匹配这些模式的路径会被*包含*。例如：`\\.go$,\\.md$` | 无                    |\n| `-included-paths-file \u003Cfilename>` | 将*包含*的路径列表保存到此文件。                                                                | 无                    |\n| `-excluded-paths-file \u003Cfilename>` | 将*排除*的路径列表保存到此文件。                                                                | 无                    |\n| `-clipboard`                      | 将生成的 Markdown 复制到剪贴板。                                                                | `false`                 |\n| `-version`                        | 显示版本并退出。                                                                                 |                         |\n| `-help`                           | 显示此帮助信息并退出。                                                                           |                         |\n\n**理解 `-include` 和 `-ignore`**\n\n这些标志控制哪些文件和目录会被包含在生成的文档中。\n\n*   **`-ignore`（黑名单）：** 排除匹配*任何*给定正则表达式的文件\u002F目录。\n*   **`-include`（白名单）：** *仅*包含匹配*至少一个*给定正则表达式的文件\u002F目录。如果使用了 `-include`，默认情况下其他所有内容都会被*排除*。\n\n**行为表：**\n\n| `-ignore` | `-include` | 行为                                                                                                                                                                       |\n| :-------- | :--------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| 无        | 无         | 包含所有文件\u002F目录，但不包括输入目录本身（`.`）。                                                                                                        |\n| 是        | 无         | 排除匹配 `-ignore` 的文件\u002F目录；包含其余所有内容。                                                                                                       |\n| 无        | 是        | *仅*包含匹配 `-include` 的文件\u002F目录。其余所有内容都被排除。                                                                                            |\n| 是        | 是        | 包含同时满足*至少一个* `-include` 模式且*不匹配任何* `-ignore` 模式的文件\u002F目录。`-include` 创建白名单，而 `-ignore` 则对其进行过滤。 |\n\n## 示例\n\n**1. 基本用法：**\n\n```bash\ncodeweaver\n```\n\n在当前目录下创建 `codebase.md`，记录代码库的结构和内容（排除与默认忽略模式 `\\.git.*` 匹配的路径）。\n\n**2. 自定义输入输出：**\n\n```bash\ncodeweaver -input=my_project -output=project_docs.md\n```\n\n处理 `my_project` 目录，并将输出保存到 `project_docs.md` 文件中。\n\n**3. 忽略特定文件\u002F目录：**\n\n```bash\ncodeweaver -ignore=\"\\.log,temp,build\"\n```\n\n排除名为 `.log`、`temp` 或 `build` 的文件或目录。\n\n**4. 仅包含特定类型的文件：**\n\n```bash\ncodeweaver -include=\"\\.go$,\\.md$\"\n```\n\n仅包含 Go（`.go`）和 Markdown（`.md`）文件。\n\n**5. 结合 `include` 和 `ignore`：**\n\n```bash\ncodeweaver -include=\"\\.go$,\\.md$\" -ignore=\"vendor,test\"\n```\n\n包含 Go 和 Markdown 文件，但排除路径中包含 `vendor` 或 `test` 的文件。\n\n**6. 保存包含与排除的路径：**\n\n```bash\ncodeweaver -ignore=\"node_modules\" -included-paths-file=included.txt -excluded-paths-file=excluded.txt\n```\n\n生成 `codebase.md`，并将包含的路径保存到 `included.txt`，排除的路径保存到 `excluded.txt`。\n\n**7. 复制到剪贴板：**\n\n```bash\ncodeweaver -clipboard\n```\n\n生成 `codebase.md` 并将其内容复制到剪贴板。\n\n**8. 正则表达式示例：**\n\n*   `.`：匹配任意单个字符。\n*   `*`：匹配前面字符出现零次或多次。\n*   `+`：匹配前面字符出现一次或多次。\n*   `?`：匹配前面字符出现零次或一次。\n*   `[abc]`：匹配方括号内的任意一个字符。\n*   `[^abc]`：匹配不在方括号内的任意字符。\n*   `[a-z]`：匹配 a 到 z 范围内的任意字符。\n*   `^`：匹配字符串的开头。\n*   `$`：匹配字符串的结尾。\n*   `\\.`：匹配字面意义上的点（`.`）。由于 `.` 在正则表达式中有特殊含义，因此需要转义。\n*   `\\|`：用于选择（OR）。例如，`a\\|b` 匹配 “a” 或 “b”。\n* `.*\\.py[cod]$`：匹配以 pyc、pyd 或 pyo 结尾的 Python 文件。\n* `.*\\.pdf`：匹配 PDF 文件。\n* `(dir1\\|dir2)`：匹配 `dir1` 或 `dir2`。\n\n**9. 完整示例：**\n```bash\ncodeweaver -input=. -output=codebase.md -ignore=\"\\.git.*,.+\\.exe,codebase.md,excluded_paths.txt\" -include=\"\\.go$,\\.md$,\\.ps1$,\\.yaml$,\\.txt$,\\.csv$\" -excluded-paths-file=\"excluded_paths.txt\" -clipboard\n```\n该命令将：\n\n* 处理当前目录（`.`）。\n* 生成文档并保存到 `codebase.md`。\n* 排除与 `.git.*`、`.+\\.exe`、输出文件（`codebase.md`）以及保存排除路径的文件匹配的文件。\n* 仅包含扩展名为 .go、.md、.ps1、.yaml、.txt 和 .csv 的文件。\n* 将排除的文件列表保存到名为 `excluded_paths.txt` 的文件中。\n* 将生成的 Markdown 内容复制到系统剪贴板。\n\n## 贡献\n\n欢迎贡献！请在项目的 GitHub 仓库中提交问题或拉取请求。\n\n## 许可证\n\nCodeWeaver 根据 [MIT 许可证](LICENSE) 发布。\n\n## 星标历史\n\n[![星标历史图表](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftesserato_CodeWeaver_readme_075d5e29cb35.png)](https:\u002F\u002Fstar-history.com\u002F#tesserato\u002FCodeWeaver&Date)\n\n## 替代方案\n\n本节列出了功能相似或重叠的工具。\n\n**GitHub 仓库**\n\n| 项目                                                                                  | 星标                                                                                                                                                                        |\n| :--------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| [ai-context](https:\u002F\u002Fgithub.com\u002Ftanq16\u002Fai-context)                                       | [![GitHub 星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Ftanq16\u002Fai-context?style=social)](https:\u002F\u002Fgithub.com\u002Ftanq16\u002Fai-context)                                                  |\n| [bundle-codebases](https:\u002F\u002Fgithub.com\u002Fmanfrin\u002Fbundle-codebases)                          | [![GitHub 星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fmanfrin\u002Fbundle-codebases?style=social)](https:\u002F\u002Fgithub.com\u002Fmanfrin\u002Fbundle-codebases)                                    |\n| [code2prompt](https:\u002F\u002Fgithub.com\u002Fmufeedvh\u002Fcode2prompt)                                   | [![GitHub 星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fmufeedvh\u002Fcode2prompt?style=social)](https:\u002F\u002Fgithub.com\u002Fmufeedvh\u002Fcode2prompt)                                            |\n| [code2text](https:\u002F\u002Fgithub.com\u002Fforrest321\u002Fcode2text)                                     | [![GitHub 星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fforrest321\u002Fcode2text?style=social)](https:\u002F\u002Fgithub.com\u002Fforrest321\u002Fcode2text)                                            |\n| [codefetch](https:\u002F\u002Fgithub.com\u002Fregenrek\u002Fcodefetch)                                       | [![GitHub 星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fregenrek\u002Fcodefetch?style=social)](https:\u002F\u002Fgithub.com\u002Fregenrek\u002Fcodefetch)                                                |\n| [copcon](https:\u002F\u002Fgithub.com\u002Fkasperjunge\u002Fcopcon)                                          | [![GitHub 星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fkasperjunge\u002Fcopcon?style=social)](https:\u002F\u002Fgithub.com\u002Fkasperjunge\u002Fcopcon)                                                |\n| [describe](https:\u002F\u002Fgithub.com\u002Frodlaf\u002Fdescribe)                                           | [![GitHub 星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Frodlaf\u002Fdescribe?style=social)](https:\u002F\u002Fgithub.com\u002Frodlaf\u002Fdescribe)                                                      |\n| [feed-llm](https:\u002F\u002Fgithub.com\u002Fnahco314\u002Ffeed-llm)                                         | [![GitHub 星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fnahco314\u002Ffeed-llm?style=social)](https:\u002F\u002Fgithub.com\u002Fnahco314\u002Ffeed-llm)                                                  |\n| [files-to-prompt](https:\u002F\u002Fgithub.com\u002Fsimonw\u002Ffiles-to-prompt)                             | [![GitHub 星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fsimonw\u002Ffiles-to-prompt?style=social)](https:\u002F\u002Fgithub.com\u002Fsimonw\u002Ffiles-to-prompt)                                        |\n| [ggrab](https:\u002F\u002Fgithub.com\u002Fkeizo\u002Fggrab)                                                  | [![GitHub 星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fkeizo\u002Fggrab?style=social)](https:\u002F\u002Fgithub.com\u002Fkeizo\u002Fggrab)                                                              |\n| [gitingest](https:\u002F\u002Fgitingest.com\u002F)                                                      | [![GitHub 星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fcyclotruc\u002Fgitingest?style=social)](https:\u002F\u002Fgithub.com\u002Fcyclotruc\u002Fgitingest)                                              |\n| [gitpodcast](https:\u002F\u002Fgitpodcast.com)                                                     | [![GitHub 星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FBandarLabs\u002Fgitpodcast?style=social)](https:\u002F\u002Fgithub.com\u002FBandarLabs\u002Fgitpodcast)                                          |\n| [globcat.sh](https:\u002F\u002Fgithub.com\u002Fjzombie\u002Fglobcat.sh)                                      | [![GitHub 星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fjzombie\u002Fglobcat.sh?style=social)](https:\u002F\u002Fgithub.com\u002Fjzombie\u002Fglobcat.sh)                                                |\n| [grimoire](https:\u002F\u002Fgithub.com\u002Fforesturquhart\u002Fgrimoire)                                   | [![GitHub 星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fforesturquhart\u002Fgrimoire?style=social)](https:\u002F\u002Fgithub.com\u002Fforesturquhart\u002Fgrimoire)                                      |\n| [llmcat](https:\u002F\u002Fgithub.com\u002Fazer\u002Fllmcat)                                                 | [![GitHub 星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fazer\u002Fllmcat?style=social)](https:\u002F\u002Fgithub.com\u002Fazer\u002Fllmcat)                                                              |\n| [RepoMix](https:\u002F\u002Fgithub.com\u002Fyamadashy\u002Frepomix)                                          | [![GitHub 星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fyamadashy\u002Frepomix?style=social)](https:\u002F\u002Fgithub.com\u002Fyamadashy\u002Frepomix)                                                  |\n| [RepoMix](https:\u002F\u002Fgithub.com\u002Fglebkudr\u002Fshotgun_code\u002F)                                          | [![GitHub 星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fglebkudr\u002Fshotgun_code?style=social)](https:\u002F\u002Fgithub.com\u002Fglebkudr\u002Fshotgun_code\u002F)                                                  |\n| [techdocs](https:\u002F\u002Fgithub.com\u002Fthesurlydev\u002Ftechdocs)                                      | [![GitHub 星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fthesurlydev\u002Ftechdocs?style=social)](https:\u002F\u002Fgithub.com\u002Fthesurlydev\u002Ftechdocs)                                            |\n| [thisismy](https:\u002F\u002Fgithub.com\u002Ffranzenzenhofer\u002Fthisismy)                                  | [![GitHub 星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Ffranzenzenhofer\u002Fthisismy?style=social)](https:\u002F\u002Fgithub.com\u002Ffranzenzenhofer\u002Fthisismy)                                    |\n| [yek](https:\u002F\u002Fgithub.com\u002Fbodo-run\u002Fyek)                                                   | [![GitHub 星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fbodo-run\u002Fyek?style=social)](https:\u002F\u002Fgithub.com\u002Fbodo-run\u002Fyek)                                                            |\n| [your-source-to-prompt](https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fyour-source-to-prompt.html) | [![GitHub 星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FDicklesworthstone\u002Fyour-source-to-prompt.html?style=social)](https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fyour-source-to-prompt) |\n| [ingest](https:\u002F\u002Fgithub.com\u002Fsammcj\u002Fingest)                                               | [![GitHub 星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fsammcj\u002Fingest?style=social)](https:\u002F\u002Fgithub.com\u002Fsammcj\u002Fingest)                                                          |\n| [onefilellm](https:\u002F\u002Fgithub.com\u002Fjimmc414\u002Fonefilellm)                                     | [![GitHub 星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fjimmc414\u002Fonefilellm?style=social)](https:\u002F\u002Fgithub.com\u002Fjimmc414\u002Fonefilellm)                                              |\n| [repo2file](https:\u002F\u002Fgithub.com\u002Fartkulak\u002Frepo2file)                                       | [![GitHub 星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fartkulak\u002Frepo2file?style=social)](https:\u002F\u002Fgithub.com\u002Fartkulak\u002Frepo2file)                                                |\n| [clipsource](https:\u002F\u002Fgithub.com\u002Fstrizzo\u002Fclipsource)                                      | [![GitHub 星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fstrizzo\u002Fclipsource?style=social)](https:\u002F\u002Fgithub.com\u002Fstrizzo\u002Fclipsource)                                                |\n\n**其他工具**\n\n*   **r2md：** 一个 Rust 库（[https:\u002F\u002Fcrates.io\u002Fcrates\u002Fr2md](https:\u002F\u002Fcrates.io\u002Fcrates\u002Fr2md)）。\n*   **repo2txt：** 一个基于网页的工具（[https:\u002F\u002Fchathub.gg\u002Frepo2txt](https:\u002F\u002Fchathub.gg\u002Frepo2txt) 和 [https:\u002F\u002Frepo2txt.simplebasedomain.com\u002Flocal.html](https:\u002F\u002Frepo2txt.simplebasedomain.com\u002Flocal.html)）。\n*   **repoprompt：** 一个网络服务（[https:\u002F\u002Fwww.repoprompt.com](https:\u002F\u002Fwww.repoprompt.com)）。\n\n**VSCode 扩展**\n\n*   **代码库转 Markdown：**（[https:\u002F\u002Fmarketplace.visualstudio.com\u002Fitems?itemName=DVYIO.combine-open-files](https:\u002F\u002Fmarketplace.visualstudio.com\u002Fitems?itemName=DVYIO.combine-open-files)）","# CodeWeaver 快速上手指南\n\nCodeWeaver 是一款命令行工具，可将代码库递归扫描并转换为单个可导航的 Markdown 文档。它非常适合用于代码分享、生成文档或为 AI\u002FML 工具提供上下文。\n\n## 环境准备\n\n*   **操作系统**：支持 Linux、macOS 和 Windows。\n*   **前置依赖**：\n    *   **方案 A（推荐）**：已安装 **Go 1.18** 或更高版本。\n    *   **方案 B**：若无 Go 环境，可直接下载预编译的可执行文件。\n\n## 安装步骤\n\n### 方式一：使用 Go 安装（推荐）\n\n如果你已配置好 Go 环境，运行以下命令即可自动下载并安装最新版本的 `codeweaver`：\n\n```bash\ngo install github.com\u002Ftesserato\u002FCodeWeaver@latest\n```\n\n如需安装特定版本，请将 `@latest` 替换为版本号（例如 `@v1.0.0`）：\n\n```bash\ngo install github.com\u002Ftesserato\u002FCodeWeaver@vX.Y.Z\n```\n\n> **注意**：安装完成后，请确保 `$GOPATH\u002Fbin` 已添加到你的系统环境变量 `PATH` 中，以便在任意目录运行命令。\n\n### 方式二：下载预编译文件\n\n1.  访问 [Releases 页面](https:\u002F\u002Fgithub.com\u002Ftesserato\u002FCodeWeaver\u002Freleases) 下载对应你操作系统的二进制文件。\n2.  （Linux\u002FmacOS）赋予执行权限：\n\n```bash\nchmod +x codeweaver\n```\n\n3.  将文件移动到系统路径（如 `\u002Fusr\u002Flocal\u002Fbin`）或直接在该目录下使用。\n\n## 基本使用\n\n### 1. 最简单用法\n\n在当前项目根目录下运行以下命令，将自动生成名为 `codebase.md` 的文件，包含当前目录的文件树结构及所有文件内容（默认排除 `.git` 等目录）：\n\n```bash\ncodeweaver\n```\n\n### 2. 指定输入与输出\n\n扫描指定目录并保存为自定义文件名：\n\n```bash\ncodeweaver -input=my_project -output=project_docs.md\n```\n\n### 3. 常用场景示例\n\n*   **仅包含特定类型文件**（例如只处理 Go 和 Markdown 文件）：\n    ```bash\n    codeweaver -include=\"\\.go$,\\.md$\"\n    ```\n\n*   **排除特定目录或文件**（例如排除日志和构建目录）：\n    ```bash\n    codeweaver -ignore=\"\\.log,temp,build\"\n    ```\n\n*   **生成文档并直接复制到剪贴板**：\n    ```bash\n    codeweaver -clipboard\n    ```\n\n*   **查看帮助信息**：\n    ```bash\n    codeweaver -h\n    ```","资深后端工程师小林正需要将一个包含数十个微服务模块的复杂 Go 项目代码库，完整提供给外部 AI 助手进行架构重构建议和安全审计。\n\n### 没有 CodeWeaver 时\n- **手动拼接效率极低**：不得不逐个打开文件复制粘贴到聊天窗口，耗时数小时且极易遗漏关键配置文件。\n- **上下文结构丢失**：AI 只能看到零散的代码片段，无法理解项目的目录层级和模块间的依赖关系，导致分析结果片面。\n- **敏感信息泄露风险**：在手动筛选过程中，容易误将 `.env` 密钥文件或本地日志等不应上传的内容一并发送。\n- **迭代维护困难**：一旦代码发生变更，重新整理全套上下文需要重复上述繁琐过程，难以进行多轮深度对话。\n\n### 使用 CodeWeaver 后\n- **一键生成全景文档**：只需运行 `codeweaver -ignore \"*.log,.env\"`，瞬间将整个项目转化为单个结构清晰的 Markdown 文件，完整保留目录树。\n- **智能过滤保障安全**：利用正则表达式精准排除敏感文件和无关依赖（如 `node_modules`），确保输入给 AI 的内容纯净且合规。\n- **结构化上下文增强**：生成的文档天然带有文件路径标识，AI 能准确识别代码归属，从而给出符合项目架构的深度优化方案。\n- **剪贴板无缝流转**：通过 `-clipboard` 参数直接将结果复制到剪贴板，立刻粘贴至 AI 对话框，将准备时间从小时级缩短至秒级。\n\nCodeWeaver 通过将分散的代码库编织为单一、可导航的上下文文档，彻底解决了开发者向 AI 投喂大型项目时的效率与安全难题。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftesserato_CodeWeaver_d81baab9.png","tesserato","Carlos Tarjano","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Ftesserato_782fe807.jpg","Digital signal processing, audio synthesis, machine learning, and natural language processing. (https:\u002F\u002Ftesserato.web.app\u002F)",null,"Porto","tesserato@hotmail.com","tesserato.web.app","https:\u002F\u002Fgithub.com\u002Ftesserato",[85,89],{"name":86,"color":87,"percentage":88},"Go","#00ADD8",98.3,{"name":90,"color":91,"percentage":92},"PowerShell","#012456",1.7,728,57,"2026-03-30T07:50:18","MIT","Linux, macOS, Windows","无需求","未说明",{"notes":101,"python":102,"dependencies":103},"该工具是基于 Go 语言开发的命令行工具，无需 Python 环境或 GPU。可通过 'go install' 安装或下载预编译的可执行文件使用。在 Linux\u002FmacOS 上下载预编译包后需赋予执行权限 (chmod +x)。","不需要",[104],"Go 1.18+",[15,14,13,53],[107,108,109,110],"ai","cli","cli-app","cursor","2026-03-27T02:49:30.150509","2026-04-06T05:17:11.226477",[],[115,120,125,130,135,140,145,150,155,160,165,170,175,180,185],{"id":116,"version":117,"summary_zh":118,"released_at":119},81707,"v0.0.15","## 更改日志\n* 350c248b1f273b6421b2fbab2d942ade7cfb1f64 功能：添加 -instruction 标志，用于在输出前添加文本\n* 4e2172355c26d132f4c9ce27008ff9acd6147268 功能：检测并排除二进制文件内容\n* bc53c83ddc1584b0c74f7bc66c9632ec33cf6347 功能：实现动态代码围栏\n* 3884b5c29ddcb4e7f5bc9e5c18a417eee0860812 功能：优化帮助输出\n* e603bc794dede388eb4666d2bbd8bd8f67544f25 功能：打印包含和排除的文件扩展名摘要\n* b711459292b09af8d7191846df1330955afd4826 功能：从树状视图中修剪空目录，并移除文件夹颜色\n* b37678a061da0b5e6083ce286b72a83c9152696c 修复：改进注释\n* b80e46dc9b5ccdd44e4f9c4a0b0a448759a026a2 修复：规范化日志路径，并统一树状视图的缩进\n\n\n---\n由 [GoReleaser](https:\u002F\u002Fgithub.com\u002Fgoreleaser\u002Fgoreleaser) 发布。","2025-12-03T23:24:45",{"id":121,"version":122,"summary_zh":123,"released_at":124},81708,"v0.0.14","## 更改日志\n* cf3d2b711987ac3cc2926f74d0f6f09eb04f2f08 移除了版本变量\n* 6cdc3edd603c20351df3975b7e0e737aa7a07fd0 统一了 shouldprocess 调用\n* 29360f196db1fd7d6c067ca5043beebbb0fd8338 相应更新了测试\n\n\n---\n由 [GoReleaser](https:\u002F\u002Fgithub.com\u002Fgoreleaser\u002Fgoreleaser) 发布。\n","2025-05-12T23:16:57",{"id":126,"version":127,"summary_zh":128,"released_at":129},81709,"v0.0.13","## 更改日志\n* e90c963a316c92013277e5f88436af9c0828b9d4 改进路径过滤，添加测试，并重构结构\n* 257966c53fb99425bc7ecb56fb10ed996abf1242 修改 build_and_run.ps1 以包含 coverage.out\n* 7b0c651b2928b8e218d4243319085548872bfacf 扩展测试\n* 7df3ad96fe1f95694d2c02bac61b1c59199fbfb7 修复 goreleaser 未设置版本等的 bug\n* 8ab28fd1b83be324c1e8e1a6a6313e5e39fe1428 修复递归中的一个小 bug\n* 0caa650dc354e0508cbee38307785f58ed251c2b 改进 main.go 的组织结构\n* 188adbee7c13ee4c0b024c184a932ad5674b6ef2 改进 main_test.go 的组织结构\n* a9858302a67174668b2e81ccce4d12f91044d9f5 改进打印帮助信息的测试\n* 41c72b490b6dcee2c57796c9d579470d7c79b3be 从 main_test.go 中移除 \"io\u002Fioutil\"\n* f63d2c20364bbb1d5ca8bc46fbb3d8a77ce57f44 移除 test_root\n* 2c538af6bf11d48356d9b6da4d81616cb8b5056d 更新 build_and_run.ps1，使其忽略 coverage 和 DRAFT.md\n* 7fd1a95316b2e32e11750cc1b63ac3315e37c7ff 更新 run_tests.ps1，使其输出 coverage.out\n\n\n---\n由 [GoReleaser](https:\u002F\u002Fgithub.com\u002Fgoreleaser\u002Fgoreleaser) 发布。","2025-05-12T22:09:17",{"id":131,"version":132,"summary_zh":133,"released_at":134},81710,"v0.0.12","## 更改日志\n* 6ebad7dc177010364d34172f66dfb6ea50ecf67a 改进了 main.go 的组织结构\n* 5838ad564f92da592d1b47efb7a8b155772f3801 改进了 main_test.go 的组织结构\n\n\n---\n由 [GoReleaser](https:\u002F\u002Fgithub.com\u002Fgoreleaser\u002Fgoreleaser) 发布。\n","2025-05-12T20:53:09",{"id":136,"version":137,"summary_zh":138,"released_at":139},81711,"v0.0.11","## 更改日志\n* e90c963a316c92013277e5f88436af9c0828b9d4 改进路径过滤，添加测试，并重构结构\n* 6c0fe4a9532438e7f9ab696d20894f90d58ccf49 修改 build_and_run.ps1，使其包含 coverage.out\n* 7ca6685eded28f393d4150f2a312f6bac286e310 扩展测试\n* b75762f4fe0bccfe61b8f37f1eac17ebbd89a09c 修复 goreleaser 未设置版本等的 bug\n* 403ad8a97b484a292405e242bea27ec8d60b722a 修复递归中的一个小 bug\n* 8cc3cf9c781492782fdab027628b8c51b08819fa pg\n* 5a0eb77c853f0beab9570bc1b52fb524b0614d03 从 main_test.go 中移除 \"io\u002Fioutil\"\n* 2c538af6bf11d48356d9b6da4d81616cb8b5056d 更新 build_and_run.ps1，使其忽略 coverage 和 DRAFT.md\n* 908502df6ba2ea004d3a847709e60c6796a0e8b1 更新 run_tests.ps1，使其输出 coverage.out\n\n\n---\n由 [GoReleaser](https:\u002F\u002Fgithub.com\u002Fgoreleaser\u002Fgoreleaser) 发布。","2025-05-12T19:44:36",{"id":141,"version":142,"summary_zh":143,"released_at":144},81712,"v0.0.10","## 更改日志\n* 4eadfab72bcdb8dcdea961d72e96aac4803a6f9f 修复：在写入内容时正确跳过已忽略的目录\n\n\n---\n由 [GoReleaser](https:\u002F\u002Fgithub.com\u002Fgoreleaser\u002Fgoreleaser) 发布。\n","2025-05-05T12:38:12",{"id":146,"version":147,"summary_zh":148,"released_at":149},81713,"v0.0.9","## 更改日志\n* a4e548928676dfc70e9f949890f3d17df1a3a737 在 README 中添加 -version 选项\n* 77b008f660bcf74306aca7119619d27a95454e0e 同时在示例中将 -dir 重命名为 -input（README）\n* 684205e3c58d158cc868dda4c7d5c1cf11ffbbf9 合并拉取请求 #7，来自 alexandregv 的 main 分支\n* f9c484c8dab38d7ede214bb8866b215612db8c1e 合并拉取请求 #8，来自 bytesoverflow 的 main 分支\n* 7c6589caf0cc77f28ef9e9241da0547f15ad0381 将 README 中的 -dir 重命名为 -input\n* 1b869297f29b01622bc3877439a0be47fca9365b 更新 README.md\n* 29f37643a70ac32fdb9dc9b5834c3ed3688f61ee 在 README 中添加了剪贴板标志的相关信息\n* 8387cb316c0e6ff452e9a5538102c661214dea3e 添加了 include 标志\n* 673b30835d74e63522c6f3e2679056bf28341ca4 添加了自动将结果复制到剪贴板的支持\n* d812878a8eec0da95354f436e7f2419f3dcb5173 功能：添加 include 模式过滤，以实现更灵活的文件选择\n* 1596bf33d344cbc331d18eb3138f4ea551bfe5e6 修复了示例代码库\n* 5652ef170e49ac92bb3c50d950c50ad940609aee 移除了 version 标志\n* b7cf784837fa49b64353f642a1f201ba3d3d6bff 更新了代码库\n* 271d05f20a311555eb5c8254ea1105c108e8dc33 更新了 README\n* 05ec9ff7b726f32384752eac8fc5f49305c75b67 更新了 README，加入了替代方案\n\n\n---\n由 [GoReleaser](https:\u002F\u002Fgithub.com\u002Fgoreleaser\u002Fgoreleaser) 发布。","2025-03-12T13:28:57",{"id":151,"version":152,"summary_zh":153,"released_at":154},81714,"v0.0.8","## 更改日志\n* 899c0df752578f44b0e6d317580c1b0e7f57ff28 添加了构建脚本，用于使用 Go Releaser 在本地构建\n* a42200c5cc4f177a45606f592c9315c39e95a1fe 添加发布脚本，用于在本地发布\n* d6ecf14d57af7a5bc81b7603960328ce6c42a259 移除了自动版本信息，替换为硬编码的版本号\n\n\n---\n由 [GoReleaser](https:\u002F\u002Fgithub.com\u002Fgoreleaser\u002Fgoreleaser) 发布。","2025-02-14T13:10:49",{"id":156,"version":157,"summary_zh":158,"released_at":159},81715,"v0.0.7","## 更改日志\n* 899c0df752578f44b0e6d317580c1b0e7f57ff28 添加了构建脚本，用于使用 Go Releaser 在本地构建\n* a42200c5cc4f177a45606f592c9315c39e95a1fe 添加发布脚本，用于在本地发布\n* a2790f79368fae70a9f738e45498917ae4c3a02e 修改了时间戳格式\n\n\n---\n由 [GoReleaser](https:\u002F\u002Fgithub.com\u002Fgoreleaser\u002Fgoreleaser) 发布。\n","2025-02-14T11:45:26",{"id":161,"version":162,"summary_zh":163,"released_at":164},81716,"v0.0.6","## 更改日志\n* 1b33b18aabf888a6bd3fc2494cb3637ce3945eb0 修改了 goreleaser.yaml 中的标志位置\n* 7ed2e29a160d2eddf3f2734389014ef46acdba22 在运行 goreleaser build 之前先进行构建测试\n\n\n---\n由 [GoReleaser](https:\u002F\u002Fgithub.com\u002Fgoreleaser\u002Fgoreleaser) 发布。\n","2025-02-14T08:21:14",{"id":166,"version":167,"summary_zh":168,"released_at":169},81717,"v0.0.4","## Changelog\n* f23e4357ec20b29bb1d121f73845cf8d7d701217 replaced -timestamp command with -version command\n\n\n---\nReleased by [GoReleaser](https:\u002F\u002Fgithub.com\u002Fgoreleaser\u002Fgoreleaser).\n","2025-02-14T07:33:45",{"id":171,"version":172,"summary_zh":173,"released_at":174},81718,"v0.0.3","## Changelog\n* a196b1eb3103d561b0bfed006cc31e3ee89401e4 Fixed a bug in the generated tree\n\n\n---\nReleased by [GoReleaser](https:\u002F\u002Fgithub.com\u002Fgoreleaser\u002Fgoreleaser).\n","2025-02-14T07:04:17",{"id":176,"version":177,"summary_zh":178,"released_at":179},81719,"v0.0.2","## Changelog\n* 241f985710a38c720a52e8163a493048e196a154 minor renaming\n\n\n---\nReleased by [GoReleaser](https:\u002F\u002Fgithub.com\u002Fgoreleaser\u002Fgoreleaser).\n","2025-02-12T10:08:47",{"id":181,"version":182,"summary_zh":183,"released_at":184},81720,"v0.0.1","## Changelog\n* a4c044821435b443308108293904f91a65a9113f implemented improved algorithm\n* e3ffbab3f7ad0a5346fa92576f0fedeaefd07a65 updated readme\n\n\n---\nReleased by [GoReleaser](https:\u002F\u002Fgithub.com\u002Fgoreleaser\u002Fgoreleaser).\n","2025-02-12T09:45:51",{"id":186,"version":187,"summary_zh":188,"released_at":189},81721,"v0.0.0","## Changelog\n* 5e7b9da7baddc03dbde10c7507f88fcbb8f93d92 Create LICENSE\n* 999d26754290d88faf8799e5e10098163e5bacda Merge remote-tracking branch 'origin\u002Fmain'\n* eea42f70425ef08a4f2eba4096a2a662609db289 added go releaser\n* 4f856a92005f4cd770c79c701d0aa735f8507aef added test folder\n* 716ce02d7e0b9f24ce8c6b6f3277e6cef53e5f3f basic implementation\n* a4019efb1b609cee4b3ef8fbbcf0d3b59e05897e implementing tree\n* 57fd5a22b76947c683f4f735559fbacceedc214d init\n* 92daca29aa35360605d3fdf6262e7c0cc3bae3a6 updated executable name to codeweaver\n\n\n---\nReleased by [GoReleaser](https:\u002F\u002Fgithub.com\u002Fgoreleaser\u002Fgoreleaser).\n","2025-02-12T00:03:39"]