Faber FaberDocumentation← Home

Work with Faber

Install the local harness, guide real agent work, and keep the context and proof that make a result trustworthy.

About 15 minutes | runs on your computer | works project by project
Why Faber

What's inside

Faber is more than a chat window connected to a coding model. It is a durable workspace with a working agreement around the agent.

Plain-English partner, proof underneath

See what is happening and why without living in a terminal; inspect the technical trail when you want it.

Faber Brain

Private, cross-project knowledge keeps useful decisions and lessons available to the next piece of work.

A workspace for every project

Sessions, tickets, files, previews, and decisions belong to the project they describe.

It documents as it builds

A context map routes an agent to current project knowledge instead of replaying a giant transcript.

Your work is durable

Turns, decisions, and open work survive refreshes, handoffs, and restarts.

It checks its own work

Independent review separates an agent's claim that it is finished from a verified result.

It learns your methods

Repeated work can become a reusable skill that follows the way you actually do it.

Yours, and private

Faber is local-first. Projects can remain private and your keys stay on your machine.

Get set up

What you'll need

  • A GitHub account with access to the Faber repository.
  • A Claude subscription is the simplest builder path, though Codex sign-in, API providers, and local OpenAI-compatible servers are also supported.
  • Git, GitHub CLI, Python, and a terminal; the installer prepares the environment.
Self-contained: Faber keeps its local state in ~/.faber/faber.db, created automatically on first boot.
Get set up

Install Faber

Choose the command block for your operating system. The installer is safe to rerun when you update or repair an installation.

Windows PowerShell

winget install --id GitHub.cli -e --source winget
gh auth login
gh repo clone bennidao/Faber "$env:USERPROFILE\Faber"
& "$env:USERPROFILE\Faber\scripts\install.ps1"

Ubuntu / Debian

sudo apt update && sudo apt install -y git gh python3 python3-venv python3-pip
curl -fsSL https://claude.ai/install.sh | bash
gh auth login && gh repo clone bennidao/Faber ~/Faber && bash ~/Faber/scripts/install.sh

Fedora

sudo dnf install -y git gh python3 python3-pip
curl -fsSL https://claude.ai/install.sh | bash
gh auth login && gh repo clone bennidao/Faber ~/Faber && bash ~/Faber/scripts/install.sh

macOS

brew install git gh python
curl -fsSL https://claude.ai/install.sh | bash
gh auth login && gh repo clone bennidao/Faber ~/Faber && bash ~/Faber/scripts/install.sh

The installer signs into GitHub, creates the Python environment, installs dependencies, writes a working .env, and prepares the local database.

Get set up

Give any LLM this install prompt

Copy this prompt into the LLM you are using. It tells the model to identify your operating system, keep you in control of sign-in, and stop if an account or permission is required.

Help me install Faber on this computer. First, tell me whether you need Windows, macOS, or Linux details; if you can detect the OS, state it and proceed.

Rules:
- Explain each command before I run it and wait for me at account-login, browser-authorization, firewall, or permission prompts.
- Do not ask me to paste passwords, API keys, or tokens.
- Faber is a local-first app. Keep its data and keys local.
- I need GitHub access to bennidao/Faber and a terminal. Claude subscription login is the default builder route, but mention Codex sign-in or local/API providers as alternatives.

Windows (PowerShell):
winget install --id GitHub.cli -e --source winget
gh auth login
gh repo clone bennidao/Faber "$env:USERPROFILE\Faber"
& "$env:USERPROFILE\Faber\scripts\install.ps1"
cd "$env:USERPROFILE\Faber"
.\scripts\run.ps1

Ubuntu / Debian:
sudo apt update && sudo apt install -y git gh python3 python3-venv python3-pip
curl -fsSL https://claude.ai/install.sh | bash
gh auth login && gh repo clone bennidao/Faber ~/Faber && bash ~/Faber/scripts/install.sh
cd ~/Faber && ./scripts/run.sh

Fedora:
sudo dnf install -y git gh python3 python3-pip
curl -fsSL https://claude.ai/install.sh | bash
gh auth login && gh repo clone bennidao/Faber ~/Faber && bash ~/Faber/scripts/install.sh
cd ~/Faber && ./scripts/run.sh

macOS:
brew install git gh python
curl -fsSL https://claude.ai/install.sh | bash
gh auth login && gh repo clone bennidao/Faber ~/Faber && bash ~/Faber/scripts/install.sh
cd ~/Faber && ./scripts/run.sh

After installation, guide me through claude login if I am using a Claude subscription. Remind me not to set ANTHROPIC_API_KEY when I want subscription authentication. Then direct me to http://localhost:8088 and help me create my first project.
Get set up

Sign the agent in

The default builder uses your Claude subscription. Sign in once:

claude login
Important: do not set ANTHROPIC_API_KEY when you intend to use subscription authentication. It overrides that route and can bill API credits.

For Codex, run codex login and choose the Codex sign-in route in Settings. API and local-provider setup is covered in Bring your own models.

Get set up

First run

Use the launcher. It owns logs, update checks, and crash recovery.

Windows

.\scripts\run.ps1

Linux or macOS

./scripts/run.sh

When startup completes, open http://localhost:8088. Keep the launcher open while Faber is running; Settings provides a clean restart and quit flow.

Using Faber

Projects and sessions

A project is the home for one piece of work. It owns its folder, sessions, tickets, decisions, files, and memory.

  • Create a project from the sidebar; Faber scopes its working records to that project.
  • Use sessions for separate conversations inside the project. Past sessions replay after refresh or restart.
  • Search finds prior sessions and durable project decisions without leaking context from another project.
Using Faber

How a turn works

  • A "What I heard" card restates the outcome, constraints, and any real unknowns before the builder proceeds.
  • A live Working card exposes progress; the technical stream remains available under the hood.
  • Before the partner report, Faber checks the work against its standards. Long work can hand off with a written recap when context fills.
  • You can keep typing while it works. New input is carried into the work safely rather than lost in chat history.
Workflow

Ticket board and automatic flow

Tickets make scope, dependencies, evidence, and acceptance criteria visible. The normal rhythm is one focused ticket per turn, then the next ready item only after the first has real proof.

Request->Scoped ticket->Evidence->Review->Verified
  • Add, edit, defer with a reason, or cancel obsolete work; partial work is not silently called complete.
  • Dependencies hold later work until prerequisites are actually verified.
  • If a result still needs a restart, flag, or go-live action, Faber creates a separate activation ticket so built is not confused with live.
Workflow

Decisions and approvals

At a consequential fork, Faber stops for a decision card with options and trade-offs. Your choice becomes a durable project constraint.

  • Risky operations such as destructive deletes, force pushes, and database drops require the configured level of approval.
  • Autonomous mode keeps risky actions blocked; Guarded asks at meaningful boundaries; more restrictive settings ask more often.
Workflow

Review, fixes, and reliability

Audit cards show findings with severity, category, explanation, and the related ticket. Send a valid finding back to the builder for a focused repair, or dismiss it with a reason when it does not apply.

Settings exposes auditor reliability so you can distinguish recurring real failures from review noise. The system records the evidence behind each conclusion.

Tools

Side Chat

  • Side Chat reads the active project's map, relevant history, decisions, reference material, and ticket board for quick questions.
  • It is deliberately read-only: it cannot run commands, change files, or begin a build.
  • Copy an answer, or use it as a drafted prompt in the main composer. Ticket suggestions require your explicit Add to board action.
Tools

Faber Brain and privacy

The Brain is a read-only, searchable bundle of synthesized, cross-project knowledge. Within a project, the Context Map says where detail belongs so new turns can start informed without loading everything.

Privacy boundary: projects marked private stay out of cross-project Brain synthesis. Side Chat scratch conversations are not promoted into durable shared knowledge.
Tools

It learns your methods

When you repeat a kind of work, Faber can offer to capture the rules, numbers, and finished shape that make up your method. Your answers form a reusable skill; decline it and Faber will not keep asking about that task type.

Tools

Files and previews

  • Preview spreadsheets, documents, PDFs, images, code, and supported HTML directly beside the chat.
  • Choose full-width or split layout, and follow document links within the preview.
  • The project file browser stays tied to the active project.
Tools

App Browser

  • Register a local app once with its command and port; builder-created apps can register themselves.
  • Start and stop supervised apps from their tab. Faber distinguishes running, starting, stopped, and a port owned by another process.
  • Tabs persist per project. If an app blocks iframe embedding, use Browser to open it normally.
Access

Faber on your phone

Enable remote access, restart while no work is running, then scan the generated QR code on the same Wi-Fi network. The phone layout keeps chat full-width and puts sessions behind the menu.

Access

Voice and access from anywhere

Tailscale can provide authenticated HTTPS access from outside your home network. That HTTPS route also enables browser microphone access for phone dictation. On a shared tailnet, review access controls before exposing the instance to additional people.

Beyond the app

Plugins for Codex and Claude

Faber's ticket, evidence, and audit contract also ships as a local plugin for coding-agent CLIs. A ticket becomes verified only by a recorded audit verdict, never a model's self-assigned status.

Faber for Codex

codex plugin marketplace add bennidao/Faber_For_Codex
codex plugin add faber-for-codex@faber-for-codex

Faber for Claude

/plugin marketplace add bennidao/Faber_For_Claude
/plugin install faber-for-claude@faber-for-claude

Start a fresh CLI session after installation. The local board is project-scoped today; it does not synchronize across machines yet.

Keep it running

Version and sync

Settings shows whether Faber is in sync, has an update available, or has local changes that need backup. Install update pulls and restarts safely; a diverged copy can be reset after a recoverable backup is made.

Your projects, not just Faber

Every project can back up to GitHub, pull changes, reset to match GitHub, initialize version control, or connect an existing empty remote. Faber keeps project backup separate from its own application updates.

Keep it running

Settings worth knowing

  • Version and sync handles updates, backup, restart, and quit.
  • Startup can launch Faber at login where supported.
  • Header controls keep the selected model and permission level available.
  • Usage shows recent model consumption; model routing configures the builder and helper fallbacks independently.
Keep it running

Bring your own models

The default Claude subscription is not a requirement. Builder and helper roles can use Codex ChatGPT sign-in, an OpenAI API key, OpenRouter or another compatible provider, or a local OpenAI-compatible server such as LM Studio, llama.cpp, vLLM, or Ollama.

Each helper role has a fallback chain and a test control. Keys stay in local environment configuration, not the database or UI.

Keep it running

Troubleshooting

  • A fix seems missing: refresh first, then use Settings -> Restart server.
  • Port already in use: an older Faber process is still running; close it or reboot before starting again.
  • Startup hangs: inspect logs/last-crash.txt and logs/server.err.log.
  • Update diverged: use Version and sync -> Reset to match GitHub; it saves a recoverable backup first.
  • Phone or microphone fails: check network, Tailscale, HTTPS, and tailnet access controls.
Golden rule: do not kill the server during active work. Wait for the turn to settle or use the clean quit action.