by brainless
AI enabled insights from emails, calendars, contacts, files, Slack, databases, web... Fast, private and local. Launching soon!
# Add to your Claude Code skills
git clone https://github.com/brainless/dwataLast scanned: 5/30/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-30T15:48:39.628Z",
"npmAuditRan": true,
"pipAuditRan": true
}dwata is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by brainless. AI enabled insights from emails, calendars, contacts, files, Slack, databases, web... Fast, private and local. Launching soon!. It has 179 GitHub stars.
Yes. dwata passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/brainless/dwata" and add it to your Claude Code skills directory (see the Installation section above).
dwata is primarily written in Rust. It is open-source under brainless on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh dwata against similar tools.
No comments yet. Be the first to share your thoughts!
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.