danielmiessler.fabric/web
Kayvan Sylvan 2c510971dd fix: preserve split UTF-8 characters in streaming responses
- Decode API response chunks with persistent streaming state
- Reuse streaming decoder when inspecting chat backend events
2026-08-29 09:26:35 -07:00
..
.github john 2024-11-26 08:40:21 2024-11-26 08:50:31 -05:00
.vscode john 2024-11-26 08:40:21 2024-11-26 08:50:31 -05:00
legacy docs: reorganize web documentation and add installation scripts 2025-05-23 17:47:33 -07:00
myfiles Remove personal development notes from tracking 2025-02-19 21:55:00 -05:00
src fix: preserve split UTF-8 characters in streaming responses 2026-08-29 09:26:35 -07:00
static feat: add greybeard_secure_prompt_engineer pattern for secure prompts 2026-01-17 09:16:46 -08:00
.browserslistrc feat: upgrade PDF.js to v4.2 and refactor worker initialization 2025-05-24 00:29:20 -07:00
.npmrc chore: update dependencies and simplify web UI install 2026-02-28 09:42:10 -08:00
.prettierignore john 2024-11-26 08:40:21 2024-11-26 08:50:31 -05:00
.prettierrc feat: modernize web stack and harden chat error handling 2026-07-30 15:06:58 -07:00
eslint.config.js feat: modernize web stack and harden chat error handling 2026-07-30 15:06:58 -07:00
jsconfig.json john 2024-11-26 08:40:21 2024-11-26 08:50:31 -05:00
package-lock.json build: upgrade SvelteKit, Shiki, and Vite web dependencies 2026-08-02 17:07:01 -07:00
package.json build: upgrade SvelteKit, Shiki, and Vite web dependencies 2026-08-02 17:07:01 -07:00
pnpm-lock.yaml build: upgrade SvelteKit, Shiki, and Vite web dependencies 2026-08-02 17:07:01 -07:00
pnpm-workspace.yaml feat(web): replace PDF.js conversion with WASM worker 2026-08-02 16:25:25 -07:00
README.md chore: update dependencies and simplify web UI install 2026-02-28 09:42:10 -08:00
rollup.config.js House Keeping: Added missing png. Removed more unused 2024-12-30 10:13:46 -05:00
STD-README.md john 2024-11-26 08:40:21 2024-11-26 08:50:31 -05:00
svelte.config.js feat: modernize web stack and harden chat error handling 2026-07-30 15:06:58 -07:00
tsconfig.json Updates 2024-12-16 18:40:15 -05:00
vite.config.ts feat(web): replace PDF.js conversion with WASM worker 2026-08-02 16:25:25 -07:00

Fabric Web App

A user-friendly web interface for Fabric built with Svelte, Skeleton UI, and Mdsvex.

Fabric Web App Preview Alt: Screenshot of the Fabric web app dashboard showing pattern inputs and outputs.

Table of Contents

Installation

Note

Requires Node.js ≥18 and Fabric installed globally (fabric --version to check).

From the web/ directory:

Using npm:

npm install

Or using pnpm (recommended for speed):

pnpm install

This will install all dependencies including Svelte, PDF-to-Markdown libraries, and run necessary setup tasks.

Running the App

Prerequisites

Start Fabric's server in a separate terminal:

fabric --serve

(This exposes Fabric's API at http://localhost:8080)

Launch the Svelte App

In the web/ directory:

Using npm:

npm run dev

Or using pnpm:

pnpm run dev

Visit http://localhost:5173 (default port).

Streamlit UI

For Python enthusiasts, this alternative UI excels at data visualization and chaining complex patterns. It supports clipboard ops across platforms (install pyperclip on Windows, xclip on Linux).

  • macOS: Uses pbcopy and pbpaste (built-in)
  • Windows: Uses pyperclip library (install with pip install pyperclip)
  • Linux: Uses xclip (install with sudo apt-get install xclip or equivalent for your Linux distribution)

Key Features

  • Run and edit patterns with real-time previews.
  • Analyze outputs with charts (via Matplotlib/Seaborn).
  • Export results to Markdown or CSV.

Setup and Run

From web/:

pip install -r requirements.txt #Or: pip install streamlit pandas matplotlib seaborn numpy python-dotenv pyperclip
streamlit run streamlit.py

Access at http://localhost:8501 (default port).

Obsidian Integration

Turn web/src/lib/content/ into an Obsidian vault for note-taking synced with Fabric patterns. It includes pre-configured .obsidian/ and templates/ folders.

Quick Setup

  1. Open Obsidian: File > Open folder as vault > Select web/src/lib/content/
  2. To publish posts, move them to the posts directory (web/src/lib/content/posts).
  3. Use Fabric patterns to generate content directly in Markdown files.

Tip

When creating new posts, make sure to include a date (YYYY-MM-DD), description, tags (e.g., #ai #patterns), and aliases for SEO. Only a date is needed to display a note. Embed images (![alt](path)), link patterns ([[pattern-name]]), or code blocks for reusable snippets—all in standard Markdown.

Contributing

Refer to the Contributing Guide for details on how to improve this content.