TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
翻譯準備中
Desktop assistant for Windows and Linux: chat, voice, screen help and a careful agent. Local models via Ollama or Gemini.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
A desktop assistant for Windows and Linux. Press a hotkey and a small window opens in the corner: chat, talk, share your screen, dictate into any text field, and let Aura do things on your PC for you.檢視完整 README ↗A desktop assistant for Windows and Linux. Press a hotkey and a small window opens in the corner: chat, talk, share your screen, dictate into any text field, and let Aura do things on your PC for you.
The user interface is German. Formerly "Gemini Overlay".
Windows 10/11 (x64): download Aura-Setup.exe and run it. It installs for your user only (no admin rights) and adds Aura to the Start menu. The installer is not code-signed yet, so SmartScreen may ask: More info → Run anyway.
Ubuntu / Debian (x64):
curl -fLo /tmp/aura.deb https://github.com/fischersase/aura/releases/latest/download/aura_amd64.deb
sudo apt install /tmp/aura.deb
Then start "Aura" from the app menu. The package also adds the signed Aura package source, so updates come with your normal system updates (see below). Upgrading from "Gemini Overlay"? Remove it with sudo apt remove windows-gemini; your settings move over automatically.
Other Linux (x64): Aura-x86_64.AppImage, then chmod +x and run it.
The setup assistant opens on first start and lets you pick Gemini or local models. Aura lives in the system tray (ring icon); right-click it for settings, or start "Aura" again. All downloads and instructions are also on fischersase.github.io/aura.
| System | How |
|---|---|
| Ubuntu / Debian | sudo apt update && sudo apt upgrade (or the Software Updater) |
| Windows | run the newest Aura-Setup.exe over the old one; settings stay |
| AppImage | download the newest AppImage |
| From a clone of this repository | make update (newest release) or make local (build and install your checkout) |
The running version is shown next to the name in the Aura window, in the Zentrale and in the tray menu.
Verify a download: every release has SHA256SUMS and a build provenance attestation (gh attestation verify aura_amd64.deb -R fischersase/aura). The apt source is signed with key 868F 8CD6 AA8A 4427 E924 3587 21C1 6696 774D 4865 (and, during the key rotation, also 2D1C 8196 491F 9E92 A004 F4AE 102E AFB1 7FC8 5F90).
AIza) into the setup assistant.To replace the key later: tray icon → right-click → Settings → paste the new key → Test → Save.
0 for no limit.The in-app number is an estimate based on token usage; AI Studio shows the real figures.
curl -fsSL https://ollama.com/install.sh | sh) and make sure it runs.| Model | Good for | Rough hardware |
|---|---|---|
gemma4:e4b (default) | chat, dictation, Live with screen | 16 GB RAM or 8 GB VRAM |
gemma4:e2b | weaker PCs | 8 GB RAM |
qwen3.5:9b, qwen3-vl:8b | chat, Live; Qwen3-VL is good at pointing | 16 GB RAM or 8 GB VRAM |
gemma4:26b | best quality | 24 GB VRAM or 32 GB RAM |
qwen3.6:27b, gemma4:31b | agent tasks (tools) | 24 GB VRAM |
deepseek-r1:8b | text only (no screen) | 16 GB RAM |
Any other Ollama model you have installed shows up in the list too. Kimi is only available as a cloud model.
What changes locally:
Click the microphone next to the Live button, speak as long as you like (pauses are fine), click it again: Aura turns your speech into text and sends it, like the dictation in Gemini or ChatGPT. Esc cancels; closing the window keeps the text in the input field instead of sending it.
whisper-small by default, downloaded once). Nothing leaves your PC. Whisper is told your Aura language, so short recordings are not mistaken for English.gemini-3.5-flash-lite, the cheapest current model with audio input (about 0.1 cent per minute of speech), counted in your monthly budget. Change it under Settings → Spracheingabe im Chat.Ask in the chat or by voice, e.g. "pause the music", "open Antigravity", "tidy up my downloads folder by file type", "what's on my screen?", "search the web for tomorrow's weather in Berlin", "remember that my printer is a Brother HL-L2350DW".
Since v0.11 the agent is Agent v2, built on Google ADK. It runs as its own process next to the app (agent/, Python, bundled in the Windows installer and the Linux packages) and works with your local Ollama model by default, or with Gemini if you chose Gemini in the settings. Architecture decisions and their evidence are in docs/adr.
How it works
browser (web pages, web search via DuckDuckGo), apps (desktop programs), integrations (your MCP servers).~/.aura/memory/MEMORY.md (readable, editable); earlier conversations are searchable. Passwords, PINs and account data are never stored.Safety: every action has a tier
| Tier | Examples | What happens |
|---|---|---|
| T0 read | list files, read a file, media status, screenshot | runs |
| T1 local, reversible | open a program, pause music, new file, focus a window | runs |
| T2 consequential | delete (always to the trash), overwrite (with a diff), send, buy, install, close a window, unknown commands | asks you: Nur jetzt, Für diesen Auftrag, Immer erlauben (creates a rule), Ablehnen |
| T3 forbidden | SSH/GPG keys, browser passwords, keyrings and Windows credentials, rm -rf ~ / Remove-Item -Recurse C:\, disk formatting, lock-screen, Defender and firewall settings | never, no rule can allow it |
~/.aura/policy.toml (Zentrale → Regeln), your own hooks in ~/.aura/hooks.json (block or force a question before a tool, observe after; on Windows ~ is your user folder, hooks may be .ps1 or .cmd).Tested, not just written: over 300 unit, harness, contract and protocol tests run on every push, on Linux and on Windows (real windows, Start menu, UI Automation, PowerShell, recycle bin); a desktop eval suite of 54 everyday tasks (isolated: own display, D-Bus, home folder, test web server) checks the real end state with a real local model. See agent/evals/ and ADR 0008.
Models: on an RTX 3090 gemma4:26b scored best (100 % of the eval tasks, ~3 s per task); see ADR 0007. Use a 32k context (Settings → Lokale Modelle).
Previous agent: Zentrale → Übersicht → Agent-Version → v1 switches back.
One window to manage everything the agent uses: tray menu → Aura Zentrale, the grid button in the Aura window, or aura --zentrale.
SKILL.md files.AGENTS.md. Aktionsprotokoll and Chats: what the agent did, and saved chats.policy.toml), Gedächtnis (MEMORY.md) and Systemprüfung: checks Ollama, model, context size, Chrome, accessibility, session type and tools, and installs the Aura Bridge GNOME extension on Wayland.secrets.json. Values go in but never come back out; you can replace or delete them. Use them in mcp.json as ${secret:NAME} in env, headers, args or url. Keys typed into a server form (names containing KEY, TOKEN, SECRET, PASSWORD, Authorization) and secret fields from the catalog are moved there automatically.Tray menu → Aura Zentrale im Browser, the button in the Zentrale, or aura --zentrale-web. The page is served by Aura itself, only on 127.0.0.1 (port 47800 or the next free one), never on your network:
Host and Origin (protects against DNS rebinding and other websites), must be JSON with a Bearer token, and pages get a strict Content-Security-Policy.AGENTS.md or keys pops up a confirmation in Aura on the desktop. Opening local files and folders only works in the app.Like Claude Code, Gemini CLI or Codex, Aura reads extensions from ~/.aura (Windows: %USERPROFILE%\.aura). Settings → Erweiterungen opens the files and shows what loaded.
AGENTS.md: your standing instructions ("my invoices are in ~/Ablage", "answer briefly"). Added to every agent request.~/.aura/skills/<name>/SKILL.md or ~/.agents/skills/ (Agent Skills format: name and description in the front matter). The model only sees name and description and loads the full skill when it fits the task. Scripts in a skill still go through the approval for commands.~/.aura/mcp.json, same format as Claude Desktop:{
"mcpServers": {
"playwright": { "command": "npx", "args": ["@playwright/mcp@latest", "--isolated"] },
"my-remote": { "url": "https://example.com/mcp", "headers": { "Authorization": "Bearer …" } }
}
}
MCP tools marked read-only by the server run directly; all others ask first. Add "autoApprove": ["tool_name"] to a server to skip the question for specific tools. Only install skills and servers from sources you trust: published skill stores have contained malware.
An MCP server is a small program that tells Aura which tools it has and runs them. You can write one in any language; the official SDKs (TypeScript, Python) make it a few lines. Without any library, a Node server with one tool looks like this (~/.aura/my-tools.mjs):
import readline from 'node:readline';
const send = (o) => process.stdout.write(JSON.stringify(o) + '\n');
const tools = [{
name: 'greet',
description: 'Greets a person by name',
inputSchema: { type: 'object', properties: { name: { type: 'string' } }, required: ['name'] },
annotations: { readOnlyHint: true } // read-only: Aura runs it without asking
}];
readline.createInterface({ input: process.stdin }).on('line', (line) => {
const m = JSON.parse(line);
if (m.method === 'initialize') send({ jsonrpc: '2.0', id: m.id, result: { protocolVersion: m.params.protocolVersion, capabilities: { tools: {} }, serverInfo: { name: 'my-tools', version: '1' } } });
else if (m.method === 'tools/list') send({ jsonrpc: '2.0', id: m.id, result: { tools } });
else if (m.method === 'tools/call') send({ jsonrpc: '2.0', id: m.id, result: { content: [{ type: 'text', text: `Hello ${m.params.arguments.name}!` }] } });
});
Register it in ~/.aura/mcp.json with "my-tools": { "command": "node", "args": ["/home/you/.aura/my-tools.mjs"] }, then click Neu laden in Settings → Erweiterungen; the tool list appears there.
| Shortcut | Action |
|---|---|
| Ctrl+Alt+Space | Open Aura (new chat each time; earlier chats via the clock button) |
| Ctrl+Alt+L | Gemini Live with screen sharing |
| Ctrl+Alt+D | Rambler: dictate into the focused text field; press again to finish |
| Ctrl+Alt+Esc | Emergency stop for a running agent task (only active while Aura works) |
aura --toggle, --live or --rambler (with the AppImage, use the path to the .AppImage file).xdotool (X11) or wtype / ydotool (Wayland). Without them the text stays in the clipboard for Ctrl+V.speech-dispatcher with a voice (e.g. espeak-ng).git clone https://github.com/fischersase/aura.git && cd aura
npm ci --ignore-scripts && node scripts/vendor.js && node node_modules/electron/install.js
(cd agent && uv sync) # Agent v2 (needs uv: https://docs.astral.sh/uv/)
npm start # run
npm run check && npm test # app tests
(cd agent && uv run ruff check src tests spikes evals && uv run pytest -q) # agent tests
npm run dist:linux # Linux packages (bundles Python, agent and browser server)
npm run dist:win # Windows installer (in Git Bash)
(cd agent && uv run python -m evals.desktop.run --k 3) # desktop evals (needs Ollama)
Every push runs the tests on Linux and Windows, CodeQL and a secret scan; main only accepts pull requests with all checks green. Every merge that changes the app builds a release (docs/RELEASING.md). Architecture decisions are in docs/adr.
Your API key and all keys under Schlüssel & Konten are stored only on your computer, encrypted with the OS keystore (Windows DPAPI, Linux GNOME keyring or KWallet) in the app's settings folder. Without a keyring on Linux, Aura does not store keys unless you explicitly allow weak storage on that page (encrypted with a fixed password only); better install gnome-keyring or KWallet. Each use of a key is logged (without the value) in credential-audit.jsonl. It is never part of this repository; every push is scanned with gitleaks. With Ollama, nothing leaves your computer except the one-time model downloads.