先上项目链接:https://github.com/danielmiessler/Fabric
开篇说明
最近 AI 圈子里最火的是什么?不是某个新模型发布,也不是某个新应用上线,而是 AI Agent 这个概念。简单说,就是让 AI 不再只是你问一答一的聊天机器人,而是能主动帮你想办法、做事情、完成任务的智能助手。
但问题来了,要把 AI 真正用起来,大多数人面临一个尴尬的现实:需要在这个网站登录、在那个平台切换,还要记各种 API 调用方式。这不叫 AI 辅助工作,这叫被 AI 折磨。
今天要介绍的 Fabric 项目,就是为解决这个问题而生的。它用一套命令行工具,把主流 AI 能力整合到一起,还内置了几十个现成的"任务模板"。用好了,效率提升 10 倍不是梦。
项目简介:Fabric 是什么
Fabric 是一个开源的 AI 增强框架,核心理念是把 AI 能力模块化。作者 Daniel Miessler 发现,自 2022 年底现代 AI 兴起后,虽然出现了大量 AI 应用,但它们很难真正融入日常流程。这不是 AI 能力的问题,而是集成的问题。
于是 Fabric 应运而生。它通过组织和管理 AI 提示词(patterns),让人们可以在一个地方创建、收集和整理最重要的 AI 解决方案。如果你熟悉命令行,还可以直接用 Fabric 本身作为操作界面。

安装指南:三种方法任你选
方法一:一键安装(推荐新手)
Fabric 官方提供了一行命令安装方式,适合不想折腾的用户。打开终端,输入:
curl -L https://github.com/danielmiessler/fabric/releases/latest/download/install.sh | bash这行命令会自动检测你的系统环境,下载对应的二进制文件并完成安装。
注意事项:需要网络访问权限和适当的管理员权限来写入系统目录。如果遇到权限问题,可以在命令前加 sudo。
方法二:手动二进制安装
如果你更喜欢掌控整个过程,可以手动下载二进制文件。
首先访问 GitHub Releases 页面,根据你的系统选择对应文件:
Linux 用户:fabric-linux-amd64
macOS Intel 用户:fabric-darwin-amd64
macOS Apple Silicon 用户:fabric-darwin-arm64
Windows 用户:fabric-windows-amd64.exe
下载完成后,给文件添加执行权限:
Linux/macOS 用户执行:
chmod +x fabric-linux-amd64mv fabric-linux-amd64 /usr/local/bin/fabricWindows 用户直接把 .exe 文件放到 PATH 环境变量包含的目录即可。
方法三:使用包管理器
如果你习惯用包管理器,也有对应的安装方式:
macOS 用户可以用 Homebrew:
brew install fabricArch Linux 用户用 AUR:
paru -S fabric或者:
yay -S fabric方法四:从源码安装
开发者可以从源码编译:
go install github.com/danielmiessler/fabric/cmd/fabric@latest方法五:Docker 部署
适合服务器环境或喜欢容器化部署的用户:
mkdir -p $HOME/.fabric-configdocker run --rm -it -v $HOME/.fabric-config:/root/.config/fabric kayvan/fabric:latest --setup使用时可以这样:
docker run --rm -it -v $HOME/.fabric-config:/root/.config/fabric kayvan/fabric:latest -p summarizeDocker 镜像地址:Docker Hub:hub.docker.com/repository/docker/kayvan/fabric/general
环境变量配置
某些系统可能需要配置环境变量。对于 Linux 或 Intel Mac 用户,在 ~/.bashrc 文件添加:
export GOROOT=/usr/local/goexport GOPATH=$HOME/goexport PATH=$GOPATH/bin:$GOROOT/bin:$HOME/.local/bin:$PATHApple Silicon Mac 用户在 ~/.zshrc 文件添加:
export GOROOT=$(brew --prefix go)/libexecexport GOPATH=$HOME/goexport PATH=$GOPATH/bin:$GOROOT/bin:$HOME/.local/bin:$PATH初始化配置
安装完成后,必须运行初始化命令:
fabric --setup这个命令会引导你配置目录结构和 API 密钥。Fabric 支持多种 AI 供应商,包括 OpenAI、Anthropic、Google Gemini、Azure OpenAI、Amazon Bedrock 等。至少需要配置一个才能正常使用。
Shell 自动补全(强烈推荐)
为了提升使用体验,建议配置命令补全功能。
快速安装方式:
curl -fsSL https://raw.githubusercontent.com/danielmiessler/Fabric/refs/heads/main/completions/setup-completions.sh | sh手动配置的话,不同 Shell 有不同方法。
Zsh 用户:
mkdir -p ~/.zsh/completionscp completions/_fabric ~/.zsh/completions/echo 'fpath=(~/.zsh/completions $fpath)' >> ~/.zshrcecho 'autoload -Uz compinit && compinit' >> ~/.zshrcBash 用户:
echo 'source /path/to/fabric/completions/fabric.bash' >> ~/.bashrc或者复制到系统目录:
sudo cp completions/fabric.bash /etc/bash_completion.d/Fish 用户:
mkdir -p ~/.config/fish/completionscp completions/fabric.fish ~/.config/fish/completions/基础使用:快速上手
Fabric 的核心命令格式很简单:
fabric [选项]查看帮助信息:
fabric -h主要命令选项
pattern:选择要使用的模式
fabric --pattern 模式名model:指定使用的模型
fabric --model gpt-4ostream:流式输出结果
fabric --pattern 模式名 --streamoutput:保存到文件
fabric --pattern 模式名 --output output.txtcopy:复制到剪贴板
fabric --pattern 模式名 --copylistpatterns:查看所有可用模式
fabric --listpatterns基础使用示例
从管道输入:
echo "这里放要处理的内容" | fabric --pattern extract_wisdom从文件读取:
fabric --pattern summarize --file article.txt直接输入文本:
fabric --pattern explain_concept然后输入要解释的概念。
模式系统:Fabric 的核心
Fabric 的模式(patterns)是预定义的提示词模板,每个模式对应一个特定的任务场景。目前内置了几十个模式,涵盖了各种常见需求。
查看可用模式
fabric --listpatterns这会列出所有可用模式及其描述。
常用模式介绍
extract_wisdom:从长文本中提取核心观点和智慧
summarize:生成简洁的文本摘要
code_review:代码审查,发现潜在问题
generate_tests:为代码生成测试用例
translate_to_chinese:翻译成中文
explain_concept:详细解释复杂概念
brainstorm_ideas:为特定主题头脑风暴
improve_writing:优化和润色写作内容
generate_documentation:为代码生成文档
模式使用示例
总结文章:
cat long_article.txt | fabric --pattern summarize提取核心观点:
echo "长文本内容..." | fabric --pattern extract_wisdom代码审查:
fabric --pattern code_review --file main.py生成测试:
fabric --pattern generate_tests --file app.js高级功能:释放全部潜能
YouTube 视频处理
这是 Fabric 最实用的功能之一。它可以自动获取 YouTube 视频的转录内容、评论和元数据。
获取视频总结:
fabric --youtube "视频链接"获取带时间戳的转录内容:
fabric --youtube "视频链接" --transcript-with-timestamps获取视频评论:
fabric --youtube "视频链接" --comments获取视频元数据:
fabric --youtube "视频链接" --metadata这个功能对学习教程视频特别有用。你可以快速了解视频内容,而不需要看完整个视频。
网页抓取与搜索
Fabric 集成了网页抓取功能,可以把网页转换为 Markdown 格式:
fabric --scrape_url "https://example.com"还可以结合模式使用:
fabric --scrape_url "https://example.com" | fabric --pattern summarize使用搜索功能(需要支持的模型):
fabric --search "最新 AI 技术趋势"设置搜索位置:
fabric --search "AI 新闻" --search-location "America/Los_Angeles"模型参数调整
控制输出随机性(temperature):
fabric --pattern 模式名 --temperature 0.8temperature 范围是 0 到 2,越高越随机,越低越确定。
控制输出多样性(top_p):
fabric --pattern 模式名 --topp 0.9设置惩罚参数:
fabric --pattern 模式名 --presencepenalty 0.5 --frequencypenalty 0.5上下文与会话
Fabric 支持上下文和会话功能,可以保持对话状态。
列出可用上下文:
fabric --listcontexts使用上下文:
fabric --pattern 模式名 --context 上下文名列出可用会话:
fabric --listsessions使用会话:
fabric --pattern 模式名 --session 会话名图像生成支持
支持图像生成的模型可以创建图片:
fabric --pattern 模式名 --image-file output.png指定图像大小:
fabric --pattern 模式名 --image-size 1024x1024设置图像质量:
fabric --pattern 模式名 --image-quality highREST API 服务器
Fabric 可以启动 HTTP API 服务器,方便其他程序调用:
fabric --serve --port 8080设置 API 密钥:
fabric --serve --api-key your_api_key服务器启动后,可以通过 HTTP 请求使用 Fabric 的功能。访问 /swagger/index.html 可以查看交互式 API 文档。
为模式设置别名
为了提升效率,可以为常用模式创建别名。在你的 .zshrc 或 .bashrc 文件添加:
for pattern_file in $HOME/.config/fabric/patterns/*; do pattern_name="$(basename "$pattern_file")" alias_name="${FABRIC_ALIAS_PREFIX:-}${pattern_name}" alias_command="alias $alias_name='fabric --pattern $pattern_name'" eval "$alias_command"done这样就可以直接用模式名作为命令,比如用 summarize 而不是 fabric --pattern summarize。
YouTube 快捷命令
还提供了一个 yt 别名:
yt() { if [ "$#" -eq 0 ] || [ "$#" -gt 2 ]; then echo "Usage: yt [-t | --timestamps] youtube-link" return 1 fi transcript_flag="--transcript" if [ "$1" = "-t" ] || [ "$1" = "--timestamps" ]; then transcript_flag="--transcript-with-timestamps" shift fi local video_link="$1" fabric -y "$video_link" $transcript_flag}使用方法:
yt "YouTube 视频链接"yt -t "YouTube 视频链接"第二个命令会获取带时间戳的转录内容。
自定义模式:打造你的专属 AI 助手
内置模式虽然丰富,但可能无法完全满足个性化需求。Fabric 允许创建自定义模式。
创建自定义模式
在 ~/.config/fabric/patterns/ 目录创建新的模式文件。模式文件是 YAML 格式,通常包含以下字段:
system:系统提示词,定义 AI 的角色和目标
prompt:用户提示词模板,可以包含变量
description:模式描述
variable:定义可用的变量
示例:创建自定义模式
创建一个名为 "my_custom_pattern" 的模式文件:
内容可以是类似这样的(具体格式请参考官方文档):
system: 你是一个专业的技术写作助手prompt: 请帮我把以下内容改写得更清晰易懂:{{input}}保存后就可以使用了:
echo "原始内容" | fabric --pattern my_custom_pattern更新模式
Fabric 支持模式更新:
fabric --updatepatterns这会从远程获取最新版本的内置模式。
进阶技巧:像高手一样使用
模式链式调用
多个模式可以串联使用,实现复杂的工作流:
echo "原始内容" | fabric --pattern pattern1 | fabric --pattern pattern2 | fabric --pattern pattern3这样可以让内容经过多阶段处理。
输出格式控制
Fabric 支持多种输出格式:
fabric --pattern 模式名 --output output.txt还可以复制到剪贴板:
fabric --pattern 模式名 --copy批量处理
结合 shell 脚本可以批量处理多个文件:
for file in *.txt; do fabric --pattern summarize --file "$file" -o "summarized_$file"done并发处理:
for file in *.txt; do fabric --pattern summarize --file "$file" -o "summarized_$file" &donewait模型选择策略
不同任务适合不同模型。简单任务用 gpt-3.5-turbo,速度快成本低。复杂任务用 gpt-4o 或 claude-3-opus,质量更高。代码任务用 codex 系列模型更专业。
Fabric 支持为不同模式指定不同模型。通过环境变量配置:
export FABRIC_MODEL_SUMMARIZE=openai|gpt-4oexport FABRIC_MODEL_CODE_REVIEW=anthropic|claude-3-opus交互模式
对于需要多次对话的任务,可以使用交互模式:
fabric --pattern chat --interactive实际应用场景:真实案例
场景一:技术文档快速生成
开发新功能需要写技术文档?可以这样操作:
第一步,用 extract_wisdom 模式从代码中提取关键信息
cat main.py | fabric --pattern extract_wisdom第二步,用 generate_documentation 模式生成初稿
cat main.py | fabric --pattern generate_documentation第三步,用 improve_writing 模式润色语言
cat draft.md | fabric --pattern improve_writing整个过程几分钟完成,质量比手动写还要好。
场景二:日常工作效率提升
每天收到大量邮件和文档,可以这样处理:
总结邮件:
cat emails.txt | fabric --pattern extract_wisdom提取任务:
cat meeting_notes.txt | fabric --pattern extract_action_items优先级排序:
cat tasks.txt | fabric --pattern prioritize_tasks这样就不会被信息淹没,能专注重要事情。
场景三:学习与研究
学习新技术或做研究时:
解释概念:
echo "机器学习中的梯度下降" | fabric --pattern explain_concept找相关资源:
echo "深度学习最新进展" | fabric --pattern find_related_resources生成测试题:
cat notes.txt | fabric --pattern generate_quiz相当于拥有 24 小时私人助教。
场景四:内容创作
内容创作者可以这样:
生成创意:
echo "科技博客文章" | fabric --pattern brainstorm_ideas生成大纲:
echo "文章主题" | fabric --pattern generate_outline优化文本:
cat draft.md | fabric --pattern improve_writing生成社交媒体内容:
cat article.md | fabric --pattern generate_social_media_posts从创意到发布全程 AI 辅助。
场景五:代码质量提升
开发过程中的代码质量保证:
设计架构:
echo "需求描述" | fabric --pattern design_system实时检查:
cat code.py | fabric --pattern code_review生成测试:
cat code.py | fabric --pattern generate_tests安全审查:
cat code.py | fabric --pattern security_audit代码质量会提升好几个档次。
场景六:视频学习加速
学习教程视频时:
获取视频总结:
fabric --youtube "教程视频链接"获取带时间戳的转录内容:
fabric --youtube "教程视频链接" --transcript-with-timestamps结合模式使用:
fabric --youtube "教程视频链接" | fabric --pattern extract_wisdom不需要看完整个视频,就能掌握核心内容。
性能优化建议
并发处理
批量处理时使用并发,大幅节省时间:
for file in *.txt; do fabric --pattern summarize --file "$file" &donewait缓存机制
Fabric 会对一些结果缓存,避免重复请求。如果需要清除缓存,查看具体文档。
模型选择
根据任务选择合适模型,在成本和质量间找到平衡:
简单任务用 gpt-3.5-turbo
复杂任务用 gpt-4o 或 claude-3-opus
代码任务用 codex 系列
常见问题解决
API 配额问题
Fabric 本身不提供免费额度,需要自己购买各 AI 供应商的 API。建议:
主要用一个模型,管理好配额
大量处理时选择性价比高的模型
利用缓存避免重复调用
输出被截断
某些模型有输出长度限制。解决方法:
使用支持更长输出的模型(如 gpt-4-turbo)
分批处理长文本
调整模式中的提示词,要求更简洁的输出
模式效果不好
不同模型对不同类型任务表现不同。建议:
尝试切换不同的模型
调整模式的提示词
自定义更适合自己的模式
网络访问问题
国内用户可能遇到这个问题。解决方案:
配置代理
使用国内可访问的 AI 模型 API
使用本地部署的开源模型(需要额外配置)
升级 Fabric
升级 Fabric 非常简单:
使用包管理器的直接更新
手动安装的重新运行安装命令:
go install github.com/danielmiessler/fabric/cmd/fabric@latestDocker 用户重新拉取镜像:
docker pull kayvan/fabric:latest总结
Fabric 是一个强大且实用的 AI 增强工具。它通过统一的命令行界面、丰富的模式系统和灵活的配置选项,让 AI 能力真正融入日常工作流程。
本文从安装配置到高级使用,详细介绍了 Fabric 的各个方面。只要合理使用这个工具,让它成为你能力的延伸而不是思维的替代品,工作效率一定能大幅提升。
GitHub 项目地址:https://github.com/danielmiessler/Fabric