CodeWeaver
CodeWeaver 是一款命令行工具,能将整个代码库“编织”成一份单一、可导航的 Markdown 文档。它通过递归扫描项目目录,生成清晰的树状文件结构,并将每个文件的完整代码内容嵌入对应的 Markdown 代码块中。
在开发协作或对接 AI 模型时,开发者常面临代码文件分散、难以一次性完整上下文输入的痛点。CodeWeaver 完美解决了这一问题,它将零散的源码整合为连贯的文本流,极大简化了代码审查、技术文档编写以及向大语言模型投喂完整项目上下文的过程。
这款工具特别适合软件开发者、技术研究人员以及需要频繁与 AI 编程助手交互的用户。无论是想要快速分享项目全貌,还是希望让 AI 基于完整代码库提供重构建议,CodeWeaver 都能提供高效支持。
其技术亮点在于灵活的过滤机制:支持使用正则表达式精准定义包含或忽略的文件路径,让用户能轻松排除 .git、node_modules 等无关目录。此外,它还支持将生成的文档直接复制到剪贴板,并可单独导出文件路径清单,配合简洁的命令行操作,让代码整理工作变得既专业又轻松。
使用场景
资深后端工程师小林正需要将一个包含数十个微服务模块的复杂 Go 项目代码库,完整提供给外部 AI 助手进行架构重构建议和安全审计。
没有 CodeWeaver 时
- 手动拼接效率极低:不得不逐个打开文件复制粘贴到聊天窗口,耗时数小时且极易遗漏关键配置文件。
- 上下文结构丢失:AI 只能看到零散的代码片段,无法理解项目的目录层级和模块间的依赖关系,导致分析结果片面。
- 敏感信息泄露风险:在手动筛选过程中,容易误将
.env密钥文件或本地日志等不应上传的内容一并发送。 - 迭代维护困难:一旦代码发生变更,重新整理全套上下文需要重复上述繁琐过程,难以进行多轮深度对话。
使用 CodeWeaver 后
- 一键生成全景文档:只需运行
codeweaver -ignore "*.log,.env",瞬间将整个项目转化为单个结构清晰的 Markdown 文件,完整保留目录树。 - 智能过滤保障安全:利用正则表达式精准排除敏感文件和无关依赖(如
node_modules),确保输入给 AI 的内容纯净且合规。 - 结构化上下文增强:生成的文档天然带有文件路径标识,AI 能准确识别代码归属,从而给出符合项目架构的深度优化方案。
- 剪贴板无缝流转:通过
-clipboard参数直接将结果复制到剪贴板,立刻粘贴至 AI 对话框,将准备时间从小时级缩短至秒级。
CodeWeaver 通过将分散的代码库编织为单一、可导航的上下文文档,彻底解决了开发者向 AI 投喂大型项目时的效率与安全难题。
运行环境要求
- Linux
- macOS
- Windows
无需求
未说明

快速开始
CodeWeaver:从你的代码库生成 Markdown 文档
CodeWeaver 是一款命令行工具,可将你的代码库转换为一个单一、可导航的 Markdown 文档。它会递归扫描指定目录,创建项目文件结构的树状表示,并将每个文件的内容嵌入到 Markdown 代码块中。通过提供整合且易读的 Markdown 输出,这简化了代码库的共享、文档化以及与 AI/ML 工具的集成。
当前仓库的输出可以在这里找到 here。
核心特性
- 全面的代码库文档: 生成一个 Markdown 文件,以清晰的树状格式概述项目的目录和文件结构。
- 包含代码内容: 将每个文件的完整内容嵌入到 Markdown 文档中,并根据文件扩展名使用代码块。
- 灵活的路径过滤: 使用正则表达式定义
include和/或ignore模式,让你精确控制哪些文件会被包含。 - 可选路径记录: 将包含和排除的文件路径列表分别保存到单独的文件中,以便进行详细跟踪。
- 剪贴板集成: 可选择将生成的 Markdown 复制到剪贴板,方便粘贴。
- 简洁的 CLI: 直观易用的命令行界面。
安装
使用 go install(推荐):
需要 Go 1.18 或更高版本。
go install github.com/tesserato/CodeWeaver@latest
安装特定版本:
go install github.com/tesserato/CodeWeaver@vX.Y.Z # 将 X.Y.Z 替换为所需版本
从预编译的可执行文件:
从 发布页面 下载适用于你操作系统的相应可执行文件。
下载后,赋予可执行权限:
chmod +x codeweaver # 在 Linux/macOS 上
使用方法
codeweaver [选项]
获取帮助:
codeweaver -h
选项:
| 选项 | 描述 | 默认值 |
|---|---|---|
-input <directory> |
要扫描的根目录。 | .(当前目录) |
-output <filename> |
输出 Markdown 文件的名称。 | codebase.md |
-ignore "<regex patterns>" |
用于排除路径的逗号分隔的正则表达式列表。例如:\.git.*,node_modules,*.log |
\.git.* |
-include "<regex patterns>" |
逗号分隔的正则表达式列表。仅匹配这些模式的路径会被包含。例如:\.go$,\.md$ |
无 |
-included-paths-file <filename> |
将包含的路径列表保存到此文件。 | 无 |
-excluded-paths-file <filename> |
将排除的路径列表保存到此文件。 | 无 |
-clipboard |
将生成的 Markdown 复制到剪贴板。 | false |
-version |
显示版本并退出。 | |
-help |
显示此帮助信息并退出。 |
理解 -include 和 -ignore
这些标志控制哪些文件和目录会被包含在生成的文档中。
-ignore(黑名单): 排除匹配任何给定正则表达式的文件/目录。-include(白名单): 仅包含匹配至少一个给定正则表达式的文件/目录。如果使用了-include,默认情况下其他所有内容都会被排除。
行为表:
-ignore |
-include |
行为 |
|---|---|---|
| 无 | 无 | 包含所有文件/目录,但不包括输入目录本身(.)。 |
| 是 | 无 | 排除匹配 -ignore 的文件/目录;包含其余所有内容。 |
| 无 | 是 | 仅包含匹配 -include 的文件/目录。其余所有内容都被排除。 |
| 是 | 是 | 包含同时满足至少一个 -include 模式且不匹配任何 -ignore 模式的文件/目录。-include 创建白名单,而 -ignore 则对其进行过滤。 |
示例
1. 基本用法:
codeweaver
在当前目录下创建 codebase.md,记录代码库的结构和内容(排除与默认忽略模式 \.git.* 匹配的路径)。
2. 自定义输入输出:
codeweaver -input=my_project -output=project_docs.md
处理 my_project 目录,并将输出保存到 project_docs.md 文件中。
3. 忽略特定文件/目录:
codeweaver -ignore="\.log,temp,build"
排除名为 .log、temp 或 build 的文件或目录。
4. 仅包含特定类型的文件:
codeweaver -include="\.go$,\.md$"
仅包含 Go(.go)和 Markdown(.md)文件。
5. 结合 include 和 ignore:
codeweaver -include="\.go$,\.md$" -ignore="vendor,test"
包含 Go 和 Markdown 文件,但排除路径中包含 vendor 或 test 的文件。
6. 保存包含与排除的路径:
codeweaver -ignore="node_modules" -included-paths-file=included.txt -excluded-paths-file=excluded.txt
生成 codebase.md,并将包含的路径保存到 included.txt,排除的路径保存到 excluded.txt。
7. 复制到剪贴板:
codeweaver -clipboard
生成 codebase.md 并将其内容复制到剪贴板。
8. 正则表达式示例:
.:匹配任意单个字符。*:匹配前面字符出现零次或多次。+:匹配前面字符出现一次或多次。?:匹配前面字符出现零次或一次。[abc]:匹配方括号内的任意一个字符。[^abc]:匹配不在方括号内的任意字符。[a-z]:匹配 a 到 z 范围内的任意字符。^:匹配字符串的开头。$:匹配字符串的结尾。\.:匹配字面意义上的点(.)。由于.在正则表达式中有特殊含义,因此需要转义。\|:用于选择(OR)。例如,a\|b匹配 “a” 或 “b”。.*\.py[cod]$:匹配以 pyc、pyd 或 pyo 结尾的 Python 文件。.*\.pdf:匹配 PDF 文件。(dir1\|dir2):匹配dir1或dir2。
9. 完整示例:
codeweaver -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
该命令将:
- 处理当前目录(
.)。 - 生成文档并保存到
codebase.md。 - 排除与
.git.*、.+\.exe、输出文件(codebase.md)以及保存排除路径的文件匹配的文件。 - 仅包含扩展名为 .go、.md、.ps1、.yaml、.txt 和 .csv 的文件。
- 将排除的文件列表保存到名为
excluded_paths.txt的文件中。 - 将生成的 Markdown 内容复制到系统剪贴板。
贡献
欢迎贡献!请在项目的 GitHub 仓库中提交问题或拉取请求。
许可证
CodeWeaver 根据 MIT 许可证 发布。
星标历史
替代方案
本节列出了功能相似或重叠的工具。
GitHub 仓库
其他工具
- r2md: 一个 Rust 库(https://crates.io/crates/r2md)。
- repo2txt: 一个基于网页的工具(https://chathub.gg/repo2txt 和 https://repo2txt.simplebasedomain.com/local.html)。
- repoprompt: 一个网络服务(https://www.repoprompt.com)。
VSCode 扩展
版本历史
v0.0.152025/12/03v0.0.142025/05/12v0.0.132025/05/12v0.0.122025/05/12v0.0.112025/05/12v0.0.102025/05/05v0.0.92025/03/12v0.0.82025/02/14v0.0.72025/02/14v0.0.62025/02/14v0.0.42025/02/14v0.0.32025/02/14v0.0.22025/02/12v0.0.12025/02/12v0.0.02025/02/12相似工具推荐
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
NextChat
NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
ragflow
RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。
