Personal Agent is a native desktop app for chatting with AI models from your menu bar or system tray. It keeps a compact chat panel one click away, lets you switch between model profiles, streams responses as they arrive, and stores API keys in your operating system credential store.
- Opens from the macOS menu bar, Windows system tray, or Linux StatusNotifierItem/AppIndicator area.
- Chats with OpenAI, Anthropic, and OpenAI-compatible APIs.
- Saves reusable model profiles so you can switch providers or models quickly.
- Streams responses in real time and preserves conversation history.
- Supports model thinking/reasoning output when the selected model exposes it.
- Stores API keys securely in Keychain Services, Windows Credential Manager, or Secret Service.
- Runs as a native Rust/GPUI app with a dark desktop UI.
Personal Agent is published through the acoliver/homebrew-tap Homebrew tap:
brew tap acoliver/homebrew-tap
brew install personal-agentLaunch it after installation and look for the Personal Agent icon in your menu bar.
Download the latest macOS artifact from GitHub Releases, extract it, and open the app.
Download the latest Windows ZIP from GitHub Releases, extract it, and run personal-agent.exe.
Windows Defender SmartScreen may warn about unsigned binaries. If you trust the release, choose More info and Run anyway.
Download the latest Linux package from GitHub Releases:
.debfor Debian/Ubuntu.rpmfor Fedora/RHEL.zipfor a portable archive
The .deb and .rpm packages install the binary, a .desktop file, and hicolor icons at standard freedesktop paths (/usr/share/icons/hicolor/*/apps/personal-agent.png).
The Linux tray uses the StatusNotifierItem (SNI) protocol via the ksni crate. KDE Plasma supports it out of the box — the tray icon appears in the bottom-right system tray area, and clicking it opens the chat popup just above the taskbar. GNOME users may need an AppIndicator/SNI extension.
To verify the tray is working on KDE:
scripts/verify_linux_tray.shThis script checks SNI registration via D-Bus, triggers the popup, and verifies window positioning.
- Open Personal Agent from the menu bar or tray.
- Click the gear icon to open settings.
- Add or edit a model profile.
- Choose a provider/model, enter your API key, and save the profile.
- Select the profile in the chat panel and send a message.
For a complete setup guide and user documentation for skills and MCP tools, see the docs index.
- macOS:
~/Library/Application Support/PersonalAgent/ - Windows:
%LOCALAPPDATA%\PersonalAgent\ - Linux:
${XDG_CONFIG_HOME:-~/.config}/PersonalAgent/and${XDG_DATA_HOME:-~/.local/share}/PersonalAgent/
API key values are stored in the OS credential store, not directly in profile JSON files.
Install Rust, then run:
git clone https://github.com/acoliver/personal-agent.git
cd personal-agent
cargo build --release --bin personal_agent_gpuiThe built binary is target/release/personal_agent_gpui on macOS/Linux and target\release\personal_agent_gpui.exe on Windows.
cargo build --bin personal_agent_gpui
cargo fmt --all -- --check
cargo clippy --all-targets -- -D warnings
cargo test --lib --tests
cargo qaThe project uses a Rust-native xtask runner for cargo qa and cargo coverage.
MIT
Contributions are welcome. Please open an issue or pull request on GitHub.
