danielmiessler / Fabric
danielmiessler/Fabric
Fabric 是一个开源 AI 增强框架,通过模块化系统将众包的 AI 提示词(Patterns)组织起来,用于解决特定问题,可在任何地方使用。
项目概览
项目概述
Fabric 是一个开源框架,旨在通过 AI 增强人类能力。它提供了一个模块化系统,利用众包的 AI 提示词(称为 Patterns)来解决特定问题,并可在任何地方使用。该项目由 Daniel Miessler 创建,采用 Go 语言编写,遵循 MIT 许可证。
核心功能
- Patterns 系统:组织、收集和分享针对特定任务的 AI 提示词,涵盖生活与工作的方方面面。
- 多供应商支持:原生集成 OpenAI、Anthropic、Google Gemini、Ollama、Azure OpenAI、Amazon Bedrock 等,并兼容众多 OpenAI 兼容供应商。
- 命令行界面:提供功能丰富的 CLI,支持流式输出、会话管理、上下文管理、YouTube 视频处理、网页抓取等。
- REST API 服务器:内置 REST API,可通过 HTTP 访问核心功能,并支持 Ollama 兼容模式。
- 自定义 Patterns:支持用户创建私有 Patterns,且不会被内置 Patterns 更新覆盖。
- 提示词策略:实现多种提示词策略,如思维链(CoT)、思维草稿(CoD)等。
- 辅助工具:提供
to_pdf、code2context、generate_changelog等辅助命令。 - Web 界面:提供内置的 Web 图形界面。
适用与不适用场景
适用场景:
- 希望将 AI 集成到个人工作流中的个人用户。
- 需要为特定任务(如总结、分析、内容创作)寻找和使用高质量提示词的场景。
- 开发者希望构建或分享可复用的 AI 提示词。
- 需要通过命令行或 API 与多种 AI 模型交互的场景。
不适用场景:
- 需要图形化拖拽式 AI 工作流编排的平台(Fabric 更侧重于 CLI 和提示词管理)。
- 需要特定领域深度定制 AI 模型训练的场景。
- 需要内置数据存储或业务逻辑的完整应用。
技术架构与依赖
- 编程语言:Go
- 主要依赖:
- 各 AI 供应商的官方 SDK(如 OpenAI、Anthropic、AWS Bedrock、Azure 等)。
yt-dlp:用于 YouTube 视频处理。ffmpeg:用于媒体文件处理(如语音转文字时的文件分割)。- Jina AI:用于网页抓取。
- 项目结构:遵循标准 Go 项目布局,主要代码位于
cmd/和internal/目录。
安装与快速开始
一键安装(推荐):
Unix/Linux/macOS:
curl -fsSL https://raw.githubusercontent.com/danielmiessler/fabric/main/scripts/installer/install.sh | bash
Windows PowerShell:
iwr -useb https://raw.githubusercontent.com/danielmiessler/fabric/main/scripts/installer/install.ps1 | iex
使用包管理器:
- macOS (Homebrew):
brew install fabric-ai - Arch Linux (AUR):
yay -S fabric-ai - Windows (Winget):
winget install danielmiessler.Fabric - Windows (Scoop):
scoop install fabric-ai
从源码安装:
go install github.com/danielmiessler/fabric/cmd/fabric@latest
Docker:
docker run --rm -it kayvan/fabric:latest --version
快速开始:
- 运行
fabric --setup进行配置,选择 AI 供应商并设置 API 密钥。 - 使用
fabric --listpatterns查看可用 Patterns。 - 使用
echo "你的文本" | fabric --pattern summarize运行 Pattern。
典型使用方法
使用 Pattern 处理文本:
pbpaste | fabric --pattern summarize
处理 YouTube 视频:
fabric -y "https://youtube.com/watch?v=uXs-zPc63kM" --stream --pattern extract_wisdom
抓取网页并分析:
fabric -u https://github.com/danielmiessler/fabric/ -p analyze_claims
使用提示词策略:
echo "Analyze this code" | fabric --strategy cot -p analyze_code
启动 REST API 服务器:
fabric --serve
配置与部署要点
- 配置文件:主要配置存储在
~/.config/fabric/目录下,包括.env(API 密钥)和config.yaml。 - 环境变量:需要根据操作系统设置
GOROOT、GOPATH和PATH环境变量。 - 供应商配置:通过
fabric --setup交互式配置,或手动编辑.env文件。 - 自定义 Patterns:在
fabric --setup中指定自定义 Patterns 目录,或手动创建于~/.config/fabric/patterns/。 - Docker 部署:可通过 Docker 运行,需挂载配置目录
$HOME/.fabric-config。 - REST API 安全:可通过
--api-key参数设置 API 密钥以保护服务器路由。
限制、风险与许可证
- 许可证:MIT License。
- 依赖外部 AI 服务:Fabric 本身不提供 AI 能力,依赖外部 AI 供应商,其安全性、可用性和数据策略由供应商决定。
- Patterns 安全性:自定义 Patterns 可能处理敏感数据或产生不当输出,建议仔细审查来源不明的 Patterns。
- API 密钥安全:API 密钥存储在
~/.config/fabric/.env文件中,需妥善保管,避免泄露。 - Azure AI Gateway 限制:不支持流式响应,请求超时上限为 5 分钟。
- GitHub Models 速率限制:免费层有每日请求次数限制。
官方链接
- GitHub 仓库:https://github.com/danielmiessler/fabric
- 最新版本:v1.4.473
- 文档目录:https://github.com/danielmiessler/Fabric/tree/main/docs
- DeepWiki:https://deepwiki.com/danielmiessler/Fabric
信息来源和分析时间
- 信息来源:GitHub 仓库 README、文档目录(docs/)及最新 Release 信息。
- 分析时间:2026年8月29日(基于最新 Release 发布日期)。