Skip to content

About

GUI workbench for the Pi Agent

Topics

Resources

Contributing

Security policy

Stars

11 stars

Watchers

0 watching

Forks

Latest commit

 

History

231 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fate UI

Fate UI

Your coding agent. A workspace you control.

A local-first desktop workspace for the real Pi coding agent.
Keep conversations, agents, browser context, files, Git, and terminals in one place.

Platforms License Build and package

Download · Get started · Skins · Documentation · Contribute

Fate UI: a coding conversation beside project navigation and a Git diff

Actual Electron interface. Screenshots use a local demonstration project and illustrative agent messages.

Built for the whole coding session

An agent should not turn your workspace into a black box. Fate UI brings the conversation and the evidence together: see the tools running, inspect the changes, follow delegated work, and decide what happens next.

Delegate with clear ownership

Run individual agents or dependency-based workflows through one execution engine. Choose each agent’s model, reasoning effort, tools, and skills. Use shared checkouts or isolated Git worktrees, with explicit review before integration.

Agents → · Agent orchestration →

Give the agent useful context

Browse inside the workspace, select page elements, and attach browser annotations to the conversation. Add files, images, and saved-session references without losing your place.

Browser and session context →

Review the work, not just the answer

Inspect file changes with Monaco diffs, browse Git history, and use the activity timeline to investigate tool actions. A separate manual terminal stays available for your own commands.

Files, Git, and activity →

Keep longer tasks accountable

GoalMax pairs an objective with completion criteria, progress evidence, and verification. Durable tasks and editable queues make the next steps visible; recovered drafts are not silently resent.

Goals and durable work →

Restyle the workspace

Default, Angelcore, or M3 Expressive. Independent palettes and fonts. Import a skin pack, or drop in an image that Fate dithers locally behind the conversation.

Skins and themes →

Voice, images, and memory

Optional local voice transcription, image generation, and ambient audio. Reviewed Memory Learning stores global preferences and project notes you actually accept.

Memory Learning →

Skins and themes

Fate UI with the Angelcore skin, Monochrome palette, and a locally dithered conversation background

Angelcore, Monochrome, and a personal dithered background. Same conversation and Git diff, different chrome.

You can change how Fate UI looks without changing how it works. Skins restyle the chrome. Colors, fonts, and a background stay independent, so Angelcore can sit on Monochrome, Default can keep a Pi theme, and an imported pack does not rewrite models, permissions, or the session.

Skins

Default is the established workbench. Angelcore is the compact terminal-style surface: text actions, a command composer, labeled transcript entries, and a numeric context gauge. M3 Expressive uses a continuous tonal shell, shaped navigation, and a floating composer; its matching dark palette is selected independently. All three remain the same GUI underneath — browser, Monaco, trust prompts, and the manual terminal. See M3 Expressive design and screenshots.

Import a pack from Settings → Skins. Packs can restyle owned surfaces, bundle fonts, and ship a still background. They cannot add scripts, remote assets, or new privileges.

Skins →

Color, type, and background

Pick a built-in palette, a custom themes.json, or a Pi theme from a trusted project. Interface font and code font are separate.

Drop in a PNG, JPEG, or WebP. Fate converts it on this machine to a still, palette-tinted dither behind the conversation. The original image is not uploaded or kept.

Themes →

Download

Get installers and SHA256SUMS from GitHub Releases.

Platform Architecture Installer
Windows x64 .exe
macOS Apple Silicon · Intel .dmg or .pkg
Linux x64 .AppImage or .deb

Important

Installers are currently unsigned; macOS builds are not notarized. Windows SmartScreen and macOS Gatekeeper may warn or block launch. Download from this repository’s Releases page and verify the artifact against its SHA256SUMS. Checksums detect mismatched downloads; they do not replace publisher code signing.

Get started in 60 seconds

1. Install Fate UI

  • Windows: run the installer. Keep Add Fate UI to PATH selected for the fate command, then open a new terminal.
  • macOS: choose your architecture. The .pkg installs the app and the fate launcher; the .dmg lets you copy the app to Applications.
  • Linux: install the .deb, or make the AppImage executable and launch it. Use the actual published filename from Releases; a source-tree version does not mean its installer exists.
# Debian / Ubuntu (replace VERSION with the downloaded release number)
sudo apt install ./Fate-UI-VERSION-Linux-x64.deb

# Portable AppImage (same downloaded version)
chmod +x Fate-UI-VERSION-Linux-x64.AppImage
./Fate-UI-VERSION-Linux-x64.AppImage

2. Connect your provider

Choose Connect your AI, or use /login in an open project. Sign in using a supported provider’s OAuth flow or API key, then select a model.

You can also add providers from the live models.dev catalog. Fate UI keeps provider credentials in the main process; raw keys are not exposed to renderer state.

No separate Pi terminal installation is required. Fate UI embeds the Pi SDK directly. Switching from Pi Terminal? Fate shares your Pi sessions, user settings, skills, prompts, and global extensions. It copies provider files on first use; if you already used Fate, open Settings → MCP → Switch from Pi Terminal to import missing provider entries and compatible global MCP servers. Keep ~/.pi/agent and any third-party server runtimes when you uninstall the Pi command. Migration checks and limits →

3. Open a project and start working

Use Open project, or launch from your terminal:

cd /path/to/project
fate
# Or: fate /path/to/project

Review the project trust decision, choose the agent’s permission level, and send a prompt. Inspect tool activity and Git changes as the work progresses.

Inspect this repository and propose a focused plan.
Implement the change, run the relevant checks, and show me what changed.
Preserve existing behavior outside the requested scope.

Later fate launches reuse the running workspace. File → New Window opens another synced view. In the current V2 candidate, --new-instance selects a separate Chromium profile slot, but startup is refused while another core owns the same canonical Fate data root. Independent shared-data runtimes remain an unresolved ownership requirement. Sessions and processes → · V2 candidate status →

Local-first, with explicit boundaries

Projects, session history, settings, and credentials are stored locally. Prompts and selected context are sent to the AI provider you configure. Browser pages, provider discovery, optional downloads, and other network-enabled features also use the network; local-first does not mean offline-only.

Boundary What it means
Project trust Choose Trust, Open without Pi, or Cancel when opening a project.
Read only Fate's governed project-write and shell tools are unavailable.
Edit files Default for new trusted sessions. Agent file operations remain project-confined.
Full access Explicitly unsandboxed access with your account’s permissions. Use deliberately.
Agent worktrees Isolated Git checkouts, not security sandboxes. Integration is a separate action.
Local credentials Fate’s provider store is separate from Pi Terminal’s; existing credentials copy on first run, and missing entries can be imported later without replacing Fate values.

Saved per-session permissions restore only within the host's current limit. Missing records use Edit files; unreadable or corrupt permission storage blocks agent execution until repaired. Permission changes must be saved before increased authority takes effect. An incomplete write leaves a blocking intent record; do not delete it without repairing or reviewing the grant file. The manual terminal and trusted user extensions are separate host capabilities, not a general sandbox.

Keep important work backed up and review changes before merging or deploying. Activity links and local hash records aid investigation; they are not tamper-proof proof of authorship. Architecture and security →

Fate UI is an independent community project, not an official Pi distribution.

Explore the documentation

You want to… Start here
Understand the workspace Features
Talk to an Agent that runs work in your projects Agents
Delegate and review agent work Agent orchestration
Run goals and manage queued work GoalMax · Sessions
Customize the interface Skins · Themes
Review and save useful project knowledge Memory Learning
Build or stage a release Development and release
Evaluate the V2 desktop/web/remote candidate Status and support matrix · Setup · Limits
Report a security issue Security policy

Build with us

Found a bug or have a focused feature idea? Open an issue. For code contributions, start with CONTRIBUTING.md. Report vulnerabilities privately through GitHub Security Advisories.

Fate UI is licensed under Apache-2.0. Distribution requirements and third-party attribution are documented in NOTICE, THIRD_PARTY_NOTICES.md, and FONT_LICENSES.md. The license does not grant trademark rights; see TRADEMARKS.md.

About

GUI workbench for the Pi Agent

Topics

Resources

Contributing

Security policy

Stars

11 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages