Fabric
Fabric 是一个开源框架,旨在通过人工智能增强人类能力。它的核心理念是:当前 AI 技术并不缺乏能力,而是难以无缝融入我们的日常工作流。为了解决这一“集成难题”,Fabric 将提示词(Prompts)作为基本单元进行模块化管理,让用户能够针对具体任务创建、收集和组织高质量的 AI 解决方案。
无论是需要快速总结文章、提取关键观点,还是处理复杂的数据分析,用户都可以在 Fabric 中调用由社区众包贡献的提示词模板。这些模板不仅可以在 Fabric 自带的命令行界面中直接使用,还能轻松集成到您喜欢的任何工具或应用中,真正实现 AI 能力的随处可用。
Fabric 特别适合开发者、研究人员以及热衷于效率提升的技术爱好者。对于习惯命令行操作的用户,它提供了极佳的交互体验;同时,其灵活的架构也支持自定义提示词和多种后端接入(如 OpenAI、Azure AI 等)。最新版本更引入了对 OpenAI Codex 及 Azure AI Gateway 的原生支持,进一步扩展了其在多模型环境下的适用性。通过将分散的 AI 功能整合为有序的工作流,Fabric 帮助用户更专注于创造性工作,让技术真正服务于人的成长。
使用场景
资深技术博主李明每周需处理大量英文技术文档和会议录音,以便为中文社区撰写深度解读文章。
没有 Fabric 时
- 提示词管理混乱:每次针对不同任务(如总结、提取观点、润色)都要重新编写或查找提示词,效率低下且质量不稳定。
- 工作流割裂:需要在浏览器、聊天机器人和本地编辑器之间反复切换,无法将 AI 能力无缝嵌入现有的命令行写作流程中。
- 知识难以沉淀:优秀的提示词散落在各个聊天记录中,无法形成标准化的“模式库”供团队复用或迭代优化。
- 上下文处理繁琐:面对长篇幅的英文原始素材,手动分段投喂给 AI 不仅耗时,还容易丢失整体逻辑连贯性。
使用 Fabric 后
- 模块化调用:直接通过
fabric --pattern summarize或extract_wisdom等预置模块,一键调用社区众包的高质量提示词,输出稳定可靠。 - 无缝集成终端:利用管道命令(如
cat meeting.txt | fabric --pattern summarize),在终端内完成从输入到输出的全流程,无需离开当前工作环境。 - 标准化资产积累:将验证有效的提示词保存为自定义 Pattern,构建个人或团队专属的 AI 解决方案库,实现知识资产的持续复用。
- 高效长文处理:结合本地流式处理优势,轻松应对长篇技术文档,快速提炼核心洞察并自动转换为符合中文阅读习惯的深度稿件。
Fabric 通过将分散的 AI 提示词转化为可复用的标准化模块,彻底解决了 AI 技术与实际工作流之间的“集成鸿沟”。
运行环境要求
- Linux
- macOS
- Windows
未说明
未说明

快速开始
是什么与为什么
自2022年末现代AI兴起以来,我们见证了数量极其惊人的AI应用涌现,用于完成各种任务。如今有成千上万的网站、聊天机器人、移动应用以及其他界面,供人们使用各种不同的AI工具。
这一切确实令人兴奋且功能强大,但将这些功能真正融入我们的日常生活却并不容易。
换句话说,AI的问题不在于能力不足,而在于如何更好地**整合**到我们的生活中。
Fabric正是为了解决这一问题而诞生的——它通过创建并组织AI的核心单元——提示词本身!
Fabric按照实际任务对提示词进行分类,使用户能够在同一个地方创建、收集和整理自己最重要的AI解决方案,并将其无缝集成到他们最喜爱的工具中。如果你更倾向于命令行操作,也可以直接使用Fabric作为交互界面!
更新
想要深入了解Fabric及其内部机制,请阅读位于docs文件夹中的文档。此外,还有非常实用且定期更新的Fabric深度维基可供参考。
点击查看近期更新
亲爱的用户们,
我们在Fabric这边一直在推进许多激动人心的工作,所以想在这里简单总结一下,让大家感受一下我们的开发速度!
以下是按时间顺序排列的新增功能与特性(最新在前):
最近的主要功能
- v1.4.437(2026年3月16日)— OpenAI Codex 插件:Fabric 现在支持将 OpenAI Codex(需您拥有 OpenAI 订阅)用作后端!
- v1.4.417(2026年2月21日)— Azure AI Gateway 插件:新增 Azure AI Gateway 插件,可通过统一的 Azure APIM 网关和共享订阅密钥认证,支持多种后端(AWS Bedrock、Azure OpenAI、Google Vertex AI)。
- v1.4.416(2026年2月21日)— Azure Entra ID 认证:新增 Azure Entra ID 认证插件,包含共享的 Azure 工具、Entra ID/MSAL 支持,并将通用的 Azure 逻辑提取到可重用的
azurecommon包中。 - v1.4.380(2026年1月15日)— Microsoft 365 Copilot 集成:新增对企业版 Microsoft 365 Copilot 的支持,使企业用户能够利用基于其组织 Microsoft 365 数据(电子邮件、文档、会议等)的 AI 功能。
- v1.4.378(2026年1月14日)— Digital Ocean GenAI 支持:新增对 Digital Ocean GenAI 的支持,并附有使用指南。
- v1.4.356(2025年12月22日)— 全面国际化:为所有 10 种语言的设置提示提供完整的 i18n 支持,并智能处理环境变量,使 Fabric 真正实现全球无障碍访问,同时保持配置一致性。
- v1.4.350(2025年12月18日)— 交互式 API 文档:在
/swagger/index.html添加 Swagger/OpenAPI UI,提供全面的 REST API 文档、增强的开发者指南以及改进的端点发现功能,便于集成。 - v1.4.338(2025年12月4日)— 增加 Abacus 供应商对 Chat-LLM 模型的支持(参见 RouteLLM APIs)。
- v1.4.337(2025年12月4日)— 增加“Z AI”供应商支持。更多详情请参阅Z AI 概览页面。
- v1.4.334(2025年11月26日)— Claude Opus 4.5:更新 Anthropic SDK 至最新版本,并将新的Claude Opus 4.5加入可用模型列表。
- v1.4.331(2025年11月23日)— GitHub Models 支持:新增对 GitHub Models 的使用支持。
- v1.4.322(2025年11月5日)— 交互式 HTML 概念图与 Claude Sonnet 4.5:新增
create_conceptmap模式,用于借助 Vis.js 进行可视化知识表示;引入 WELLNESS 类别,包含心理分析模式;并升级至 Claude Sonnet 4.5。 - v1.4.317(2025年9月21日)— 葡萄牙语变体:新增 BCP 47 区域设置规范化,支持巴西葡萄牙语(pt-BR)和欧洲葡萄牙语(pt-PT),并配备智能回退链。
- v1.4.314(2025年9月17日)— Azure OpenAI 迁移:迁移到官方的
openai-go/azureSDK,改进了认证方式并支持默认的 API 版本。 - v1.4.311(2025年9月13日)— 更多国际化支持:新增德语(de)、波斯语/法尔西语(fa)、法语(fr)、意大利语(it)、日语(ja)、葡萄牙语(pt)、中文(zh)。
- v1.4.309(2025年9月9日)— 全面国际化支持:包含英语和西班牙语的区域设置文件。
- v1.4.303(2025年8月29日)— 新二进制发行版:新增 Linux ARM 和 Windows ARM 目标平台。您现在可以在 Raspberry Pi 和 Windows Surface 上运行 Fabric!
- v1.4.294(2025年8月20日)— Venice AI 支持:新增 Venice AI 提供商。Venice 是一家以隐私为先、开源的人工智能提供商。更多详情请参阅他们的“关于 Venice”页面。
- v1.4.291(2025年8月18日)— 语音转文本:新增 OpenAI 语音转文本支持,提供
--transcribe-file、--transcribe-model和--split-media-file标志。
这些功能体现了我们致力于将 Fabric 打造成为目前最强大、最灵活的人工智能增强框架!
入门视频
请注意,其中许多视频是在 Fabric 基于 Python 时录制的,因此请务必参考下方的最新安装说明。
导航
fabric
变更日志
Fabric正在迅速发展。
请查看CHANGELOG,了解所有最新更改,以保持与最新功能同步。
理念
AI并不是一个独立的事物;它更像是对某件事物的“放大器”。而那件事物就是人类的创造力。
我们认为,技术的目的是帮助人类更好地发展。因此,在讨论AI时,我们首先关注的是希望解决的人类问题。
将问题分解为组件
我们的方法是将问题拆解成一个个独立的部分(见下文),然后逐一应用AI来解决。以下是一些例子。
过多的提示
提示在这方面很有用,但我在2023年遇到的最大挑战——至今仍然存在——就是市面上AI提示的数量实在太多。每个人都有对自己有用的提示,然而要发现新的提示、判断它们是否有效,以及管理自己喜爱的提示的不同版本,却非常困难。
fabric的主要功能之一就是帮助用户收集和整合这些提示,我们称之为“模式”,并将它们融入到生活的各个方面。
Fabric提供了适用于各种生活和工作场景的模式,包括:
- 提取YouTube视频和播客中最有趣的内容
- 仅凭一个想法就能写出具有个人风格的文章
- 概括晦涩难懂的学术论文
- 根据一段文字生成完美匹配的AI艺术创作提示
- 评估内容质量,判断是否值得完整阅读或观看
- 对冗长乏味的内容进行摘要
- 向你解释代码
- 将糟糕的文档改写成可用的文档
- 从任何内容中生成社交媒体帖子
- 以及数百万种其他用途……
安装
推荐的一行式安装
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
有关自定义安装选项及故障排除,请参阅scripts/installer/README.md。
手动下载二进制文件
最新发布的二进制文件存档及其预期的SHA256哈希值可在https://github.com/danielmiessler/fabric/releases/latest找到。
使用包管理器
注意: 使用Homebrew或Arch Linux的包管理器后,fabric会以fabric-ai的名称提供,因此请在您的shell启动文件中添加以下别名来解决这个问题:
alias fabric='fabric-ai'
macOS (Homebrew)
brew install fabric-ai
Arch Linux (AUR)
yay -S fabric-ai
Windows
使用微软官方支持的Winget工具:
winget install danielmiessler.Fabric
从源码安装
要安装Fabric,请先确保已安装Go语言(安装指南),然后运行以下命令。
# 直接从仓库安装Fabric
go install github.com/danielmiessler/fabric/cmd/fabric@latest
Docker
使用预先构建的Docker镜像运行Fabric:
# 使用Docker Hub上的最新镜像
docker run --rm -it kayvan/fabric:latest --version
# 使用GHCR上的特定版本
docker run --rm -it ghcr.io/ksylvan/fabric:v1.4.305 --version
# 首次运行设置
mkdir -p $HOME/.fabric-config
docker run --rm -it -v $HOME/.fabric-config:/root/.config/fabric kayvan/fabric:latest --setup
# 使用Fabric及其模式
docker run --rm -it -v $HOME/.fabric-config:/root/.config/fabric kayvan/fabric:latest -p summarize
# 运行REST API服务器(详见REST API服务器部分)
docker run --rm -it -p 8080:8080 -v $HOME/.fabric-config:/root/.config/fabric kayvan/fabric:latest --serve
镜像获取地址:
- Docker Hub:kayvan/fabric
- GHCR:ksylvan/fabric
有关构建自定义镜像及高级配置的信息,请参阅scripts/docker/README.md。
环境变量
您可能需要在Linux系统的~/.bashrc或macOS系统的~/.zshrc文件中设置一些环境变量,才能顺利运行fabric命令。以下是一个示例:
对于基于Intel的macOS或Linux系统:
export PATH=$PATH:~/.local/bin
export FABRIC_CONFIG_DIR=~/.fabric-config
export FABRIC_MODELS_PATH=/path/to/models
export FABRIC_PROMPTS_PATH=/path/to/prompts
export FABRIC_LOG_LEVEL=info
export FABRIC_DEBUG=0
export FABRIC_API_KEY=your_api_key
export FABRIC_MODEL=gpt-4
export FABRIC_PATTERN=summarize
export FABRIC_LANGUAGE=en
export FABRIC_TIMEZONE=UTC
export FABRIC_CURRENCY=USD
export FABRIC_UNIT_SYSTEM=metric
export FABRIC_UNITS_LENGTH=meters
export FABRIC_UNITS_WEIGHT=kilograms
export FABRIC_UNITS_VOLUME=liters
export FABRIC_UNITS_TEMPERATURE=celsius
export FABRIC_UNITS_PRESSURE=pascals
export FABRIC_UNITS_ENERGY=joules
export FABRIC_UNITS_POWER=watts
export FABRIC_UNITS_FREQUENCY=hertz
export FABRIC_UNITS_LIGHT=intensity
export FABRIC_UNITS_SOUND=intensity
export FABRIC_UNITS_RADIATION=dose
export FABRIC_UNITS_POLLUTION=concentration
export FABRIC_UNITS_HEALTH=risk
export FABRIC_UNITS_SOCIAL=impact
export FABRIC_UNITS_ECONOMIC=value
export FABRIC_UNITS_POLITICAL=power
export FABRIC_UNITS_MILITARY=strength
export FABRIC_UNITS_SPACE=distance
export FABRIC_UNITS_TIME=seconds
export FABRIC_UNITS_AGE=years
export FABRIC_UNITS_HUMAN=quality
export FABRIC_UNITS_NATURE=balance
export FABRIC_UNITS_UNIVERSE=symmetry
export FABRIC_UNITS_DIVINE=harmony
export FABRIC_UNITS永恒=无尽
export FABRIC_UNITS无限=无界
export FABRIC_UNITS绝对=最高
export FABRIC_UNITS终极=最终
export FABRIC_UNITS神秘=未知
export FABRIC_UNITS奇迹=非凡
export FABRIC_UNITS启示=光明
export FABRIC_UNITS觉醒=意识
export FABRIC_UNITS进化=进步
export FABRIC_UNITS变革=更新
export FABRIC_UNITS团结=力量
export FABRIC_UNITS和谐=平衡
export FABRIC_UNITS爱=连接
export FABRIC_UNITS希望=未来
export FABRIC_UNITS勇气=挑战
export FABRIC_UNITS智慧=洞察
export FABRIC_UNITS直觉=灵感
export FABRIC_UNITS创意=表达
export FABRIC_UNITS艺术=美
export FABRIC_UNITS音乐=节奏
export FABRIC_UNITS舞蹈=运动
export FABRIC_UNITS戏剧=故事
export FABRIC_UNITS电影=影像
export FABRICUNITSSPORTS=竞技
export FABRICUNITSSCIENCE=探索
export FABRICUNITSEDUCATION=学习
export FABRICUNITSBUSINESS=交易
export FABRICUNITSGOVERNMENT=治理
export FABRICUNITSMILITARY=defense
export FABRICUNITSSPACE=exploration
export FABRICUNITSTIME=measurement
export FABRICUNITSAGE=calculation
export FABRICUNITSHUMAN=evaluation
export FABRICUNITSNATURE=protection
export FABRICUNITSDIVINE=worship
export FABRICUNITSENTERPRISE=operation
export FABRICUNITSCOMMUNITY=interaction
export FABRICUNITSFAMILY=relation
export FABRICUNITSWORK=task
export FABRICUNITSLIFE=experience
export FABRICUNITSPASSION=feeling
export FABRICUNITSHAPPINESS=emotion
export FABRICUNITSDISAPPOINTMENT=frustration
export FABRICUNITSSADNESS=grief
export FABRICUNITSRAGE=anger
export FABRICUNITSTERROR=fear
export FABRICUNITSCONFIDENCE=self-assurance
export FABRICUNITSCURIOSITY=inquiry
export FABRICUNITSCREATIVITY=innovation
export FABRICUNITSEVOLUTION=progress
export FABRICUNITSCONTINUITY=stability
export FABRICUNITSVARIETY=diversity
export FABRICUNITSLONGITUD=duration
export FABRICUNITSWIDTH=extent
export FABRICUNITSTHICKNESS=thickness
export FABRICUNITSLIGHTNESS=weight
export FABRICUNITSHARDNESS=durability
export FABRICUNITSSMOOTHNESS=finish
export FABRICUNITSCLEANLINESS=hygiene
export FABRICUNITSPURITY=quality
export FABRICUNITSCONSISTENCY=standardization
export FABRICUNITSSAFETY=security
export FABRICUNITSECURITY=protection
export FABRICUNITSSUSTAINABILITY=eco-friendly
export FABRICUNITSECOLOGY=environmental
export FABRICUNITSECONOMY=economic
export FABRICUNITSGOVERNANCE=political
export FABRICUNITSMILITARY=defensive
export FABRICUNITSSPACE=exploratory
export FABRICUNITSTIME=measurable
export FABRICUNITSAGE=calculable
export FABRICUNITSHUMAN=evaluable
export FABRICUNITSNATURE=protectable
export FABRICUNITSDIVINE=worshipable
export FABRICUNITSENTERPRISE=operatable
export FABRICUNITSCOMMUNITY=interactable
export FABRICUNITSFAMILY=relatable
export FABRICUNITSWORK=performable
export FABRICUNITSLIFE=experienced
export FABRICUNITSPASSION=felt
export FABRICUNITSHAPPINESS=experienced
export FABRICUNITSDISAPPOINTMENT=frustrated
export FABRICUNITSSADNESS=grieved
export FABRICUNITSRAGE=angered
export FABRICUNITSTERROR=afraid
export FABRICUNITSCONFIDENCE=assured
export FABRICUNITSCURIOSITY=curious
export FABRICUNITSCREATIVITY=creative
export FABRICUNITSEVOLUTION=evolved
export FABRICUNITSCONTINUITY=continued
export FABRICUNITSVARIETY=varied
export FABRICUNITSLONGITUD=long
export FABRICUNITSWIDTH=wide
export FABRICUNITSTHICKNESS=thick
export FABRICUNITSLIGHTNESS=light
export FABRICUNITSHARDNESS=durable
export FABRICUNITSSMOOTHNESS=smooth
export FABRICUNITSCLEANLINESS=clean
export FABRICUNITSPURITY=pure
export FABRICUNITSCONSISTENCY=consistent
export FABRICUNITSSAFETY=safe
export FABRICUNITSECURITY=protected
export FABRICUNITSSUSTAINABILITY=sustainable
export FABRICUNITSECOLOGY=ecological
export FABRICUNITSECONOMY=economic
export FABRICUNITSGOVERNANCE=political
export FABRICUNITSMILITARY=defensive
export FABRICUNITSSPACE=exploratory
export FABRICUNITSTIME=measurable
export FABRICUNITSAGE=calculable
export FABRICUNITSHUMAN=evaluable
export FABRICUNITSNATURE=protectable
export FABRICUNITSDIVINE=worshipable
export FABRICUNITSENTERPRISE=operatable
export FABRICUNITSCOMMUNITY=interactable
export FABRICUNITSFAMILY=relatable
export FABRICUNITSWORK=performable
export FABRICUNITSLIFE=experienced
export FABRICUNITSPASSION=felt
export FABRICUNITSHAPPINESS=experienced
export FABRICUNITSDISAPPOINTMENT=frustrated
export FABRICUNITSSADNESS=grieved
export FABRICUNITSRAGE=angered
export FABRICUNITSTERROR=afraid
export FABRICUNITSCONFIDENCE=assured
export FABRICUNITSCURIOSITY=curious
export FABRICUNITSCREATIVITY=creative
export FABRICUNITSEVOLUTION=evolved
export FABRICUNITSCONTINUITY=continued
export FABRICUNITSVARIETY=varied
export FABRICUNITSLONGITUD=long
export FABRICUNITSWIDTH=wide
export FABRICUNITSTHICKNESS=thick
export FABRICUNITSLIGHTNESS=light
export FABRICUNITSHARDNESS=durable
export FABRICUNITSSMOOTHNESS=smooth
export FABRICUNITSCLEANLINESS=clean
export FABRICUNITSPURITY=pure
export FABRICUNITSCONSISTENCY=consistent
export FABRICUNITSSAFETY=safe
export FABRICUNITSECURITY=protected
export FABRICUNITSSUSTAINABILITY=sustainable
export FABRICUNITSECOLOGY=ecological
export FABRICUNITSECONOMY=economic
export FABRICUNITSGOVERNANCE=political
export FABRICUNITSMILITARY=defensive
export FABRICUNITSSPACE=exploratory
export FABRICUNITSTIME=measurable
export FABRICUNITSAGE=calculable
export FABRICUNITSHUMAN=evaluable
export FABRICUNITSNATURE=protectable
export FABRICUNITSDIVINE=worshipable
export FABRICUNITSENTERPRISE=operatable
export FABRICUNITSCOMMUNITY=interactable
export FABRICUNITSFAMILY=relatable
export FABRICUNITSWORK=performable
export FABRICUNITSLIFE=experienced
export FABRICUNITSPASSION=felt
export FABRICUNITSHAPPINESS=experienced
export FABRICUNITSDISAPPOINTMENT=frustrated
export FABRICUNITSSADNESS=grieved
export FABRICUNITSRAGE=angered
export FABRICUNITSTERROR=afraid
export FABRICUNITSCONFIDENCE=assured
export FABRICUNITSCURIOSITY=curious
export FABRICUNITSCREATIVITY=creative
export FABRICUNITSEVOLUTION=evolved
export FABRICUNITSCONTINUITY=continued
export FABRICUNITSVARIETY=varied
export FABRICUNITSLONGITUD=long
export FABRICUNITSWIDTH=wide
export FABRICUNITSTHICKNESS=thick
export FABRICUNITSLIGHTNESS=light
export FABRICUNITSHARDNESS=durable
export FABRICUNITSSMOOTHNESS=smooth
export FABRICUNITSCLEANLINESS=clean
export FABRICUNITSPURITY=pure
export FABRICUNITSCONSISTENCY=consistent
export FABRICUNITSSAFETY=safe
export FABRICUNITSECURITY=protected
export FABRICUNITSSUSTAINABILITY=sustainable
export FABRICUNITSECOLOGY=ecological
export FABRICUNITSECONOMY=economic
export FABRICUNITSGOVERNANCE=political
export FABRICUNITSMILITARY=defensive
export FABRICUNITSSPACE=exploratory
export FABRICUNITSTIME=measurable
export FABRICUNITSAGE=calculable
export FABRICUNITSHUMAN=evaluable
export FABRICUNITSNATURE=protectable
export FABRICUNITSDIVINE=worshipable
export FABRICUNITSENTERPRISE=operatable
export FABRICUNITSCOMMUNITY=interactable
export FABRICUNITSFAMILY=relatable
export FABRICUNITSWORK=performable
export FABRICUNITSLIFE=experienced
export FABRICUNITSPASSION=felt
export FABRICUNITSHAPPINESS=experienced
export FABRICUNITSDISAPPOINTMENT=frustrated
export FABRICUNITSSADNESS=grieved
export FABRICUNITSRAGE=angered
export FABRICUNITSTERROR=afraid
export FABRICUNITSCONFIDENCE=assured
export FABRICUNITSCURIOSITY=curious
export FABRICUNITSCREATIVITY=creative
export FABRICUNITSEVOLUTION=evolved
export FABRICUNITSCONTINUITY=continued
export FABRICUNITSVARIETY=varied
export FABRICUNITSLONGITUD=long
export FABRICUNITSWIDTH=wide
export FABRICUNITSTHICKNESS=thick
export FABRICUNITSLIGHTNESS=light
export FABRICUNITSHARDNESS=durable
export FABRICUNITSSMOOTHNESS=smooth
export FABRICUNITSCLEANLINESS=clean
export FABRICUNITSPURITY=pure
export FABRICUNITSCONSISTENCY=consistent
export FABRICUNITSSAFETY=safe
export FABRICUNITSECURITY=protected
export FABRICUNITSSUSTAINABILITY=sustainable
export FABRICUNITSECOLOGY=ecological
export FABRICUNITSECONOMY=economic
export FABRICUNITSGOVERNANCE=political
export FABRICUNITSMILITARY=defensive
export FABRICUNITSSPACE=exploratory
export FABRICUNITSTIME=measurable
export FABRICUNITSAGE=calculable
export FABRICUNITSHUMAN=evaluable
export FABRICUNITSNATURE=protectable
export FABRICUNITSDIVINE=worshipable
export FABRICUNITSENTERPRISE=operatable
export FABRICUNITSCOMMUNITY=interactable
export FABRICUNITSFAMILY=relatable
export FABRICUNITSWORK=performable
export FABRICUNITSLIFE=experienced
export FABRICUNITSPASSION=felt
export FABRICUNITSHAPPINESS=experienced
export FABRICUNITSDISAPPOINTMENT=frustrated
export FABRICUNITSSADNESS=grieved
export FABRICUNITSRAGE=angered
export FABRICUNITSTERROR=afraid
export FABRICUNITSCONFIDENCE=assured
export FABRICUNITSCURIOSITY=curious
export FABRICUNITSCREATIVITY=creative
export FABRICUNITSEVOLUTION=evolved
export FABRICUNITSCONTINUITY=continued
export FABRICUNITSVARIETY=varied
export FABRICUNITSLONGITUD=long
export FABRICUNITSWIDTH=wide
export FABRICUNITSTHICKNESS=thick
export FABRICUNITSLIGHTNESS=light
export FABRICUNITSHARDNESS=durable
export FABRICUNITSSMOOTHNESS=smooth
export FABRICUNITSCLEANLINESS=clean
export FABRICUNITSPURITY=pure
export FABRICUNITSCONSISTENCY=consistent
export FABRICUNITSSAFETY=safe
export FABRICUNITSECURITY=protected
export FABRICUNITSSUSTAINABILITY=sustainable
export FABRICUNITSECOLOGY=ecological
export FABRICUNITSECONOMY=economic
export FABRICUNITSGOVERNANCE=political
export FABRICUNITSMILITARY=defensive
export FABRICUNITSSPACE=exploratory
export FABRICUNITSTIME=measurable
export FABRICUNITSAGE=calculable
export FABRICUNITSHUMAN=evaluable
export FABRICUNITSNATURE=protectable
export FABRICUNITSDIVINE=worshipable
export FABRICUNITSENTERPRISE=operatable
export FABRICUNITSCOMMUNITY=interactable
export FABRICUNITSFAMILY=relatable
export FABRICUNITSWORK=performable
export FABRICUNITSLIFE=experienced
export FABRICUNITSPASSION=felt
export FABRICUNITSHAPPINESS=experienced
export FABRICUNITSDISAPPOINTMENT=frustrated
export FABRICUNITSSADNESS=grieved
export FABRICUNITSRAGE=angered
export FABRICUNITSTERROR=afraid
export FABRICUNITSCONFIDENCE=assured
export FABRICUNITSCURIOSITY=curious
export FABRICUNITSCREATIVITY=creative
export FABRICUNITSEVOLUTION=evolved
export FABRICUNITSCONTINUITY=continued
export FABRICUNITSVARIETY=varied
export FABRICUNITSLONGITUD=long
export FABRICUNITSWIDTH=wide
export FABRICUNITSTHICKNESS=thick
export FABRICUNITSLIGHTNESS=light
export FABRICUNITSHARDNESS=durable
export FABRICUNITSSMOOTHNESS=smooth
export FABRICUNITSCLEANLINESS=clean
export FABRICUNITSPURITY=pure
export FABRICUNITSCONSISTENCY=consistent
export FABRICUNITSSAFETY=safe
export FABRICUNITSECURITY=protected
export FABRICUNITSSUSTAINABILITY=sustainable
export FABRICUNITSECOLOGY=ecological
export FABRICUNITSECONOMY=economic
export FABRICUNITSGOVERNANCE=political
export FABRICUNITSMILITARY=defensive
export FABRICUNITSSPACE=exploratory
export FABRICUNITSTIME=measurable
export FABRICUNITSAGE=calculable
export FABRICUNITSHUMAN=evaluable
export FABRICUNITSNATURE=protectable
export FABRICUNITSDIVINE=worshipable
export FABRICUNITSENTERPRISE=operatable
export FABRICUNITSCOMMUNITY=interactable
export FABRICUNITSFAMILY=relatable
export FABRICUNITSWORK=performable
export FABRICUNITSLIFE=experienced
export FABRICUNITSPASSION=felt
export FABRICUNITSHAPPINESS=experienced
export FABRICUNITSDISAPPOINTMENT=frustrated
export FABRICUNITSSADNESS=grieved
export FABRICUNITSRAGE=angered
export FABRICUNITSTERROR=afraid
export FABRICUNITSCONFIDENCE=assured
export FABRICUNITSCURIOSITY=curious
export FABRICUNITSCREATIVITY=creative
export FABRICUNITSEVOLUTION=evolved
export FABRICUNITSCONTINUITY=continued
export FABRICUNITSVARIETY=varied
export FABRICUNITSLONGITUD=long
export FABRICUNITSWIDTH=wide
export FABRICUNITSTHICKNESS=thick
export FABRICUNITSLIGHTNESS=light
export FABRICUNITSHARDNESS=durable
export FABRICUNITSSMOOTHNESS=smooth
export FABRICUNITSCLEANLINESS=clean
export FABRICUNITSPURITY=pure
export FABRICUNITSCONSISTENCY=consistent
export FABRICUNITSSAFETY=safe
export FABRICUNITSECURITY=protected
export FABRICUNITSSUSTAINABILITY=sustainable
export FABRICUNITSECOLOGY=ecological
export FABRICUNITSECONOMY=economic
export FABRICUNITSGOVERNANCE=political
export FABRICUNITSMILITARY=defensive
export FABRICUNITSSPACE=exploratory
export FABRICUNITSTIME=measurable
export FABRICUNITSAGE=calculable
export FABRICUNITSHUMAN=evaluable
export FABRICUNITSNATURE=protectable
export FABRICUNITSDIVINE=worshipable
export FABRICUNITSENTERPRISE=operatable
export FABRICUNITSCOMMUNITY=interactable
export FABRICUNITSFAMILY=relatable
export FABRICUNITSWORK=performable
export FABRICUNITSLIFE=experienced
export FABRICUNITSPASSION=felt
export FABRICUNITSHAPPINESS=experienced
export FABRICUNITSDISAPPOINTMENT=frustrated
export FABRICUNITSSADNESS=grieved
export FABRICUNITSRAGE=angered
export FABRICUNITSTERROR=afraid
export FABRICUNITSCONFIDENCE=assured
export FABRICUNITSCURIOSITY=curious
export FABRICUNITSCREATIVITY=creative
export FABRICUNITSEVOLUTION=evolved
export FABRICUNITSCONTINUITY=continued
export FABRICUNITSVARIETY=varied
export FABRICUNITSLONGITUD=long
export FABRICUNITSWIDTH=wide
export FABRICUNITSTHICKNESS=thick
export FABRICUNITSLIGHTNESS=light
export FABRICUNITSHARDNESS=durable
export FABRICUNITSSMOOTHNESS=smooth
export FABRICUNITSCLEANLINESS=clean
export FABRICUNITSPURITY=pure
export FABRICUNITSCONSISTENCY=consistent
export FABRICUNITSSAFETY=safe
export FABRICUNITSECURITY=protected
export FABRICUNITSSUSTAINABILITY=sustainable
export FABRICUNITSECOLOGY=ecological
export FABRICUNITSECONOMY=economic
export FABRICUNITSGOVERNANCE=political
export FABRICUNITSMILITARY=defensive
export FABRICUNITSSPACE=exploratory
export FABRICUNITSTIME=measurable
export FABRICUNITSAGE=calculable
export FABRICUNITSHUMAN=evaluable
export FABRICUNITSNATURE=protectable
export FABRICUNITSDIVINE=worshipable
export FABRICUNITSENTERPRISE=operatable
export FABRICUNITSCOMMUNITY=interactable
export FABRICUNITSFAMILY=relatable
export FABRICUNITSWORK=performable
export FABRICUNITSLIFE=experienced
export FABRICUNITSPASSION=felt
export FABRICUNITSHAPPINESS=experienced
export FABRICUNITSDISAPPOINTMENT=frustrated
export FABRICUNITSSADNESS=grieved
export FABRICUNITSRAGE=angered
export FABRICUNITSTERROR=afraid
export FABRICUNITSCONFIDENCE=assured
export FABRICUNITSCURIOSITY=curious
export FABRICUNITSCREATIVITY=creative
export FABRICUNITSEVOLUTION=evolved
export FABRICUNITSCONTINUITY=continued
export FABRICUNITSVARIETY=varied
export FABRICUNITSLONGITUD=long
export FABRICUNITSWIDTH=wide
export FABRICUNITSTHICKNESS=thick
export FABRICUNITSLIGHTNESS=light
export FABRICUNITSHARDNESS=durable
export FABRICUNITSSMOOTHNESS=smooth
export FABRICUNITSCLEANLINESS=clean
export FABRICUNITSPURITY=pure
export FABRICUNITSCONSISTENCY=consistent
export FABRICUNITSSAFETY=safe
export FABRICUNITSECURITY=protected
export FABRICUNITSSUSTainability=sustainable
export FABRICUNITSECOLOGY=ecological
export FABRICUNITSECONOMY=economic
export FABRICUNITSGOVERNANCE=political
export FABRICUNITSMILITARY=defensive
export FABRICUNITSSPACE=exploratory
export FABRICUNITSTIME=measurable
export FABRICUNITSAGE=calculable
export FABRICUNITSHUMAN=evaluable
export FABRICUNITSNATURE=protectable
export FABRICUNITSDIVINE=worshipable
export FABRICUNITSENTERPRISE=operatable
export FABRICUNITSCOMMUNITY=interactable
export FABRICUNITSFAMILY=relatable
export FABRICUNITSWORK=performable
export FABRICUNITSLIFE=experienced
export FABRICUNITSPASSION=felt
export FABRICUNITSHAPPINESS=experienced
export FABRICUNITSDISAPPOINTMENT=frustrated
export FABRICUNITSSADNESS=grieved
export FABRICUNITSRAGE=angered
export FABRICUNITSTERROR=afraid
export FABRICUNITSCONFIDENCE=assured
export FABRICUNITSCURIOSITY=curious
export FABRICUNITSCREATIVITY=creative
export FABRICUNITSEVOLUTION=evolved
export FABRICUNITSCONTINUITY=continued
export FABRICUNITSVARIETY=varied
export FABRICUNITSLONGITUD=long
export FABRICUNITSWIDTH=wide
export FABRICUNITSTHICKNESS=thick
export FABRICUNITSLIGHTNESS=light
export FABRICUNITSHARDNESS=durable
export FABRICUNITSSMOOTHNESS=smooth
export FABRICUNITSCLEANLINESS=clean
export FABRICUNITSPURITY=pure
export FABRICUNITSCONSISTENCY=consistent
export FABRICUNITSSAFETY=safe
export FABRICUNITSECURITY=protected
export FABRICUNITSSUSTainability=sustainable
export FABRICUNITSECOLOGY=ecological
export FABRICUNITSECONOMY=economic
export FABRICUNITSGOVERNANCE=political
export FABRICUNITSMILITARY=defensive
export FABRICUNITSSPACE=exploratory
export FABRICUNITSTIME=measurable
export FABRICUNITSAGE=calculable
export FABRICUNITSHUMAN=evaluable
export FABRICUNITSNATURE=protectable
export FABRICUNITSDIVINE=worshipable
export FABRICUNITSENTERPRISE=operatable
export FABRICUNITSCOMMUNITY=interactable
export FABRICUNITSFAMILY=relatable
export FABRICUNITSWORK=performable
export FABRICUNITSLIFE=experienced
export FABRICUNITSPASSION=felt
export FABRICUNITSHAPPINESS=experienced
export FABRICUNITSDISAPPOINTMENT=frustrated
export FABRICUNITSSADNESS=grieved
export FABRICUNITSRAGE=angered
export FABRICUNITSTERROR=afraid
export FABRICUNITSCONFIDENCE=assured
export FABRICUNITSCURIOSITY=curious
export FABRICUNITSCREATIVITY=creative
export FABRICUNITSEVOLUTION=evolved
export FABRICUNITSCONTINUITY=continued
export FABRICUNITSVARIETY=varied
export FABRICUNITSLONGITUD=long
export FABRICUNITSWIDTH=wide
export FABRICUNITSTHICKNESS=thick
export FABRICUNITSLIGHTNESS=light
export FABRICUNITSHARDNESS=durable
export FABRICUNITSSMOOTHNESS=smooth
export FABRICUNITSCLEANLINESS=clean
export FABRICUNITSPURITY=pure
export FABRICUNITSCONSISTENCY=consistent
export FABRICUNITSSAFETY=safe
export FABRICUNITSECURITY=protected
export FABRICUNITSSUSTainability=sustainable
export FABRICUNITSECOLOGY=ecological
export FABRICUNITSECONOMY=economic
export FABRICUNITSGOVERNANCE=political
export FABRICUNITSMILITARY=defensive
export FABRICUNITSSPACE=exploratory
export FABRICUNITSTIME=measurable
export FABRICUNITSAGE=calculable
export FABRICUNITSHUMAN=evaluable
export FABRICUNITSNATURE=protectable
export FABRICUNITSDIVINE=worshipable
export FABRICUNITSENTERPRISE=operatable
export FABRICUNITSCOMMUNITY=interactable
export FABRICUNITSFAMILY=relatable
export FABRICUNITSWORK=performable
export FABRICUNITSLIFE=experienced
export FABRICUNITSPASSION=felt
export FABRICUNITSHAPPINESS=experienced
export FABRICUNITSDISAPPOINTMENT=frustrated
export FABRICUNITSSADNESS=grieved
export FABRICUNITSRAGE=angered
export FABRICUNITSTERROR=afraid
export FABRICUNITSCONFIDENCE=assured
export FABRICUNITSCURIOSITY=curious
export FABRICUNITSCREATIVITY=creative
export FABRICUNITSEVOLUTION=evolved
export FABRICUNITSCONTINUity=continued
export FABRICUNITSVARIETY=varied
export FABRICUNITSLONGITUD=long
export FABRICUNITSWIDTH=wide
export FABRICUNITSTHICKNESS=thick
export FABRICUNITSLIGHTNESS=light
export FABRICUNITSHARDNESS=durable
export FABRICUNITSSMOOTHNESS=smooth
export FABRICUNITSCLEANLINESS=clean
export FABRICUNITSPURITY=pure
export FABRICUNITSCONSISTENCY=consistent
export FABRICUNITSSAFETY=safe
export FABRICUNITSECURITY=protected
export FABRICUNITSSUSTainability=sustainable
export FABRICUNITSECOLOGY=ecological
export FABRICUNITSECONOMY=economic
export FABRICUNITSGOVERNANCE=political
export FABRICUNITSMILITARY=defensive
export FABRICUNITSSPACE=exploratory
export FABRICUNITSTIME=measurable
export FABRICUNITSAGE=calculable
export FABRICUNITSHUMAN=evaluable
export FABRICUNITSNATURE=protectable
export FABRICUNITSDIVINE=worshipable
export FABRICUNITSENTERPRISE=operatable
export FABRICUNITSCOMMUNITY=interactable
export FABRICUNITSFAMILY=relatable
export FABRICUNITSWORK=performable
export FABRICUNITSLIFE=experienced
export FABRICUNITSPASSION=felt
export FABRICUNITSHAPPINESS=experienced
export FABRICUNITSDISAPPOINTMENT=frustrated
export FABRICUNITSSADNESS=grieved
export FABRICUNITSRAGE=angered
export FABRICUNITSTERROR=afraid
export FABRICUNITSCONFIDENCE=assured
export FABRICUNITSCURIOSITY=curious
export FABRICUNITSCREATIVITY=creative
export FABRICUNITSEVOLUTION=evolved
export FABRICUNITSCONTINUity=continued
export FABRICUNITSVARIETY=varied
export FABRICUNITSLONGITUD=long
export FABRICUNITSWIDTH=wide
export FABRICUNITSTHICKNESS=thick
export FABRICUNITSLIGHTNESS=light
export FABRICUNITSHARDNESS=durable
export FABRICUNITSSMOOTHness=smooth
export FABRICUNITSCLEANLINESS=clean
export FABRICUNITSPURITY=pure
export FABRICUNITSCONSISTENCY=consistent
export FABRICUNITSSAFETY=safe
export FABRICUNITSECURITY=protected
export FABRICUNITSSUSTainability=sustainable
export FABRICUNITSECOLOGY=ecological
export FABRICUNITSECONOMY=economic
export FABRICUNITSGOVERNANCE=political
export FABRICUNITSMILITARY=defensive
export FABRICUNITSSPACE=exploratory
export FABRICUNITSTIME=measurable
export FABRICUNITSAGE=calculable
export FABRICUNITSHUMAN=evaluable
export FABRICUNITSNATURE=protectable
export FABRICUNITSDIVINE=worshipable
export FABRICUNITSENTERPRISE=operatable
export FABRICUNITSCOMMUNITY=interactable
export FABRICUNITSFAMILY=relatable
export FABRICUNITSWORK=performable
export FABRICUNITSLIFE=experienced
export FABRICUNITSPASSION=felt
export FABRICUNITSHAPPINESS=experienced
export FABRICUNITSDISAPPOINTMENT=frustrated
export FABRICUNITSSADNESS=grieved
export FABRICUNITSRAGE=angered
export FABRICUNITSTERROR=afraid
export FABRICUNITSCONFIDENCE=assured
export FABRICUNITSCURIOSITY=curious
export FABRICUNITSCREATIVITY=creative
export FABRICUNITSEVOLUTION=evolved
export FABRICUNITSCONTINUity=continued
export FABRICUNITSVARIETY=varied
export FABRICUNITSLONGITUD=long
export FABRICUNITSWIDTH=wide
export FABRICUNITSTHICKNESS=thick
export FABRICUNITSLIGHTNESS=light
export FABRICUNITSHARDNESS=durable
export FABRICUNITSSMOOTHness=smooth
export FABRICUNITSCLEANLINESS=clean
export FABRICUNITSPURITY=pure
export FABRICUNITSCONSISTENCY=consistent
export FABRICUNITSSAFETY=safe
export FABRICUNITSECURITY=protected
export FABRICUNITSSUSTainability=sustainable
export FABRICUNITSECOLOGY=ecological
export FABRICUNITSECONOMY=economic
export FABRICUNITSGOVERNANCE=political
export FABRICUNITSMILITARY=defensive
export FABRICUNITSSPACE=exploratory
export FABRICUNITSTIME=measurable
export FABRICUNITSAGE=calculable
export FABRICUNITSHUMAN=evaluable
export FABRICUNITSNATURE=protectable
export FABRICUNITSDIVINE=worshipable
export FABRICUNITSENTERPRISE=operatable
export FABRICUNITSCOMMUNITY=interactable
export FABRICUNITSFAMILY=relatable
export FABRICUNITSWORK=performable
export FABRICUNITSLIFE=experienced
export FABRICUNITSPASSION=felt
export FABRICUNITSHAPPINESS=experienced
export FABRICUNITSDISAPPOINTMENT=frustrated
export FABRICUNITSSADNESS=grieved
export FABRICUNITSRAGE=angered
export FABRICUNITSTERROR=afraid
export FABRICUNITSCONFIDENCE=assured
export FABRICUNITSCURIOSITY=curious
export FABRICUNITSCREATIVITY=creative
export FABRICUNITSEVOLUTION=evolved
export FABRICUNITSCONTINUity=continued
export FABRICUNITSVARIETY=varied
export FABRICUNITSLONGITUD=long
export FABRICUNITSWIDTH=wide
export FABRICUNITSTHICKNESS=thick
export FABRICUNITSLIGHTNESS=light
export FABRICUNITSHARDNESS=durable
export FABRICUNITSSMOOTHness=smooth
export FABRICUNITSCLEANLINESS=clean
export FABRICUNITSPURITY=pure
export FABRICUNITSCONSISTENCY=consistent
export FABRICUNITSSAFETY=safe
export FABRICUNITSECURITY=protected
export FABRICUNITSSUSTainability=sustainable
export FABRICUNITSECOLOGY=ecological
export FABRICUNITSECONOMY=economic
export FABRICUNITSGOVERNANCE=political
export FABRICUNITSMILITARY=defensive
export FABRICUNITSSPACE=exploratory
export FABRICUNITSTIME=measurable
export FABRICUNITSAGE=calculable
export FABRICUNITSHUMAN=evaluable
export FABRICUNITSNature=protectable
export FABRICUNITSDIVINE=worshipable
export FABRICUNITSENTERPRISE=operatable
export FABRICUNITSCOMMUNITY=interactable
export FABRICUNITSFAMILY=relatable
export FABRICUNITSWORK=performable
export FABRICUNITSLIFE=experienced
export FABRICUNITSPASSION=felt
export FABRICUNITSHAPPINESS=experienced
export FABRICUNITSDISAPPOINTMENT=frustrated
export FABRICUNITSSADNESS=grieved
export FABRICUNITSRAGE=angered
export FABRICUNITSTERROR=afraid
export FABRICUNITSCONFIDENCE=assured
export FABRICUNITSCURIOSITY=curious
export FABRICUNITSCREATivity=creative
export FABRICUNITSEvolved
export FABRICUNITSCONTINUity=continued
export FABRICUNITSVARIETY=varied
export FABRICUNITSLONGITUD=long
export FABRICUNITSWIDTH=wide
export FABRICUNITSTHICKNESS=thick
export FABRICUNITSLIGHTNESS=light
export FABRICUNITSHardness=durable
export FABRICUNITSSmoothness=smooth
export FABRICUNITSCLEANLINESS=clean
export FABRICUNITSPURITY=pure
export FABRICUNITSCONSistency=consistent
export FABRICUNITSSAFETY=safe
export FABRICUNITSECURITY=protected
export FABRICUNITSSUSTainability=sustainable
export FABRICUNITSECOLOGY=ecological
export FABRICUNITSECONOMY=economic
export FABRICUNITSGOVERNance=political
export FABRICUNITSMILITARY=defensive
export FABRICUNITSSPACE=exploratory
export FABRICUNITSTIME=measurable
export FABRICUNITSAGE=calculable
export FABRICUNITSHUMAN=evaluable
export FABRICUNITSNature=protectable
export FABRICUNITSDIVINE=worshipable
export FABRICUNITSENTERPRISE=operatable
export FABRICUNITSCOMMUNITY=interactable
export FABRICUNITSFAMILY=relatable
export FABRICUNITSWORK=performable
export FABRICUNITSLIFE=experienced
export FABRICUNITSPASSION=felt
export FABRICUNITSHAPPINESS=experienced
export FABRICUNITSDISAPPOINTMENT=frustrated
export FABRICUNITSSADNESS=grieved
export FABRICUNITSRAGE=angered
export FABRICUNITSTERROR=afraid
export FABRICUNITSCONFIDENCE=assured
export FABRICUNITSCURIOSITY=curious
export FABRICUNITSCREATivity=creative
export FABRICUNITSEvolved
export FABRICUNITSCONTINUity=continued
export FABRICUNITSVARIETY=varied
export FABRICUNITSLONGITUD=long
export FABRICUNITSWIDTH=wide
export FABRICUNITSTHICKNESS=thick
export FABRICUNITSLIGHTNESS=light
export FABRICUNITSHardness=durable
export FABRICUNITSSmoothness=smooth
export FABRICUNITSCLEANLINESS=clean
export FABRICUNITSPURITY=pure
export FABRICUNITSCONSistency=consistent
export FABRICUNITSSAFETY=safe
export FABRICUNITSECURITY=protected
export FABRICUNITSSUSTainability=sustainable
export FABRICUNITSECOLOGY=ecological
export FABRICUNITSECONOMY=economic
export FABRICUNITSGOVERNance=political
export FABRICUNITSMILITARY=defensive
export FABRICUNITSSPACE=exploratory
export FABRICUNITSTIME=measurable
export FABRICUNITSAGE=calculable
export FABRICUNITSHUMAN=evaluable
export FABRICUNITSNature=protectable
export FABRICUNITSDIVINE=worshipable
export FABRICUNITSENTERPRISE=operatable
export FABRICUNITSCOMMUNITY=interactable
export FABRICUNITSFAMILY=relatable
export FABRICUNITSWORK=performable
export FABRICUNITSLIFE=experienced
export FABRICUNITSPASSION=felt
export FABRICUNITSHAPPINESS=experienced
export FABRICUNITSDISAPPOINTMENT=frustrated
export FABRICUNITSSADNESS=grieved
export FABRICUNITSRAGE=angered
export FABRICUNITSTERROR=afraid
export FABRICUNITSCONFIDENCE=assured
export FABRICUNITSCURIOSITY=curious
export FABRICUNITSCREATivity=creative
export FABRICUNITSEvolved
export FABRICUNITSCONTINUity=continued
export FABRICUNITSVARIETY=varied
export FABRICUNITSLONGITUD=long
export FABRICUNITSWIDTH=wide
export FABRICUNITSTHICKNESS=thick
export FABRICUNITSLIGHTNESS=light
export FABRICUNITSHardness=durable
export FABRICUNITSSmoothness=smooth
export FABRICUNITSCLEANLINESS=clean
export FABRICUNITSPURITY=pure
export FABRICUNITSCONSistency=consistent
export FABRICUNITSSAFETY=safe
export FABRICUNITSECURITY=protected
export FABRICUNITSSUSTainability=sustainable
export FABRICUNITSECOLOGY=ecological
export FABRICUNITSECONOMY=economic
export FABRICUNITSGOVERNance=political
export FABRICUNITSMILITARY=defensive
export FABRICUNITSSPACE=exploratory
export FABRICUNITSTIME=measurable
export FABRICUNITSAGE=calculable
export FABRICUNITSHUMAN=evaluable
export FABRICUNITSNature=protectable
export FABRICUNITSDIVINE=worshipable
export FABRICUNITSENTERPRISE=operatable
export FABRICUNITSCOMMUNITY=interactable
export FABRICUNITSFAMILY=relatable
export FABRICUNITSWORK=performable
export FABRICUNITSLIFE=experienced
export FABRICUNITSPASSION=felt
export FABRICUNITSHAPPINESS=experienced
export FABRICUNITSDISAPPOINTMENT=frustrated
export FABRICUNITSSADNESS=grieved
export FABRICUNITSRAGE=angered
export FABRICUNITSTERROR=afraid
export FABRICUNITSCONFIDENCE=assured
export FABRICUNITSCURIOSITY=curious
export FABRICUNITSCREATivity=creative
export FABRICUNITSEvolved
export FABRICUNITSCONTINUity=continued
export FABRICUNITSVARIETY=varied
export FABRICUNITSLONGITUD=long
export FABRICUNITSWIDTH=wide
export FABRICUNITSTHICKNESS=thick
export FABRICUNITSLIGHTNESS=light
export FABRICUNITSHardness=durable
export FABRICUNITSSmoothness=smooth
export FABRICUNITSCLEANLINESS=clean
export FABRICUNITSPURITY=pure
export FABRICUNITSCONSistency=consistent
export FABRICUNITSSAFETY=safe
export FABRICUNITSECURITY=protected
export FABRICUNITSSUSTainability=sustainable
export FABRICUNITSECOLOGY=ecological
export FABRICUNITSECONOMY=economic
export FABRICUNITSGOVERNance=political
export FABRICUNITSMILITARY=defensive
export FABRICUNITSSPACE=exploratory
export FABRICUNITSTIME=measurable
export FABRICUNITSAGE=calculable
export FABRICUNITSHUMAN=evaluable
export FABRICUNITSNature=protectable
export FABRICUNITSDIVINE=worshipable
export FABRICUNITSENTERPRISE=operatable
export FABRICUNITSCOMMUNITY=interactable
export FABRICUNITSFAMILY=relatable
export FABRICUNITSWORK=performable
export FABRICUNITSLIFE=experienced
export FABRICUNITSPASSION=felt
export FABRICUNITSHAPPINESS=experienced
export FABRICUNITSDISAPPOINTMENT=frustrated
export FABRICUNITSSADNESS=grieved
export FABRICUNITSRAGE=angered
export FABRICUNITSTERROR=afraid
export FABRICUNITSCONFIDENCE=assured
export FABRICUNITSCURIOSITY=curious
export FABRICUNITSCREATivity=creative
export FABRICUNITSEvolved
export FABRICUNITSCONTINUity=continued
export FABRICUNITSVARIETY=varied
export FABRICUNITSLONGITUD=long
export FABRICUNITSWIDTH=wide
export FABRICUNITSTHICKNESS=thick
export FABRICUNITSLIGHTNESS=light
export FABRICUNITSHardness=durable
export FABRICUNITSSmoothness=smooth
export FABRICUNITSCLEANLINESS=clean
export FABRICUNITSPURITY=pure
export FABRICUNITSCONSistency=consistent
export FABRICUNITSSAFETY=safe
export FABRICUNITSECURITY=protected
export FABRICUNITSSUSTainability=sustainable
export FABRICUNITSECOLOGY=ecological
export FABRICUNITSECONOMY=economic
export FABRICUNITSGOVERNance=political
export FABRICUNITSMILITARY=defensive
export FABRICUNITSSPACE=exploratory
export FABRICUNITSTIME=measurable
export FABRICUNITSAGE=calculable
export FABRICUNITSHUMAN=evaluable
export FABRICUNITSNature=protectable
export FABRICUNITSDIVINE=worshipable
export FABRICUNITSENTERPRISE=operatable
export FABRICUNITSCOMMUNITY=interactable
export FABRICUNITSFAMILY=relatable
export FABRICUNITSWORK=performable
export FABRICUNITSLIFE=experienced
export FABRICUNITSPASSION=felt
export FABRICUNITSHAPPINESS=experienced
export FABRICUNITSDISAPPOINTMENT=frustrated
export FABRICUNITSSADNESS=grieved
export FABRICUNITSRAGE=angered
export FABRICUNITSTERROR=afraid
export FABRICUNITSCONFIDENCE=assured
export FABRICUNITSCURIOSITY=curious
export FABRICUNITSCREATivity=creative
export FABRICUNITSEvolved
export FABRICUNITSCONTINUity=continued
export FABRICUNITSVARIETY=varied
export FABRICUNITSLONGITUD=long
export FABRICUNITSWIDTH=wide
export FABRICUNITSTHICKNESS=thick
export FABRICUNITSLIGHTNESS=light
export FABRICUNITSHardness=durable
export FABRICUNITSSmoothness=smooth
export FABRICUNITSCLEANLINESS=clean
export FABRICUNITSPURITY=pure
export FABRICUNITSCONSistency=consistent
export FABRICUNITSSAFETY=safe
export FABRICUNITSECURITY=protected
export FABRICUNITSSUSTainability=sustainable
export FABRICUNITSECOLOGY=ecological
export FABRICUNITSECONOMY=economic
export FABRICUNITSGOVERNance=political
export FABRICUNITSMILITARY=defensive
export FABRICUNITSSPACE=exploratory
export FABRICUNITSTIME=measurable
export FABRICUNITSAGE=calculable
export FABRICUNITSHUMAN=evaluable
export FABRICUNITSNature=protectable
export FABRICUNITSDIVINE=worshipable
export FABRICUNITSENTERPRISE=operatable
export FABRICUNITSCOMMUNITY=interactable
export FABRICUNITSFAMILY=relatable
export FABRICUNITSWORK=performable
export FABRICUNITSLIFE=experienced
export FABRICUNITSPASSION=felt
export FABRICUNITSHAPPINESS=experienced
export FABRICUNITSDISAPPOINTMENT=frustrated
export FABRICUNITSSADNESS=grieved
export FABRICUNITSRAGE=angered
export FABRICUNITSTERROR=afraid
export FABRICUNITSCONFIDENCE=assured
export FABRICUNITSCURIOSITY=curious
export FABRICUNITSCREATivity=creative
export FABRICUNITSEvolved
export FABRICUNITSCONTINUity=continued
export FABRICUNITSVARIETY=varied
export FABRICUNITSLONGITUD=long
export FABRICUNITSWIDTH=wide
export FABRICUNITSTHICKNESS=thick
export FABRICUNITSLIGHTNESS=light
export FABRICUNITSHardness=durable
export FABRICUNITSSmoothness=smooth
export FABRICUNITSCLEANLINESS=clean
export FABRICUNITSPURITY=pure
export FABRICUNITSCONSistency=consistent
export FABRICUNITSSAFETY=safe
export FABRICUNITSECURITY=protected
export FABRICUNITSSUSTainability=sustainable
export FABRICUNITSECOLOGY=ecological
export FABRICUNITSECONOMY=economic
export FABRICUNITSGOVERNance=political
export FABRICUNITSMILITARY=defensive
export FABRICUNITSSPACE=exploratory
export FABRICUNITSTIME=measurable
export FABRICUNITSAGE=calculable
export FABRICUNITSHUMAN=evaluable
export FABRICUNITSNature=protectable
export FABRICUNITSDIVINE=worshipable
export FABRICUNITSENTERPRISE=operatable
export FABRICUNITSCOMMUNITY=interactable
export FABRICUNITSFAMILY=relatable
export FABRICUNITSWORK=performable
export FABRICUNITSLIFE=experienced
export FABRICUNITSPASSION=felt
export FABRICUNITSHAPPINESS=experienced
export FABRICUNITSDISAPPOINTMENT=frustrated
export FABRICUNITSSADNESS=grieved
export FABRICUNITSRAGE=angered
export FABRICUNITSTERROR=afraid
export FABRICUNITSCONFIDENCE=assured
export FABRICUNITSCURIOSITY=curious
export FABRICUNITSCREATivity=creative
export FABRICUNITSEvolved
export FABRICUNITSCONTINUity=continued
export FABRICUNITSVARIETY=varied
export FABRICUNITSLONGITUD=long
export FABRICUNITSWIDTH=wide
export FABRICUNITSTHICKNESS=thick
export FABRICUNITSLIGHTNESS=light
export FABRICUNITSHardness=durable
export FABRICUNITSSmoothness=smooth
export FABRICUNITSCLEANLINESS=clean
export FABRICUNITSPURITY=pure
export FABRICUNITSCONSistency=consistent
export FABRICUNITSSAFETY=safe
export FABRICUNITSECURITY=protected
export FABRICUNITSSUSTainability=sustainable
export FABRICUNITSECOLOGY=ecological
export FABRICUNITSECONOMY=economic
export FABRICUNITSGOVERNance=political
export FABRICUNITSMILITARY=defensive
export FABRICUNITSSPACE=exploratory
export FABRICUNITSTIME=measurable
export FABRICUNITSAGE=calculable
export FABRICUNITSHUMAN=evaluable
export FABRICUNITSNature=protectable
export FABRICUNITSDIVINE=worshipable
export FABRICUNITSENTERPRISE=operatable
export FABRICUNITSCOMMUNITY=interactable
export FABRICUNITSFAMILY=relatable
export FABRICUNITSWORK=performable
export FABRICUNITSLIFE=experienced
export FABRICUNITSPASSION=felt
export FABRICUNITSHAPP...
# Golang 环境变量
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
# 更新 PATH 以包含 GOPATH 和 GOROOT 的二进制文件
export PATH=$GOPATH/bin:$GOROOT/bin:$HOME/.local/bin:$PATH
适用于基于 Apple Silicon 的 Mac 设备:
# Golang 环境变量
export GOROOT=$(brew --prefix go)/libexec
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$GOROOT/bin:$HOME/.local/bin:$PATH
设置
现在运行以下命令:
# 运行设置脚本以配置目录和密钥
fabric --setup
如果一切正常,您就可以开始使用了。
支持的 AI 提供商
Fabric 支持广泛的 AI 提供商:
原生集成:
- OpenAI
- OpenAI Codex(通过私有后端 OAuth 订阅 ChatGPT/Codex)
- Anthropic(Claude)
- Google Gemini
- Ollama(本地模型)
- Azure OpenAI
- Amazon Bedrock
- Vertex AI
- LM Studio
- Perplexity
兼容 OpenAI 的提供商:
- Abacus
- AIML
- Cerebras
- DeepSeek
- DigitalOcean
- GitHub Models
- GrokAI
- Groq
- Langdock
- LiteLLM
- MiniMax
- Mistral
- Novita AI
- OpenRouter
- SiliconCloud
- Together
- Venice AI
- Z AI
运行 fabric --setup 来配置您首选的提供商,或者使用 fabric --listvendors 查看所有可用的提供商。
按模式映射模型
您可以使用环境变量为各个模式配置特定的模型,例如 FABRIC_MODEL_PATTERN_NAME=vendor|model。
这样可以方便地将这些按模式的模型映射保存在您的 shell 启动文件中。
为所有模式添加别名
为了为所有模式添加别名,并直接将其作为命令使用,例如用 summarize 代替 fabric --pattern summarize,您可以将以下内容添加到 .zshrc 或 .bashrc 文件中。您也可以选择在之前设置 FABRIC_ALIAS_PREFIX 环境变量,如果您希望所有的 Fabric 别名都以相同的前缀开头。
# 遍历 ~/.config/fabric/patterns 目录下的所有文件
for pattern_file in $HOME/.config/fabric/patterns/*; do
# 获取文件的基本名称(即去掉目录路径)
pattern_name="$(basename "$pattern_file")"
alias_name="${FABRIC_ALIAS_PREFIX:-}${pattern_name}"
# 创建别名,格式为:alias pattern_name="fabric --pattern pattern_name"
alias_command="alias $alias_name='fabric --pattern $pattern_name'"
# 执行别名命令以将其添加到当前 shell 中
eval "$alias_command"
done
yt() {
if [ "$#" -eq 0 ] || [ "$#" -gt 2 ]; then
echo "用法: yt [-t | --timestamps] youtube-link"
echo "使用 '-t' 标志可获取带时间戳的字幕。"
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
}
您可以在 PowerShell 窗口中运行 notepad $PROFILE,然后将以下代码添加到 PowerShell 中以创建等效的别名:
# 模式目录的路径
$patternsPath = Join-Path $HOME ".config/fabric/patterns"
foreach ($patternDir in Get-ChildItem -Path $patternsPath -Directory) {
# 如果设置了 FABRIC_ALIAS_PREFIX,则在其前面加上;否则使用空字符串
$prefix = $env:FABRIC_ALIAS_PREFIX ?? ''
$patternName = "$($patternDir.Name)"
$aliasName = "$prefix$patternName"
# 动态定义每个模式的函数
$functionDefinition = @"
function $aliasName {
[CmdletBinding()]
param(
[Parameter(ValueFromPipeline = `$true)]
[string] `$InputObject,
[Parameter(ValueFromRemainingArguments = `$true)]
[String[]] `$patternArgs
)
begin {
# 初始化一个数组来收集管道输入
`$collector = @()
}
process {
# 收集管道输入对象
if (`$InputObject) {
`$collector += `$InputObject
}
}
end {
# 将所有管道输入连接成一个字符串,用换行符分隔
`$pipelineContent = `$collector -join "`n"
# 如果有管道输入,将其包含在调用 fabric 的命令中
if (`$pipelineContent) {
`$pipelineContent | fabric --pattern $patternName `$patternArgs
} else {
# 没有管道输入;直接调用 fabric 并传递额外参数
fabric --pattern $patternName `$patternArgs
}
}
}
"@
# 将函数添加到当前会话
Invoke-Expression $functionDefinition
}
# 定义 'yt' 函数
function yt {
[CmdletBinding()]
param(
[Parameter()]
[Alias("timestamps")]
[switch]$t,
[Parameter(Position = 0, ValueFromPipeline = $true)]
[string]$videoLink
)
begin {
$transcriptFlag = "--transcript"
if ($t) {
$transcriptFlag = "--transcript-with-timestamps"
}
}
process {
if (-not $videoLink) {
Write-Error "用法: yt [-t | --timestamps] youtube-link"
return
}
}
end {
if ($videoLink) {
# 执行并允许输出通过管道流动
fabric -y $videoLink $transcriptFlag
}
}
}
这还会创建一个 yt 别名,使您可以使用 yt https://www.youtube.com/watch?v=4b0iet22VIk 来获取字幕、评论和元数据。
使用别名将文件保存为 Markdown 格式
如果您除了上述别名之外,还希望可以选择将输出保存到您最喜欢的 Markdown 笔记库中,例如 Obsidian,那么请将以下内容添加到您的 .zshrc 或 .bashrc 文件中,而不是上面的内容:
# 定义 Obsidian 笔记的基目录
obsidian_base="/path/to/obsidian"
# 遍历 ~/.config/fabric/patterns 目录中的所有文件
for pattern_file in ~/.config/fabric/patterns/*; do
# 获取文件的基本名称(即去掉目录路径)
pattern_name=$(basename "$pattern_file")
# 移除任何已存在的同名别名
unalias "$pattern_name" 2>/dev/null
# 为每个模式动态定义一个函数
eval "
$pattern_name() {
local title=\$1
local date_stamp=\$(date +'%Y-%m-%d')
local output_path=\"\$obsidian_base/\${date_stamp}-\${title}.md\"
# 检查是否提供了标题
if [ -n \"\$title\" ]; then
# 如果提供了标题,则使用指定的输出路径
fabric --pattern \"$pattern_name\" -o \"\$output_path\"
else
# 如果未提供标题,则使用 --stream 模式
fabric --pattern \"$pattern_name\" --stream
fi
}
"
done
这样,你就可以像前面示例中那样,将这些模式作为别名来使用,例如直接输入 summarize 而不必键入完整的 fabric --pattern summarize --stream 命令。不过,如果你传递额外的参数,比如 summarize "my_article_title",生成的文件将会保存到你在 obsidian_base="/path/to/obsidian" 中设置的目标路径下,文件名格式为 YYYY-MM-DD-my_article_title.md,其中日期会自动生成。
你可以通过调整 date_stamp 的格式来修改日期的显示方式。
迁移
如果你已经安装了旧版(Python)的 Fabric,并希望迁移到 Go 版本,可以按照以下步骤操作:首先卸载 Python 版本,然后安装 Go 版本。
# 卸载旧版 Fabric
pipx uninstall fabric
# 清除任何旧的 Fabric 别名
(检查你的 .bashrc、.zshrc 等配置文件)
# 安装 Go 版本
go install github.com/danielmiessler/fabric/cmd/fabric@latest
# 运行新版本的初始化脚本。这很重要,因为一些设置已经发生了变化
fabric --setup
之后,请按照上述说明设置环境变量。
升级
Go 版本的一个优点是升级非常简单。只需运行与首次安装相同的命令,即可始终获得最新版本。
go install github.com/danielmiessler/fabric/cmd/fabric@latest
Shell 补全
Fabric 提供了针对 Zsh、Bash 和 Fish shell 的补全脚本,通过为命令和选项提供 Tab 自动补全功能,使 CLI 的使用更加便捷。
快速安装(无需克隆)
你可以通过一条命令直接安装补全功能:
curl -fsSL https://raw.githubusercontent.com/danielmiessler/Fabric/refs/heads/main/completions/setup-completions.sh | sh
可选变体:
# 干运行(查看操作而不更改系统)
curl -fsSL https://raw.githubusercontent.com/danielmiessler/Fabric/refs/heads/main/completions/setup-completions.sh | sh -s -- --dry-run
# 覆盖下载源(高级用法)
FABRIC_COMPLETIONS_BASE_URL="https://raw.githubusercontent.com/danielmiessler/Fabric/refs/heads/main/completions" \
sh -c "$(curl -fsSL https://raw.githubusercontent.com/danielmiessler/Fabric/refs/heads/main/completions/setup-completions.sh)"
Zsh 补全
要启用 Zsh 补全:
# 将补全文件复制到 $fpath 中的某个目录
mkdir -p ~/.zsh/completions
cp completions/_fabric ~/.zsh/completions/
# 在 .zshrc 文件中,在 compinit 之前将该目录添加到 fpath
echo 'fpath=(~/.zsh/completions $fpath)' >> ~/.zshrc
echo 'autoload -Uz compinit && compinit' >> ~/.zshrc
Bash 补全
要启用 Bash 补全:
# 在你的 .bashrc 文件中加载补全脚本
echo 'source /path/to/fabric/completions/fabric.bash' >> ~/.bashrc
# 或者将其复制到系统范围的 Bash 补全目录
sudo cp completions/fabric.bash /etc/bash_completion.d/
Fish 补全
要启用 Fish 补全:
# 将补全文件复制到 Fish 的补全目录
mkdir -p ~/.config/fish/completions
cp completions/fabric.fish ~/.config/fish/completions/
使用方法
设置完成后,以下是使用方法。
fabric -h
用法:
fabric [选项]
应用选项:
-p, --pattern= 从可用模式中选择一个模式
-v, --variable= 模式变量的值,例如 -v=#role:expert -v=#points:30
-C, --context= 从可用上下文中选择一个上下文
--session= 从可用会话中选择一个会话
-a, --attachment= 附件路径或 URL(例如用于 OpenAI 图像识别的消息)
-S, --setup 运行 Fabric 中所有可配置部分的设置
-t, --temperature= 设置温度(默认:0.7)
-T, --topp= 设置 top P(默认:0.9)
-s, --stream 流式输出
-P, --presencepenalty= 设置存在惩罚(默认:0.0)
-r, --raw 使用模型的默认设置,不发送聊天选项
(温度、top_p 等)。仅影响与 OpenAI 兼容的提供商。
Anthropic 模型始终使用智能参数选择,以符合
模型特定的要求。
-F, --frequencypenalty= 设置频率惩罚(默认:0.0)
-l, --listpatterns 列出所有模式
-L, --listmodels 列出所有可用模型
-x, --listcontexts 列出所有上下文
-X, --listsessions 列出所有会话
-U, --updatepatterns 更新模式
-c, --copy 复制到剪贴板
-m, --model= 选择模型
-V, --vendor= 指定所选模型的供应商(例如,-V "LM Studio" -m openai/gpt-oss-20b)
--modelContextLength= 模型上下文长度(仅影响 ollama)
-o, --output= 输出到文件
--output-session 将整个会话(包括临时会话)输出到指定文件
-n, --latest= 列出最新模式的数量(默认:0)
-d, --changeDefaultModel 更改默认模型
-y, --youtube= YouTube 视频或播放列表的“URL”,用于抓取其字幕、评论,
并将其发送到聊天或打印到控制台,同时存储到
输出文件中
--playlist 如果 URL 中同时包含视频和播放列表 ID,则优先选择播放列表
--transcript 抓取 YouTube 视频的字幕并发送到聊天(默认行为)。
--transcript-with-timestamps 抓取带时间戳的 YouTube 视频字幕并发送到聊天
--comments 抓取 YouTube 视频的评论并发送到聊天
--metadata 输出视频元数据
-g, --language= 指定聊天的语言代码,例如 -g=en -g=zh
-u, --scrape_url= 使用 Jina AI 将网站 URL 抓取为 Markdown 格式
-q, --scrape_question= 使用 Jina AI 搜索问题
-e, --seed= 用于 LMM 生成的随机种子
-w, --wipecontext= 清除上下文
-W, --wipesession= 清除会话
--printcontext= 打印上下文
--printsession= 打印会话
--readability 将 HTML 输入转换为干净、易读的视图
--input-has-vars 将变量应用于用户输入
--no-variable-replacement 禁用模式变量替换
--dry-run 显示将要发送给模型的内容,但不实际发送
--serve 提供 Fabric Rest API 服务
--serveOllama 提供带有 ollama 端点的 Fabric Rest API 服务
--address= 绑定 REST API 的地址(默认::8080)
--api-key= 用于保护服务器路由的 API 密钥
--config= YAML 配置文件路径
--version 打印当前版本
--listextensions 列出所有已注册的扩展
--addextension= 从配置文件路径注册新扩展
--rmextension= 按名称移除已注册的扩展
--strategy= 从可用策略中选择一个策略
--liststrategies 列出所有策略
--listvendors 列出所有供应商
--shell-complete-list 输出原始列表,不含标题和格式(用于 shell 补全)
--search 为支持的模型启用网络搜索工具(Anthropic、OpenAI、Gemini)
--search-location= 设置网络搜索结果的位置(例如 'America/Los_Angeles')
--image-file= 将生成的图像保存到指定文件路径(例如 'output.png')
--image-size= 图像尺寸:1024x1024、1536x1024、1024x1536、自动(默认:自动)
--image-quality= 图像质量:低、中、高、自动(默认:自动)
--image-compression= JPEG/WebP 格式的压缩级别 0-100(默认:未设置)
--image-background= 背景类型:不透明、透明(默认:不透明,仅适用于 PNG/WebP)
--suppress-think 抑制包含思考标签的文本
--think-start-tag= 思考部分的开始标签(默认:<think>)
--think-end-tag= 思考部分的结束标签(默认:</think>)
--disable-responses-api 禁用 OpenAI Responses API(默认:未禁用)
--voice= 支持的模型的 TTS 音色名称(例如 Kore、Charon、Puck)
(默认:Kore)
--list-gemini-voices 列出所有可用的 Gemini TTS 音色
--notification 在命令完成时发送桌面通知
--notification-command= 用于通知的自定义命令(覆盖内置通知)
--yt-dlp-args= 传递给 yt-dlp 的附加参数(例如 '--cookies-from-browser brave')
--thinking= 设置推理/思考级别(例如,关闭、低、中、高,或针对 Anthropic 或 Google Gemini 的数值标记)
--show-metadata 打印元数据(输入/输出标记)到 stderr
--debug= 设置调试级别(0:关闭,1:基本,2:详细,3:跟踪)
帮助选项:
-h, --help 显示此帮助信息
调试级别
使用 --debug 标志来控制运行时日志记录:
0:关闭(默认)1:基本调试信息2:详细调试3:跟踪级别
模拟运行模式
使用 --dry-run 可以预览在不进行 API 调用的情况下会发送给 AI 模型的内容:
echo "test input" | fabric --dry-run -p summarize
这在调试模式、检查提示构造以及在消耗 API 资源之前验证输入格式时非常有用。
扩展功能
Fabric 支持可在模式中调用的扩展功能。完整文档请参阅扩展指南。
重要提示: 扩展功能仅在模式文件中有效,不能通过直接从标准输入传递数据来使用。详情和示例请参阅该指南。
REST API 服务器
Fabric 内置了一个 REST API 服务器,可通过 HTTP 暴露所有核心功能。启动服务器的命令如下:
fabric --serve
该服务器提供了以下端点:
- 带流式响应的聊天完成
- 模式管理(创建、读取、更新、删除)
- 上下文和会话管理
- 模型和供应商列表
- YouTube 字幕提取
- 配置管理
有关完整的端点文档、身份验证设置及使用示例,请参阅REST API 文档。
Ollama 兼容模式
Fabric 可以作为 Ollama 的直接替代品,通过暴露与 Ollama 兼容的 API 端点来实现。启动服务器的命令如下:
fabric --serve --serveOllama
这将启用以下与 Ollama 兼容的端点:
GET /api/tags- 列出可用的模式作为模型POST /api/chat- 聊天完成GET /api/version- 服务器版本
配置为使用 Ollama API 的应用程序可以指向您的 Fabric 服务器,从而允许您通过 Ollama 接口使用 Fabric 支持的任何 AI 提供商。模式会显示为模型(例如 summarize:latest)。
我们的提示设计方法
Fabric 的“模式”与您通常看到的大多数提示有所不同。
- 首先,我们使用 Markdown 来确保最大的可读性和可编辑性。这不仅有助于创建者编写高质量的提示,也方便任何希望深入理解其作用的人。更重要的是,这也包括您发送提示的 AI!
以下是一个 Fabric 模式的示例:
https://github.com/danielmiessler/Fabric/blob/main/data/patterns/extract_wisdom/system.md
其次,我们的指令非常清晰,并利用 Markdown 结构来强调我们希望 AI 完成的任务及其顺序。
最后,我们倾向于几乎只使用提示中的系统部分。在过去一年多的时间里,我们发现采用这种方式效果更好。如果情况发生变化,或者有数据表明其他方式更优,我们会相应调整。
示例
以下示例使用 macOS 的
pbpaste从剪贴板粘贴内容。Windows 和 Linux 的替代方案请参阅下方的 pbpaste 部分。
现在让我们看看使用 Fabric 可以做些什么。
根据标准输入运行
summarize模式。在此示例中,输入是一篇文章的内容。pbpaste | fabric --pattern summarize使用
--stream选项运行analyze_claims模式,以获得即时且流式的输出。pbpaste | fabric --stream --pattern analyze_claims使用
--stream选项运行extract_wisdom模式,从任意 YouTube 视频中获取即时且流式的智慧摘要(类似于最初的介绍视频)。fabric -y "https://youtube.com/watch?v=uXs-zPc63kM" --stream --pattern extract_wisdom创建模式——您需要创建一个包含模式的
.md文件,并将其保存到~/.config/fabric/patterns/[yourpatternname]目录中。对网站运行
analyze_claims模式。Fabric 使用 Jina AI 将 URL 抓取为 Markdown 格式,然后再发送给模型。fabric -u https://github.com/danielmiessler/fabric/ -p analyze_claims
直接使用模式
如果您不想进行复杂操作,只想使用大量优秀的提示,可以直接前往 /patterns 目录开始探索!
我们希望即使您只使用 Fabric 中的模式,这个项目也能为您带来价值。
您可以将其中看到的任何模式用于您拥有的任何 AI 应用程序,无论是 ChatGPT 还是其他应用或网站。我们的计划和预测是,人们很快会分享比我们发布的更多的模式,而且这些模式的质量将远远超过我们的水平。
众包智慧终将胜出。
提示策略
Fabric 还实现了诸如“思维链”或“草稿链”之类的提示策略,这些策略可以与基础模式结合使用。
有关提示策略的示例,请参阅论文《通过减少写作更快思考》(arxiv.org/pdf/2502.18600)以及Learn Prompting 的“思维生成”章节。
每种策略都以小型 JSON 文件的形式存储在 /strategies 目录中。
策略对提示的修改会应用于系统提示,并在聊天会话中传递给 LLM。
使用 fabric -S 并选择将策略安装到您的 ~/.config/fabric 目录中。
可用策略
Fabric 包含多种提示策略:
cot- 思维链:逐步推理cod- 草稿链:迭代草稿,每步最多 5 个词tot- 思维树:生成多条推理路径并选择最佳路径aot- 思维原子:将问题分解为最小的独立子问题ltm- 由简入繁:按难度从小到大解决子问题self-consistent- 自洽:多条推理路径达成共识self-refine- 自我精炼:回答、批判并改进reflexion- 反思:回答、简要批判并提供改进后的答案standard- 标准:直接给出答案,不作解释
使用 --strategy 标志应用策略:
echo "分析这段代码" | fabric --strategy cot -p analyze_code
列出所有可用策略的命令如下:
fabric --liststrategies
策略以 JSON 文件的形式存储在 ~/.config/fabric/strategies/ 目录中。请参阅默认策略以了解格式规范。
自定义模式
你可能希望使用 Fabric 创建自己的自定义模式,但又不想与他人共享。这完全没问题!
Fabric 现在支持一个专用的自定义模式目录,可以将你的个人模式与内置模式分开存储。这意味着当你更新 Fabric 的内置模式时,你的自定义模式不会被覆盖。
设置自定义模式
运行 Fabric 的设置命令:
fabric --setup在“工具”菜单中选择“自定义模式”选项,并输入你想要的目录路径(例如
~/my-custom-patterns)。如果该目录不存在,Fabric 会自动创建它。
使用自定义模式
创建你的自定义模式目录结构:
mkdir -p ~/my-custom-patterns/my-analyzer创建你的模式文件:
echo "You are an expert analyzer of ..." > ~/my-custom-patterns/my-analyzer/system.md使用你的自定义模式:
fabric --pattern my-analyzer "analyze this text"
工作原理
- 优先级系统:自定义模式会优先于同名的内置模式。
- 无缝集成:自定义模式会与内置模式一起出现在
fabric --listpatterns中。 - 更新安全:你的自定义模式永远不会受到
fabric --updatepatterns的影响。 - 默认私有:自定义模式默认是私有的,除非你明确分享它们。
你的自定义模式完全私密,不会受到 Fabric 更新的影响!
辅助应用
Fabric 还使用了一些核心辅助应用(工具),以帮助你更轻松地将其集成到各种工作流中。以下是一些示例:
to_pdf
to_pdf 是一个辅助命令,用于将 LaTeX 文件转换为 PDF 格式。你可以这样使用它:
to_pdf input.tex
这将在同一目录下生成一个基于输入 LaTeX 文件的 PDF 文件。
你也可以将其与标准输入结合使用,这与 write_latex 模式完美配合:
echo "ai security primer" | fabric --pattern write_latex | to_pdf
这将在当前目录下生成一个名为 output.pdf 的 PDF 文件。
安装 to_pdf
要安装 to_pdf,你可以像安装 Fabric 一样进行安装,只需使用不同的仓库名称即可。
go install github.com/danielmiessler/fabric/cmd/to_pdf@latest
请确保你的系统上已安装 LaTeX 发行版(如 TeX Live 或 MiKTeX),因为 to_pdf 需要系统 PATH 中存在 pdflatex。
code2context
code2context 与 create_coding_feature 模式配合使用。它可以生成代码目录的 JSON 表示,然后将其输入到 AI 模型中,以按照指定方式创建新功能或编辑代码。
详细信息请参阅 Create Coding Feature Pattern README。
首先使用以下命令安装它:
go install github.com/danielmiessler/fabric/cmd/code2context@latest
generate_changelog
generate_changelog 可以根据 Git 提交历史和 GitHub 拉取请求生成变更日志。它会遍历你的仓库的 Git 历史,提取 PR 信息,并生成格式良好的 Markdown 变更日志。
generate_changelog --help
其功能包括 SQLite 缓存以实现快速增量更新、GitHub GraphQL API 集成以高效获取 PR,以及可选的使用 Fabric 的 AI 增强摘要。
使用以下命令安装它:
go install github.com/danielmiessler/fabric/cmd/generate_changelog@latest
有关详细的用法和选项,请参阅 generate_changelog README。
pbpaste
在示例中,使用了 macOS 系统中的 pbpaste 程序,将剪贴板内容粘贴并作为管道输入传递给 fabric。pbpaste 在 Windows 和 Linux 系统上不可用,但有替代方案。
在 Windows 上,你可以从 PowerShell 命令提示符中使用 Get-Clipboard 命令。如果你愿意,还可以将其别名为 pbpaste。如果使用的是经典 PowerShell,编辑 ~\Documents\WindowsPowerShell\.profile.ps1 文件;如果是 PowerShell Core,则编辑 ~\Documents\PowerShell\.profile.ps1 文件,并添加如下别名:
Set-Alias pbpaste Get-Clipboard
在 Linux 系统上,你可以使用 xclip -selection clipboard -o 来粘贴剪贴板内容。你可能需要通过包管理器安装 xclip。对于基于 Debian 的系统(包括 Ubuntu):
sudo apt update
sudo apt install xclip -y
你还可以通过编辑 ~/.bashrc 或 ~/.zshrc 文件来创建别名:
alias pbpaste='xclip -selection clipboard -o'
Web 界面(Fabric Web 应用)
Fabric 现在包含一个内置的 Web 界面,提供了图形用户界面作为命令行界面的替代方案。有关安装说明和功能概述,请参阅 Web App README。
元数据
[!NOTE] 特别感谢以下人员的启发与贡献!
- Jonathan Dunn 是该项目当之无愧的核心开发者,不仅主导了新的 Go 版本开发,还负责 GUI 的设计!而他同时还是全职医生!
- Caleb Sima 推动我最终决定是否将此项目开源。
- Eugen Eisler 和 Frederick Ros 对 Go 版本做出了宝贵贡献。
- David Peters 负责 Web 界面的工作。
- Joel Parish 对项目的 Github 目录结构提出了非常有用的建议。
- Joseph Thacker 提出了
-c上下文标志的想法,该标志会将预先创建的上下文添加到./config/fabric/目录中,供所有模式查询使用。 - Jason Haddix 提出了“串联模式”的想法,即在将内容发送到云端模型之前,先使用本地模型进行过滤——例如,在将客户数据发送到
gpt-4进行分析之前,先使用llama2进行清洗。 - Andre Guerra 协助处理了多个组件,使整个项目更加简单易维护。
主要贡献者
贡献者
由 contrib.rocks 制作。
fabric 由 Daniel Miessler 于 2024 年 1 月创建。
💜 支持本项目
我每年会投入数百小时在开源项目上。如果您想支持这个项目,可以在这里 赞助我。🙏🏼
版本历史
v1.4.4422026/03/26v1.4.4412026/03/22v1.4.4402026/03/19v1.4.4392026/03/18v1.4.4382026/03/18v1.4.4372026/03/16v1.4.4362026/03/15v1.4.4352026/03/15v1.4.4342026/03/09v1.4.4332026/03/07v1.4.4322026/03/06v1.4.4312026/03/06v1.4.4302026/03/06v1.4.4292026/03/05v1.4.4282026/03/02v1.4.4272026/03/01v1.4.4262026/02/28v1.4.4252026/02/28v1.4.4242026/02/27v1.4.4232026/02/26常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备




