Fabric:为你的命令行安上 AI 管道

Fabric 是一个命令行 AI 工具框架,它通过“模式(Pattern)+ 管道”的方式,让你将 LLM 能力无缝集成到终端工作流中,本文详解安装、配置、核心概念与自定义模式实践。

作为开发者,我们对效率近乎偏执,而命令行无疑是效率的圣殿。我们已经习惯了用 grepsedawk 等工具像手术刀一样处理文本。但今天,有一个更强大的工具正等待我们将它纳入终端的工作流中——大型语言模型(LLM)。

很多人已经习惯在浏览器中的 ChatGPT、Claude 或 Google AI Studio 与 LLM 交互。但这种方式始终存在割裂感:复制、粘贴、切换窗口……阻碍了 AI 成为我们日常自动化工作流程的自然一环。

如果我们能像使用原生命令一样,在终端中直接调用最强大的 AI 模型,会发生什么?

这正是知名技术专家 Daniel Miessler 创建的开源项目 Fabric 想要解决的问题。

Fabric 不是另一个 ChatGPT 包装器,而是一个精巧的命令行框架,它的目标是:“使用 AI 增强人类天赋”。它通过一种叫 Pattern 的机制,把高质量 AI 指令模板与你本地的工作流结合起来,让你可以在终端中完成从内容生成到代码审查的一系列复杂任务。

Fabric 是什么?不仅仅是 API 封装

表面上看,Fabric 是一个连接 LLM API 的 Python CLI 工具,但其设计哲学远不止于此。它的核心是围绕“模式”(Pattern)构建的可复用 AI 工作流。

可以将 Pattern 理解为一个精心设计的指令模板(system prompt)。Fabric 内置了一些实用模式,例如:

  • summarize: 总结长文本内容
  • code_review: 对代码进行审查并提出优化建议
  • seo: 提供文本的 SEO 优化建议
  • tldr: 快速生成简洁摘要
  • write_video_script: 生成视频脚本草稿

最有价值的,是你可以自己创建或共享这些模式,把你独特的工作流方法固化成标准指令,供自己或团队反复调用。

快速上手:三步把 AI 融入终端

第 1 步:安装

通过 Homebrew 安装:

brew install fabric-ai

当然,你也可以用 pip 或源码安装,详见 项目主页

第 2 步:配置

执行:

fabric --setup

这是一个交互式配置向导,会引导你完成以下内容:

  • 选择 AI Provider:如 openai, google, claude
  • 选择模型:例如 gpt-4o, gemini-2.5-pro
  • 设置 API Key:手动输入或通过环境变量配置
小提示:薅 Google 的羊毛!
强烈推荐使用 Google AI Studio 提供的免费 API Key。撰写本文时,Gemini 1.5 Flash 免费版提供每分钟 15 次调用、每天 100 万 token 的额度,不仅可用于网页,还可用于 Fabric 与 Gemini CLI。
Gemini CLI
Gemini CLI

所有配置默认保存在 Linux 或 macOS 的 ~/.config/fabric/ 目录下。

第 3 步:运行你的第一个命令

以总结为例:

fabric -p summarize --text "这里是一段非常非常长的文章内容..."

你将获得一段简洁清晰的摘要。而这只是起点,真正强大的是 Fabric 对“管道”的原生支持。

核心架构解析

Fabric 的关键组成如下:

  • Pattern(模式):灵魂所在。一个 .md 文件定义 AI 的角色、目标、输出格式等。所有内置命令本质上都是不同的 Pattern。
  • Provider(提供商):底层的 LLM API,比如 OpenAI、Gemini、Claude。
  • Model(模型):在 setup 阶段选择的具体模型,如 gpt-4ogemini-2.5-pro 等。
  • fabric CLI:命令行接口,支持读取输入(文件、管道、--text)、加载 Pattern 并提交请求。
  • suggest:让 AI 来优化 Pattern 本身,实现“AI 改进 AI Prompt”的元编程体验。

例如:

fabric -p summarize --suggest "Make the summary more concise and use bullet points."

杀手级特性:让 AI 真正成为你命令行的管道组件

1. 与管道工具无缝集成

Fabric 遵循 Unix 哲学,支持标准输入 / 输出流,能与任意命令组合使用:

cat long_article.txt | fabric -p summarize
cat my_script.py | fabric -p code_review
lynx -dump "https://some-website.com" | fabric -p tldr

这才是真正将 AI 变成 CLI 工作流一部分的关键。

2. 自定义模式:把你的方法论变成工具

问题:默认 Pattern 用英文 prompt,处理中文不理想

解决:创建属于你的中文模式

① 找到模式目录:

运行 fabric --list 查看模式列表,路径通常是:

  • 系统级目录:site-packages/fabric/patterns/
  • 用户配置目录:~/.config/fabric/patterns/

② 创建中文模式:

vim ~/.config/fabric/patterns/summarize_chinese.md

③ 编写 Prompt:

你是一个非常优秀的中文内容总结助手。请使用简洁、流畅的中文,为以下提供的文本内容生成一份核心要点摘要,并以无序列表(bullet points)的形式呈现。

请总结以下文本:

④ 使用自定义模式:

cat blog.md | fabric -p summarize_chinese

就这样,你将自己的知识转化成了一个随时可用、可复用的 CLI 工具。

在命令行中使用 Fabric
在命令行中使用 Fabric

Fabric CLI 速查表

命令作用示例
fabric --setup启动配置向导fabric --setup
-p <pattern>使用某个 Patternfabric -p summarize
--text "..."直接传入文本fabric -p tldr --text "..."
--stream流式输出fabric -p write_blog_post --stream
--list查看所有模式fabric --list
--edit编辑某个模式fabric -p summarize --edit
--suggest "..."改进模式 Promptfabric -p code_review --suggest "Focus on security."
--model <name>临时指定模型fabric -p summarize --model gpt-4o
--copy将结果复制到剪贴板fabric -p summarize --copy

总结:AI 管道化,不只是工具,而是一种思维方式

Fabric 实现了它“增强人类天赋”的承诺。它不是另一个 AI 聊天工具,而是一种让你将 LLM 变成标准化流程节点的方式。 它推动我们从“和 AI 聊天”转向“指挥 AI 工作”。

你写一个 Pattern,就是在定义一个微型自动化系统。你把这些系统串成管道,AI 就成了你操作系统的一部分。

如果你是开发者、写作者、研究员,或任何与信息密集打交道的人,试着把 Fabric 接入你已有的命令行工具链,它可能会成为你效率系统中的下一个关键组件。

👉 项目地址:https://github.com/danielmiessler/Fabric

文章导航

评论区