每周从我的 GitHub Stars 中精选值得关注的开源项目,按主题分类点评。这是第一期,涵盖本周 star 的 8 个项目。

本周概览

本周共 star 了 8 个项目,横跨 5 个领域:

分类项目数代表项目
Claude Code 生态3claude-code-best-practice, oh-my-claudecode, claude-howto
AI Agent & 浏览器自动化1browser-use
AI 语音1VibeVoice
工程效率工具2sherlock, fastfetch
CAD / 3D 建模1build123d

语言分布:Python 占绝对主导(5/8),TypeScript 和 C 各 1 个,HTML 1 个。

Stars 排行

#RepoStars语言
1browser-use/browser-use85.1kPython
2sherlock-project/sherlock74.4kPython
3microsoft/VibeVoice29.1kPython
4shanraisshan/claude-code-best-practice25.4kHTML
5fastfetch-cli/fastfetch21.3kC
6Yeachan-Heo/oh-my-claudecode17.3kTypeScript
7luongnv89/claude-howto9.4kPython
8gumyr/build123d1.6kPython

Claude Code 生态

Claude Code 正在快速形成自己的工具生态。本周 star 的三个项目分别覆盖了最佳实践参考多 Agent 编排系统化教程三个层面,互为补充。

shanraisshan/claude-code-best-practice

shanraisshan/claude-code-best-practice

practice makes claude perfect -- Claude Code 社区最佳实践知识库

HTML 25.4k MIT

背景与动机

Claude Code 是一个强大的 AI 编程助手,但"强大"并不等于"好用"。很多开发者初次使用时会遇到一个共同困惑:明明模型能力很强,为什么我的产出质量不稳定?这就像买了一辆赛车却用自动挡模式在市区堵车 – 工具的潜力远未被释放。claude-code-best-practice 的出发点就是:将社区中散落的高效用法汇聚成一本系统化的操作手册,让每个人都能把 Claude Code 的性能推到极限。

项目概览

社区驱动的 Claude Code 最佳实践知识库,曾登顶 GitHub Trending #1,系统整理了 86+ 条经过验证的使用技巧。

核心概念与架构

整个知识库围绕 Claude Code 的核心能力分为六大板块:

  • Prompting & Planning – 如何编写高效的 CLAUDE.md,利用 Markdown 结构化指令让 Claude 精准理解项目上下文、编码规范和架构约束
  • Skills & Hooks – 自定义技能(slash commands)和生命周期钩子的配置范式,包括 pre-commit 校验、自动格式化等
  • Agents & Workflows – 多 Agent 编排模式,展示 Command -> Agent -> Skill 的完整调用链
  • Git & PR Integration – 版本控制高级用法,从自动生成 commit message 到 PR review 工作流
  • MCP (Model Context Protocol) – 外部工具集成协议的最佳实践
  • Performance Tuning – token 优化、上下文窗口管理、模型选择策略

目录结构以单页 HTML 为主体,配合 SVG 架构图和示例配置文件,无需构建工具即可在浏览器中阅读。

工作原理

项目本身是静态知识库,核心价值在于其编排工作流图(Orchestration Workflow)。该图用 SVG 可视化了 Claude Code 内部的执行流程:

  1. 用户输入 prompt 或 slash command
  2. Claude Code 解析指令,匹配对应的 Skill 或 Agent
  3. Agent 根据 CLAUDE.md 中的上下文约束执行任务
  4. Hooks 在关键节点触发(如文件写入前、commit 前)
  5. 结果返回用户,可选择性地进入 verify/fix 循环
<!-- CLAUDE.md 示例片段 -->
## 项目约束
- 使用 TypeScript strict mode
- 所有公共 API 必须有 JSDoc 注释
- 测试覆盖率不低于 80%

## 代码风格
- 优先使用函数式编程范式
- 避免 any 类型

技术亮点

与零散的博客文章和 Twitter 帖子不同,这个项目的独特价值在于系统性社区验证。每条实践都来自真实项目的反馈,标注了适用场景和注意事项。编排工作流图更是独一无二 – 这是目前唯一一份清晰展示 Claude Code 内部 Agent 调度机制的公开文档。

设计哲学

“Practice makes Claude perfect” – 项目名就是设计哲学。它不试图教你"Claude Code 是什么",而是直接告诉你"怎样用才最好"。内容组织遵循"场景驱动"原则:先描述你遇到的问题,再给出经过验证的解决方案。

适用场景与上手指南

已经在日常开发中使用 Claude Code 的开发者,特别是希望优化 CLAUDE.md 配置、构建自定义 Skill、或理解 Agent 编排机制的用户。建议收藏后按需查阅,而非一次读完。

# 直接在浏览器中打开
open https://github.com/shanraisshan/claude-code-best-practice
# 或克隆到本地作为离线参考
git clone https://github.com/shanraisshan/claude-code-best-practice.git

Yeachan-Heo/oh-my-claudecode

Yeachan-Heo/oh-my-claudecode

Teams-first Multi-agent orchestration for Claude Code

TypeScript 17.3k MIT

背景与动机

单个 Claude Code 实例就像一个全能但孤独的程序员 – 它能写代码、做测试、改 bug,但面对大型项目时,一个人终究忙不过来。想象一下:如果你能同时调动一个架构师、三个开发者、一个测试工程师、一个代码审查员,每个人各司其职、并行工作,效率会提升多少?oh-my-claudecode 就是这个"AI 团队调度器",它把单点的 Claude Code 扩展成了一个多角色、多阶段、可并行的 Agent 团队

项目概览

Teams-first 多 Agent 编排框架,为 Claude Code 提供 32 个专业化 Agent 角色和多种执行模式(Autopilot / Ultrawork / Ralph),支持智能模型路由以节省 30-50% token 成本。

核心概念与架构

架构围绕三个核心层展开:

  • Agent Layer – 32 个预定义角色(Architect、Researcher、Designer、QA Engineer、Security Auditor 等),每个角色有独立的 system prompt 和工具权限
  • Pipeline Layer – staged pipeline 定义任务执行流程:plan -> PRD -> exec -> verify -> fix loop,支持阶段间的数据传递和条件分支
  • Orchestrator Layer – 顶层调度器,根据任务复杂度选择执行模式,管理 Agent 生命周期和并发控制

关键目录结构:

oh-my-claudecode/
├── agents/          # 32 个 Agent 角色定义
├── pipelines/       # 预设 pipeline 模板
├── orchestrator/    # 调度引擎核心
├── model-router/    # 智能模型选择
└── tmux-workspace/  # 多终端协作支持

工作原理

以一个典型的 “Team Mode” 执行流程为例:

  1. 用户提交任务描述(如 “重构用户认证模块”)
  2. Architect Agent 分析需求,生成 PRD 和任务拆分方案
  3. Orchestrator 将子任务分配给多个 Developer Agent,并行执行
  4. 每个子任务完成后,QA Agent 自动运行测试
  5. 若测试失败,进入 Ralph 模式(持续 verify/fix 循环),直至通过
  6. Reviewer Agent 做最终代码审查
// 启动 Team Mode 的简化示例
import { Orchestrator } from 'oh-my-claudecode';

const orc = new Orchestrator({
  mode: 'team',
  modelRouter: {
    simple: 'haiku',     // 简单任务省 token
    complex: 'opus',     // 复杂任务用强模型
  },
  maxConcurrency: 4,
});

await orc.run('Refactor the auth module with OAuth2 support');

技术亮点

智能模型路由是最大亮点。系统会根据任务复杂度自动选择模型 – 简单的文件重命名用 Haiku(成本低、速度快),复杂的架构决策用 Opus(推理强、质量高)。实测可节省 30-50% 的 token 开销。此外,tmux 工作区支持 Claude Code、Codex、Gemini CLI 三者在分屏中协作,实现跨模型调度。

设计哲学

命名灵感来自 oh-my-zsh – 就像 oh-my-zsh 通过插件生态让 Zsh 变得强大易用,oh-my-claudecode 希望成为 Claude Code 的"插件管理器 + 编排器"。核心理念是 “Teams-first”:不是让一个 AI 做所有事,而是让多个专业化 AI 像团队一样协作。

适用场景与上手指南

适合多人协作团队、需要处理大型重构任务、或希望降低 AI 调用成本的开发者。

npm install -g oh-my-claudecode
# 初始化配置
omcc init
# 以 Team Mode 启动
omcc run --mode team "Build a REST API for user management"

luongnv89/claude-howto

luongnv89/claude-howto

A visual, example-driven guide to Claude Code -- from basic concepts to advanced agents

Python 9.4k MIT

背景与动机

Claude Code 的官方文档是"参考手册"风格 – 全面但不适合从零开始学习。就像学开车,你不会先读完整本交通法规再上路,而是需要一个教练带你从"启动引擎"开始,逐步学到"高速变道"。claude-howto 就是那个教练:它用可视化流程图 + 动手练习 + 渐进式课程结构,把 Claude Code 从入门到高级的全部知识点串成一条清晰的学习路径。

项目概览

结构化、可视化的 Claude Code 系统教程,包含 10 个渐进式模块,支持 15 分钟快速入门或 11-13 小时完整学习。已有 690+ fork,社区活跃度高。

核心概念与架构

课程采用渐进式模块化设计,10 个模块按难度递进:

  1. Getting Started – 安装、基础命令、第一个对话
  2. Slash Commands – 内置命令和自定义命令
  3. Memory & ContextCLAUDE.md 和项目上下文管理
  4. Skills – 创建和分享可复用的技能包
  5. Hooks – 生命周期钩子和自动化触发器
  6. MCP Integration – Model Context Protocol 外部工具集成
  7. Subagents – 子 Agent 调度和任务分解
  8. Plugins – 插件系统和社区生态
  9. Advanced Patterns – 复杂工作流编排
  10. Best Practices – 性能优化和团队协作

每个模块包含:Mermaid 流程图(可视化概念关系)、复制即用的配置模板练习题和自测常见错误和排障指南

工作原理

教程本身是一组 Markdown 文件,通过 Python 脚本支持 EPUB 导出。学习流程:

Module 1 (30 min) → Module 2 (45 min) → ... → Module 10 (90 min)
                ↓ (每模块末尾)
          实践练习 + 自测题 + 下一步建议

以 Memory 模块为例,它不只是告诉你"CLAUDE.md 是什么",而是引导你完成一个完整的配置过程:

## 练习:为你的项目创建 CLAUDE.md

1. 在项目根目录创建 CLAUDE.md
2. 添加项目描述和技术栈信息
3. 定义编码规范和约束条件
4. 启动 Claude Code,验证它是否正确加载了上下文
5. 尝试故意遗漏某些约束,观察输出质量的变化

技术亮点

Mermaid 流程图是最大的差异化特点。每个概念都有配套的可视化图表,让抽象的 Agent 调度流程、Hook 触发时机、MCP 通信协议变得直观可理解。此外,项目支持 EPUB 导出,可以在 Kindle 或手机阅读器上离线学习,这对通勤时间学习的开发者非常友好。

设计哲学

“Show, don’t tell” – 每个知识点先用图表展示全貌,再用代码示例演示细节,最后用练习巩固理解。项目刻意避免"大段文字讲概念"的传统文档风格,转而追求"一图胜千言"的视觉化表达。

适用场景与上手指南

Claude Code 新手的最佳起点,也适合有经验的用户系统查漏补缺。

git clone https://github.com/luongnv89/claude-howto.git
cd claude-howto
# 从第一个模块开始
open docs/01-getting-started.md
# 或生成 EPUB 离线阅读
python scripts/build_epub.py

三者关系claude-howto(学习入门)-> claude-code-best-practice(日常参考)-> oh-my-claudecode(高级编排)


AI Agent 与浏览器自动化

browser-use/browser-use

browser-use/browser-use

Make websites accessible for AI agents. Automate tasks online with ease.

Python 85.1k MIT

背景与动机

Selenium、Playwright 这些传统浏览器自动化工具需要开发者精确指定每一步操作 – 点击哪个 CSS 选择器、等待哪个元素加载、如何处理动态内容。这就像给一个看不见的人写导航指令:“往前走 23 步,左转,推第二扇门”。一旦网页布局变化,脚本就会崩溃。browser-use 的革命性在于:让 AI 像人一样"看"网页并自主决定操作。你只需要说"帮我在 Amazon 搜索最便宜的机械键盘",AI 会自己完成剩下的一切。

项目概览

85.1k Stars 的 AI 浏览器自动化框架,让 LLM Agent 能够像人类一样理解和操控网页,支持 OpenAI、Anthropic、Gemini 等多种模型后端。

核心概念与架构

架构分为四个核心层:

  • Browser Layer – 基于 Playwright 的浏览器控制层,负责页面渲染、截图、DOM 提取
  • Vision Layer – 将网页截图和 DOM 结构转换为 LLM 可理解的文本描述
  • Agent Layer – LLM 推理引擎,解读页面内容并决定下一步操作
  • Action Layer – 将 Agent 决策翻译为具体的浏览器操作(click、type、scroll、navigate 等)

此外还提供 CLI 工具和项目脚手架,降低上手门槛。

工作原理

端到端的执行流程如下:

  1. 用户下达自然语言任务
  2. browser-use 打开浏览器,截取当前页面截图
  3. Vision Layer 将截图 + DOM 结构发送给 LLM
  4. LLM 分析当前页面状态,返回下一步操作指令
  5. Action Layer 执行操作(如点击搜索框、输入关键词)
  6. 重复 2-5 直到任务完成或达到最大步数
from browser_use import Agent
from langchain_openai import ChatOpenAI

agent = Agent(
    task="Go to Reddit, search for 'browser-use' and return the first post's title",
    llm=ChatOpenAI(model="gpt-4o"),
)
result = await agent.run()
print(result)

更复杂的场景可以自定义 action:

from browser_use import Agent, Controller

controller = Controller()

@controller.action("Save to file")
def save_to_file(content: str, filename: str):
    with open(filename, 'w') as f:
        f.write(content)

agent = Agent(
    task="Find the top HN post and save its title",
    llm=llm,
    controller=controller,
)

技术亮点

三大独特优势:1) 视觉理解 + DOM 双通道感知网页,比纯 DOM 解析更鲁棒;2) 开源 benchmark 包含 100 个真实浏览器任务,提供准确率对比数据,便于选择最佳模型;3) 云端版本支持隐身浏览、代理轮换、验证码破解,适合生产环境的大规模自动化。

设计哲学

“Make websites accessible for AI agents” – 不是为人写自动化脚本,而是让 AI 自己"看懂"网页。这彻底改变了浏览器自动化的范式:从"命令式编程"进化到"声明式目标描述"。

适用场景与上手指南

适合 RPA 工程师、需要 web scraping 的数据团队、自动化测试工程师,以及任何想让 AI 代替自己做重复性网页操作的开发者。

pip install browser-use
# 或使用脚手架快速开始
uvx browser-use init --template default
# CLI 模式直接交互
browser-use "Search Google for the latest Python release"

AI 语音

microsoft/VibeVoice

microsoft/VibeVoice

Open-Source Frontier Voice AI

Python 29.1k MIT

背景与动机

语音 AI 长期被几家商业公司垄断 – OpenAI 的 Whisper 虽然开源,但 TTS 部分始终闭源;ElevenLabs 音质优秀但价格不菲。开发者面临一个两难:要么使用免费但质量一般的开源方案,要么为商业 API 支付高额费用。VibeVoice 是微软研究院的一记重拳 – 以 MIT 协议完全开源,同时在质量上对标甚至超越商业方案。这就像 Linux 之于 Unix:用开源的力量打破垄断。

项目概览

微软研究院出品的开源前沿语音 AI 套件,涵盖 ASR(语音识别)、TTS(语音合成)、StreamTTS(流式合成)三个模型,支持 50+ 语言,MIT 协议。

核心概念与架构

VibeVoice 包含三个核心模型,各有侧重:

模型参数量能力关键指标
VibeVoice-ASR-语音识别单次处理 60 分钟长音频,支持说话人分离、词级时间戳、50+ 语言
VibeVoice-TTS-语音合成最多 4 人对话式语音,支持 90 分钟长文本生成
VibeVoice-StreamTTS0.5B流式合成首音延迟约 300ms,适合实时对话场景

技术核心是一个连续语音 tokenizer,帧率仅 7.5 Hz – 这意味着每秒只需 7.5 个 token 就能表示语音信号,远低于传统方案的 50-75 Hz,极大降低了计算成本。

工作原理

以 ASR 流程为例:

  1. 输入音频经过连续语音 tokenizer 编码为低帧率语音 token 序列
  2. token 序列送入 Transformer decoder,使用 next-token prediction 生成文本
  3. 同时输出说话人标签和词级时间戳
  4. 后处理模块进行标点恢复和格式化

TTS 流程则是反向:文本 -> token 序列 -> next-token diffusion 框架 -> 语音波形。

# ASR 使用示例(已集成到 Hugging Face Transformers)
from transformers import pipeline

asr = pipeline("automatic-speech-recognition", model="microsoft/VibeVoice-ASR")
result = asr("meeting_recording.wav")
print(result["text"])
# 支持说话人分离
print(result["speakers"])

技术亮点

7.5 Hz 超低帧率是最关键的技术突破。传统语音模型需要 50-75 Hz 的帧率才能保持质量,VibeVoice 用连续 tokenizer 将帧率降低了近 10 倍,在保持音质的同时大幅降低推理成本。此外,ASR 模型已被集成进 Hugging Face Transformers v5.3.0 主线,使用门槛极低。

设计哲学

负责任的开源。值得注意的是,TTS 代码因检测到滥用风险(deepfake 语音)而被主动移除。这体现了微软"能力越大责任越大"的原则 – 不是不开源,而是在评估社会影响后做出有节制的开放。ASR 部分无此风险,因此完全开源。

适用场景与上手指南

语音 AI 研究者(论文可引用)、需要高质量 ASR 的产品开发者(会议转录、字幕生成)、流式对话系统开发者。

pip install transformers>=5.3.0
# 或直接从 Hugging Face 加载
python -c "
from transformers import pipeline
asr = pipeline('automatic-speech-recognition', model='microsoft/VibeVoice-ASR')
print(asr('audio.wav'))
"

工程效率工具

sherlock-project/sherlock

sherlock-project/sherlock

Hunt down social media accounts by username across social networks

Python 74.4k MIT

背景与动机

在互联网上,一个用户名就是一个人的"数字指纹"。安全研究者做渗透测试时需要快速摸清目标的网络足迹;普通用户注册新平台时想确认自己的 ID 是否被占用;企业做品牌保护时需要监控仿冒账号。手动逐个平台搜索?400 多个社交网络,光是打开网页就要花几个小时。sherlock 把这个过程压缩到了一行命令、几秒钟 – 它就是互联网上的"夏洛克·福尔摩斯",给一个用户名,帮你在全球 400+ 社交网络上找出所有匹配的账号。

项目概览

经典的 OSINT(Open Source Intelligence)工具,74.4k Stars,一行命令在 400+ 社交网络上搜索指定用户名,支持 Tor 匿名搜索和多种导出格式。

核心概念与架构

Sherlock 的架构简洁高效:

  • Site Database (sherlock_project/resources/data.json) – 核心数据文件,包含 400+ 网站的 URL 模板、检测规则、错误页面特征
  • Detection Engine – 三种检测模式:HTTP 状态码检测、页面内容匹配、URL 重定向追踪
  • Output Module – 支持终端彩色输出、CSV、XLSX、文本文件多种格式
  • Network Layer – 支持 Tor、HTTP 代理、自定义 User-Agent

工作原理

执行流程直截了当:

  1. 用户输入目标用户名
  2. Sherlock 从 data.json 加载所有站点配置
  3. 对每个站点,将用户名拼入 URL 模板(如 https://github.com/{username}
  4. 并发发送 HTTP 请求(默认高并发,可自定义线程数)
  5. 根据每个站点的检测规则判断账号是否存在
  6. 汇总结果输出
# 基础用法
sherlock username

# 搜索多个用户名
sherlock user1 user2 user3

# 通过 Tor 匿名搜索
sherlock --tor username

# 导出为 CSV
sherlock --csv username

# 只搜索特定站点
sherlock --site github --site twitter username

技术亮点

高效的并发请求是性能关键 – 400+ 个站点的请求在数秒内完成,得益于 Python asyncio 和连接池的优化。社区维护的站点数据库是项目的核心资产,持续有贡献者添加新站点、修复失效规则。安装方式覆盖极广:pipx、Docker、Homebrew、dnf、pkg、Apify 云端执行均可,几乎零门槛。

设计哲学

极致的单一职责。Sherlock 只做一件事:用户名搜索。它不做数据分析,不做关联推理,不做可视化 – 但把这一件事做到了极致。Unix 哲学的完美体现:做好一件事,通过管道与其他工具组合。

适用场景与上手指南

安全研究者(渗透测试前的信息收集)、OSINT 分析师、品牌保护团队、或者只是好奇想查查自己的网络足迹。

# 推荐安装方式
pipx install sherlock-project
# 或 Docker 一键运行
docker run --rm sherlock/sherlock username
# Homebrew (macOS)
brew install sherlock

fastfetch-cli/fastfetch

fastfetch-cli/fastfetch

A maintained, feature-rich and performance oriented, neofetch like system information tool

C 21.3k MIT

背景与动机

neofetch 曾经是每个 Linux 用户的"装机必备" – 打开终端,一个漂亮的 ASCII Logo 配上系统信息,截图发到 r/unixporn 收获满满的点赞。但 2024 年 neofetch 正式停止维护,社区急需一个继任者。fastfetch 就是那个用 C 语言重写、更快、更强、更现代的替代品。如果说 neofetch 是一辆经典老爷车,fastfetch 就是一辆兼顾复古外观和现代性能的新车型。

项目概览

neofetch 的精神继承者,用 C 语言重写,性能提升显著,支持几乎所有主流操作系统,21.3k Stars。

核心概念与架构

fastfetch 采用模块化信息采集架构:

  • Core Engine – C 语言编写的核心引擎,负责系统调用和信息解析
  • Module System – 每种信息类型(CPU、GPU、Memory、Disk 等)是一个独立模块,可自由组合
  • Logo Renderer – 支持 ASCII、Kitty 图片协议、iTerm2 图片协议等多种 Logo 渲染方式
  • Config System – JSONC 配置文件 + JSON Schema,支持 IDE 自动补全和验证

支持平台:Linux、macOS、Windows、FreeBSD、Android、Haiku、SunOS 等。

工作原理

fastfetch 的执行流程:

  1. 加载用户配置文件(~/.config/fastfetch/config.jsonc
  2. 按模块列表依次采集系统信息,每个模块调用平台特定的系统 API
  3. Logo 渲染器并行加载和处理 Logo(支持 1000+ 发行版 Logo)
  4. 格式化输出,Logo 和信息并排显示
// ~/.config/fastfetch/config.jsonc
{
    "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
    "logo": {
        "type": "auto"
    },
    "modules": [
        "title",
        "separator",
        "os",
        "kernel",
        "cpu",
        "gpu",
        "memory",
        "disk",
        "shell",
        "terminal"
    ]
}
# 基础使用
fastfetch

# 列出所有可用模块
fastfetch --list-modules

# 使用预设配置
fastfetch --config paleofetch

# JSON 输出(便于脚本处理)
fastfetch --format json

技术亮点

C 语言带来的极致性能 – 启动速度比 neofetch(Bash 脚本)快 10-100 倍。JSONC 配置 + JSON Schema 是现代化的体现,VSCode 等编辑器可以提供配置项的自动补全和错误提示。Wayland 原生支持解决了 neofetch 长期存在的 Wayland 兼容性问题。模块数量远超 neofetch,涵盖蓝牙、WiFi、电池、Vulkan 版本等细粒度信息。

设计哲学

“Feature-rich and performance oriented” – 功能丰富与高性能不是矛盾的。通过 C 语言的低级控制和模块化架构,fastfetch 证明了"什么都能显示"和"瞬间启动"可以兼得。配置系统选择 JSONC 而非 YAML 或 TOML,也是实用主义的体现 – JSONC 有成熟的 Schema 生态。

适用场景与上手指南

终端美化爱好者(r/unixporn 常客)、需要快速获取系统信息的运维人员、从 neofetch 迁移的用户。

# macOS
brew install fastfetch
# Ubuntu/Debian
sudo apt install fastfetch
# Windows
scoop install fastfetch
# 或 winget
winget install fastfetch

CAD / 3D 建模

gumyr/build123d

gumyr/build123d

A python CAD programming library

Python 1.6k Apache-2.0

背景与动机

传统 CAD 软件(SolidWorks、Fusion 360)通过 GUI 操作建模 – 点击、拖拽、输入参数。这对单个零件设计足够,但面对参数化设计(“生成 100 个不同尺寸的齿轮”)或自动化流水线(“从数据库读取参数,批量生成零件”)就力不从心了。OpenSCAD 虽然支持代码建模,但它的语言不是通用编程语言,生态封闭。build123d 的定位是:让 Python 成为你的 CAD 工具。Python 的生态、调试工具、包管理、测试框架,全部可以直接用于 3D 建模。

项目概览

基于 Open Cascade(OCCT)几何内核的 Python CAD 库,CadQuery 的继承者,提供 Algebra 和 Builder 两种建模模式,API 更 Pythonic,支持完整的类型标注和 STEP/SVG 导入导出。

核心概念与架构

build123d 围绕三个维度组织建模操作:

  • 1D (Curve/Edge) – 线、弧、样条曲线等基础几何
  • 2D (Sketch/Face) – 平面草图,支持约束求解
  • 3D (Part/Solid) – 实体建模,布尔运算、圆角、倒角等

两种建模模式覆盖不同使用场景:

  • Algebra Mode(无状态)– 纯运算符驱动,适合脚本化和函数式编程风格
  • Builder Mode(上下文管理器)– 使用 Python with 语句,类似 CAD 软件中的"设计历史"概念
build123d/
├── build123d/
│   ├── build_common.py    # 共享基础设施
│   ├── build_part.py      # 3D 实体建模
│   ├── build_sketch.py    # 2D 草图
│   ├── build_line.py      # 1D 曲线
│   ├── exporters.py       # STEP/SVG/STL 导出
│   ├── importers.py       # STEP/SVG 导入
│   └── joints.py          # 运动副/装配约束
├── docs/                  # Sphinx 文档
└── tests/                 # 完整测试覆盖

工作原理

以创建一个带圆角孔的零件为例,两种模式对比:

from build123d import *

# === Algebra Mode(无状态函数式) ===
base = Box(60, 40, 10)
base -= Cylinder(radius=5, height=10, align=(Align.CENTER, Align.CENTER, Align.MIN))
base = fillet(base.edges().filter_by(Axis.Z), radius=2)

# === Builder Mode(上下文管理器) ===
with BuildPart() as part:
    Box(60, 40, 10)
    with Locations((0, 0)):
        Cylinder(radius=5, height=10, mode=Mode.SUBTRACT)
    fillet(part.edges().filter_by(Axis.Z), radius=2)

# 导出为 STEP 格式(可直接导入 FreeCAD / SolidWorks)
export_step(part.part, "my_part.step")

# 导出为 STL 格式(3D 打印)
export_stl(part.part, "my_part.stl")

build123d 还支持装配体建模(Assembly),通过 Joint 系统定义零件间的运动关系(旋转副、滑动副等),可直接导出为机器人研究中常用的 URDF 格式。

技术亮点

三大核心优势:1) 双模式建模 – Algebra Mode 适合脚本自动化,Builder Mode 适合交互式探索,同一个项目中可以混用;2) 完整的类型标注 – 所有 API 都有 type hints,IDE 智能补全和静态分析器完全支持;3) 与 Python 生态无缝集成 – 可以用 NumPy 生成参数、用 Pandas 读取设计表、用 pytest 测试几何约束、用 Jupyter Notebook 可视化模型。

设计哲学

“Python-first CAD”。build123d 不是在 Python 里嵌入一个 CAD DSL,而是让 CAD 操作成为地道的 Python 代码。运算符重载(+= 添加、-= 切割)、上下文管理器、类型标注、property 访问 – 一切都遵循 Python 的惯用法。这使得 Python 开发者可以零学习曲线上手 3D 建模。

适用场景与上手指南

机器人研究者(URDF 零件生成)、3D 打印爱好者(参数化模型)、机械工程师(自动化零件设计)、学术研究(可引用 Zenodo DOI)。

pip install build123d
# 配合 CQ-editor 进行可视化预览
pip install cq-editor
# 或在 Jupyter Notebook 中使用
pip install jupyter cadquery-jupyter
# 快速验证安装
from build123d import *
box = Box(10, 20, 5)
print(f"Volume: {box.volume:.1f} mm³")  # Volume: 1000.0 mm³

本周小结

本周的 star 主题集中在 Claude Code 工具链的成熟化AI 能力向传统领域渗透

  1. Claude Code 生态正在从"单一工具"演变为"平台+生态",best-practice -> howto -> oh-my-claudecode 形成了学习-参考-编排的完整链路
  2. browser-use(85k stars)说明 AI Agent 操控浏览器已经是刚需
  3. 微软以 MIT 协议开源 VibeVoice,语音 AI 的开源化正在加速
  4. build123d 代表了 Python 在 CAD 领域的持续渗透,对机器人研究者尤为实用

下周见!


References

  1. browser-use/browser-use – AI Agent 浏览器自动化
  2. sherlock-project/sherlock – 社交媒体用户名搜索
  3. microsoft/VibeVoice – 开源语音 AI
  4. shanraisshan/claude-code-best-practice – Claude Code 最佳实践
  5. fastfetch-cli/fastfetch – 系统信息工具
  6. Yeachan-Heo/oh-my-claudecode – Claude Code 多 Agent 编排
  7. luongnv89/claude-howto – Claude Code 可视化教程
  8. gumyr/build123d – Python CAD 建模库
Follow @fly-pigTH