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

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

阅读原文请转到:jimmysong.io/blog/fabric...

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

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

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

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

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 或源码安装,详见 项目主页[3]。

第 2 步:配置

执行:

arduino 复制代码
fabric --setup

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

  • • 选择 AI Provider:如 openai, google, claude
  • • 选择模型:例如 gpt-4o, gemini-2.5-pro
  • • 设置 API Key:手动输入或通过环境变量配置

强烈推荐使用 Google AI Studio[4] 提供的免费 API Key。撰写本文时,Gemini 1.5 Flash 免费版提供每分钟 15 次调用、每天 100 万 token 的额度,不仅可用于网页,还可用于 Fabric 与 Gemini CLI。

null

Gemini CLI

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

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

以总结为例:

arduino 复制代码
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"的元编程体验。

例如:

css 复制代码
fabric -p summarize --suggest "Make the summary more concise and use bullet points."

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

1. 与管道工具无缝集成

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

bash 复制代码
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/

② 创建中文模式:

javascript 复制代码
vim ~/.config/fabric/patterns/summarize_chinese.md

③ 编写 Prompt:

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

请总结以下文本:

④ 使用自定义模式:

bash 复制代码
cat blog.md | fabric -p summarize_chinese

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

null

在命令行中使用 Fabric

Fabric CLI 速查表

命令 作用 示例
fabric --setup 启动配置向导 fabric --setup
-p <pattern> 使用某个 Pattern fabric -p summarize
--text "..." 直接传入文本 fabric -p tldr --text "..."
--stream 流式输出 fabric -p write_blog_post --stream
--list 查看所有模式 fabric --list
--edit 编辑某个模式 fabric -p summarize --edit
--suggest "..." 改进模式 Prompt fabric -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 接入你已有的命令行工具链,它可能会成为你效率系统中的下一个关键组件。

👉 项目地址:github.com/danielmiess...


本文首发于: jimmysong.io/blog/fabric...

引用链接

[1] Daniel Miessler: github.com/danielmiess...
[2] Fabric: github.com/danielmiess...
[3] 项目主页: github.com/danielmiess...
[4] Google AI Studio: aistudio.google.com/app/apikey

相关推荐
Moshow郑锴4 小时前
人工智能中的(特征选择)数据过滤方法和包裹方法
人工智能
TY-20255 小时前
【CV 目标检测】Fast RCNN模型①——与R-CNN区别
人工智能·目标检测·目标跟踪·cnn
CareyWYR6 小时前
苹果芯片Mac使用Docker部署MinerU api服务
人工智能
失散136 小时前
自然语言处理——02 文本预处理(下)
人工智能·自然语言处理
mit6.8246 小时前
[1Prompt1Story] 滑动窗口机制 | 图像生成管线 | VAE变分自编码器 | UNet去噪神经网络
人工智能·python
sinat_286945196 小时前
AI应用安全 - Prompt注入攻击
人工智能·安全·prompt
草梅友仁7 小时前
草梅 Auth 1.4.0 发布与 ESLint v9 更新 | 2025 年第 33 周草梅周报
vue.js·github·nuxt.js
迈火8 小时前
ComfyUI-3D-Pack:3D创作的AI神器
人工智能·gpt·3d·ai·stable diffusion·aigc·midjourney
Moshow郑锴8 小时前
机器学习的特征工程(特征构造、特征选择、特征转换和特征提取)详解
人工智能·机器学习
寻月隐君9 小时前
硬核实战:从零到一,用 Rust 和 Axum 构建高性能聊天服务后端
后端·rust·github