danielmiessler/Fabric

AI 工程

一个按任务组织可复用 AI 提示词的 CLI 与提示词库,可把同一提示路由到多家模型提供商。

44,416
4,319
Go
MIT
创建于 2 年前

Fabric 是一个围绕 AI 提示词而非聊天界面构造的开源框架。作者认为 AI 的问题不在于能力,而在于集成:好的提示词散落在各处、难以发现和管理。Fabric 把这些提示词按实际任务组织成 "Patterns",并提供一个 Go 编写的命令行工具,将输入通过管道送入 Pattern,再交给配置好的模型提供商执行What and why。

实际用法

核心流程很短:把文本通过管道传给 CLI,指定一个 Pattern,读取(或流式输出)结果。例如 fabric --pattern summarize 从标准输入读取剪贴板或文件内容Examples。Pattern 覆盖提取、摘要、写作、代码解释等任务;README 也说明,如果不想用 CLI,可以直接把这些提示词文件复制到其他聊天工具中使用Just use the Patterns。

两个机制值得注意。其一是模型路由:一次 setup 即可配置 OpenAI、Anthropic、Gemini、Ollama、Azure、Bedrock 以及大量 OpenAI 兼容服务,因此同一个 Pattern 既能跑云端模型,也能跑本地模型Supported AI Providers。其二是提示词组合控制:--strategy 在 Pattern 之上叠加推理策略(如 chain-of-thought、least-to-most),而 --dry-run 或 --print-prompt 能在真正调用模型前展示将要发送的内容,便于调试提示词且不消耗 API 额度Usage。

它还提供 REST API 服务和 Ollama 兼容模式:期望连接 Ollama 端点的应用可以改为指向 Fabric,从而使用 Fabric 已配置的提供商,Pattern 会以可选模型的形式出现REST API Server。自定义 Pattern 存放在独立目录,同名时优先于内置 Pattern,且不会被 Pattern 更新覆盖Custom Patterns。

要求与限制

Fabric 提供预编译二进制、包管理器(Homebrew 和 AUR 安装后命令名为 fabric-ai)、Go 安装和 Docker 等方式Installation。使用前必须运行 fabric --setup 并配置至少一个模型提供商(凭证或本地端点),否则 Pattern 无法产出结果。示例使用 macOS 的 pbpaste,Windows 和 Linux 用户需要各自的剪贴板命令。to_pdf 等辅助工具需要额外软件(LaTeX 发行版),并且是单独安装。README 还提醒:升级后重新运行 setup,如果版本间配置有变化,可能需要重新配置部分设置或密钥。项目采用 MIT 许可证。

项目迭代很快,发布说明会频繁新增提供商和模型支持,因此具体提供商行为应参考当前的 setup 文档,而不是假设列表固定不变。

HotRepo 点评

在所给快照中,Fabric 星标数量很大,提供商集成也相当丰富;记录到的两个日榜日期(2026-10-24 和 2026-10-25,各 +13 星)样本太少,不足以判断趋势。是否适合,关键看这种结构化、管道优先的提示词库是否契合你的工作流。

本文由 AI 根据项目 README 生成,更新于 2026年10月28日,以项目官方文档为准。

Hacker News 讨论

Fabric is an open-source framework for augmenting humans using AI
▲ 137 · 99 条评论 · 2024年7月6日
Fabric: Pipe LLM Prompts Together
▲ 2 · 1 条评论 · 2024年7月1日