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.
AI enabled insights from emails, calendars, contacts, files, Slack, databases, web... Fast, private and local. Launching soon!
ProductivityRust · ShellGitHub @brainlessOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Loading the full README. The saved excerpt is shown below.
Dwata is a local-first Rust backend for connecting email accounts, storing mail
in SQLite, and using LLM agents to extract financial data and knowledge-graph
entities. Email data stays on the machine running dwata-api unless you choose
an external AI provider.
Dwata is an active restart. The native cross-platform UI is planned but is
not shipped yet. This repository currently provides the backend API and Rust
agent components; it does not provide a downloadable desktop application.Read the full README ↗Dwata is a local-first Rust backend for connecting email accounts, storing mail
in SQLite, and using LLM agents to extract financial data and knowledge-graph
entities. Email data stays on the machine running dwata-api unless you choose
an external AI provider.
[!WARNING] Dwata is an active restart. The native cross-platform UI is planned but is not shipped yet. This repository currently provides the backend API and Rust agent components; it does not provide a downloadable desktop application.
dwata-api: an Actix-web JSON-over-HTTP API with local SQLite storage,
email/OAuth integration, search, download jobs, and extraction endpoints.dwata-agents: Rust agents for financial and knowledge-graph extraction.shared-types: Rust domain and API types shared by the backend and agents.The API is intended to be the server boundary for the restart. A future native Rust UI will compose with the same application capabilities; the former web and Tauri desktop applications are no longer part of the project.
Install the Rust toolchain, then start the API from the repository root:
cargo run -p dwata-api
By default it listens on 127.0.0.1:8080. Verify that the service and SQLite
connection are available:
curl http://127.0.0.1:8080/api/health
The first start creates a configuration file in the OS configuration directory
when neither config.toml nor ../config.toml exists:
~/Library/Application Support/dwata/config.toml~/.config/dwata/config.toml%APPDATA%\dwata\config.tomlCopy and adapt config.example.toml if you need to set
the listen address, OAuth client credentials, AI-provider keys, or search
index path. See the developer guide for configuration, database,
and agent-development details.
Gmail OAuth uses a Google OAuth client configured under [google_oauth] in
config.toml. The redirect URI is derived from [server] as
http://<host>:<port>/api/oauth/google/callback; register that exact URI with
your OAuth application.
For local inference, install Ollama and pull the default model:
ollama pull qwen3.5:2b
OpenAI and Gemini keys can instead be configured in
[ai_provider_api_keys]. Using an external provider sends the applicable
extraction prompts and content to that provider.
Backend development needs Rust. SQLite's CLI is optional for inspecting the database. Node.js, TypeScript, Tauri, and a web GUI are not required or included in the current workspace.
Useful commands:
cargo fmt --check
cargo test --workspace
cargo build --workspace
GPL v3 — see LICENSE.