Productivity & Collaboration local-firstelizaostelegram-integrationdiscord-integrationbsc-tradingollamavrm-avatartts

Milady Personal AI Assistant

A local-first personal AI companion that manages your sessions, tools, and chat channels without phoning home.

FollowAgents review · FARS-2.1
Use with care
60/ 100 5-point scale 3.0 / 5
1 2 3 4 5 6
1Trust14 / 29 · 2.4/5

Positives: CI workflows default to least privilege (contents: read, per-job overrides), trust-tier gating, same-repo-only PRs, capped fix attempts, loopback-bound API by default with token guidance. Deductions: README presents ELIZA_TRADE_PERMISSION_MODE=agent (autonomous trading) alongside user-confirm without stating a default; wallet private key stored plainly in .env; Edge TTS calls Microsoft cloud unless MILADY_DISABLE_EDGE_TTS=1 is set (opt-out, not opt-in); agent workflows grant Bash(*) full tool access.

2Reliability8 / 14 · 2.9/5

Positives: README, package., ports and versions are largely self-consistent; contract tests (app-registrations) exist; doctor/--verbose/--debug diagnostics and install retry logic are documented. Deductions: core dependencies rely heavily on floating 'alpha' dist-tags (@elizaos/*), a drifting 'beta' tag, and github: refs — reproducibility and availability are not evidenced.

3Adaptability12 / 18 · 3.3/5

Positives: clear scenario (local-first personal assistant), explicit boundary statements ('not a full IDE', Linux tarball x86_64 only), well-defined chat commands and hotkeys, environment details like Windows long paths and port collision handling. Deductions: iOS is 'coming soon'; cloud-mode scenarios depend on external elizacloud.ai docs not present in evidence.

4Convention13 / 18 · 3.6/5

Positives: excellent documentation architecture (multiple WHY docs, topic-linked), install paths cover curl/npm/brew/source/desktop with checksum verification steps, full MIT license text, explicit known limitations (no AppImage/deb etc.). Deductions: four concurrent bin names (milady/miladyai/milady-ai/milady.ai) undermine naming stability; version 2.0.0-alpha.140 with no CHANGELOG evidence; publisher unverified.

5Effectiveness9 / 13 · 3.5/5

Positives: multiple output surfaces (TUI/dashboard/WebChat), deliberate SSE progressive-update design, token/cost display, a clear energy-efficiency product thesis. Deductions: all output claims are static descriptions without execution; heavy dependency stack (Electron/Three/Capacitor) raises cost relative to a personal assistant, and cost-benefit rests on unverified performance claims.

6Verifiability4 / 8 · 2.5/5

Positives: most README claims carry internal docs/ links; some claims are statically checkable via contract tests. Deductions: 'Signed and notarized', CI badges, and CodeFactor are unverifiable within the repository; marketing tone ('she's alive', 'cracked') is interleaved with factual statements, giving poor fact/inference separation.

Evidence confidence: Low Reviewed Sep 10, 2026 Reviewed revision 4e721ad04b6d
Before you use it
  • Do not keep an EVM private key long-term in .env: the autonomous trading mode shown in the README (ELIZA_TRADE_PERMISSION_MODE=agent) lets the agent buy/sell tokens from chat instructions once configured — verify the default and prefer user-confirm mode.
  • Edge TTS contacts Microsoft cloud by default; set MILADY_DISABLE_EDGE_TTS=1 explicitly if local privacy matters.
  • Core @elizaos/* dependencies are pinned to floating alpha/beta dist-tags that can drift; pin exact versions and review the lockfile before production use.
  • When binding externally (MILADY_API_BIND=0.0.0.0) without MILADY_API_TOKEN, anyone who can reach the server gets full agent and wallet access — the README warns of this; follow it.
  • Publisher is unverified; installer claims like 'signed and notarized' should be independently checked via SHA256SUMS.
  • Agent CI workflows grant Claude Bash(*) full tool access; although repo-scoped and trust-gated, review their commits.
Review evidence [1][2][3][4][5][6][7]
See the full review method →

What does this agent do, and when should you use it?

Milady is a personal AI assistant built on elizaOS that runs local-first by default, with optional connections to Eliza Cloud or a self-hosted remote backend. It manages sessions, tools, and messaging channels through a Gateway control plane, connecting to Telegram, Discord, and other platforms, with a WebChat dashboard on port 2138 and a terminal TUI. Distinctive features include a battery-aware desktop 3D avatar (VRM / Gaussian splat rendering), Edge TTS voice, and native BNB Smart Chain trading via a built-in EXECUTE_TRADE action on PancakeSwap. Model support spans more than a dozen providers including Anthropic, OpenAI, OpenRouter, Gemini, and fully local Ollama models. It ships as signed desktop installers (macOS, Windows, Linux), an Android app, an npm package, and source builds, under an MIT license.

Running milady starts an interactive TUI, while milady start runs server-only mode with the API server. First-run onboarding walks you through picking a persona and speaking style, connecting a brain (Anthropic, OpenAI, or local Ollama), then serves a dashboard at http://localhost:2138 and a Gateway at ws://localhost:18789/ws. It bridges chat channels like Telegram, Discord, and WeChat webhooks (port 18790), tracks multiple sessions, and displays token usage and cost. In-chat commands such as /status, /new, /compact, /think, and /model control reasoning level and mid-session model switching. The plugin system (milady plugins install) extends functionality, e.g., installing the meme-rush skill from Binance Skills Hub to track Pump.fun and Four.meme token launches. With EVM_PRIVATE_KEY configured, the EXECUTE_TRADE action buys and sells BSC tokens on PancakeSwap from natural-language instructions. The desktop app adds a 3D VRM avatar via Electrobun with energy-focused tuning of background polling, off-screen WebGL, and battery-aware render quality.

  1. An individual who wants an always-on persona AI bot with voice running on Telegram or Discord
  2. A privacy-focused developer who wants to run the assistant fully offline with local Ollama models, sending nothing to the cloud
  3. A BSC ecosystem user who needs the agent to trade tokens on PancakeSwap or track Pump.fun meme launches on command
  4. A user wanting a desktop AI companion with a 3D avatar and voice sync that sips battery when the app is not on screen
  5. An advanced user self-hosting the backend on a VPS or homelab, connecting the frontend remotely via MILADY_API_BIND and MILADY_API_TOKEN

What are this agent's strengths and limitations?

Pros
  • Local-first architecture: API binds to 127.0.0.1 by default and pairs with Ollama for fully offline operation with controllable privacy
  • Broad model support across a dozen-plus providers (Anthropic, OpenAI, OpenRouter, Gemini, Groq, DeepSeek, Ollama, etc.) — switching is just configuration
  • Wide channel coverage: Telegram, Discord, WeChat webhook, WebChat, and terminal TUI unified under one Gateway
  • Differentiating features: built-in BSC/PancakeSwap trading action, Binance Skills Hub meme token tracking, VRM 3D avatar with battery-aware rendering
Limitations
  • Desktop/iOS builds require switching to local elizaOS source mode (bun run eliza:local), adding build complexity
  • Documented incompatibility: @elizaos/plugin-ollama has an SDK version conflict, forcing a workaround through Ollama's OpenAI-compatible endpoint
  • BSC trading requires importing an EVM private key; autonomous mode (ELIZA_TRADE_PERMISSION_MODE=agent) carries real financial risk
  • Binding the API to 0.0.0.0 without a token gives anyone who reaches the server full control of dashboard, agent, and wallet endpoints
  • Linux desktop ships only an x86_64 tarball installer — no AppImage, deb, Snap, or Flatpak

How do you install or deploy this agent?

Desktop users should grab a signed, notarized installer from GitHub Releases (macOS Apple Silicon/Intel, Windows, Linux tarball; Android via Google Play or APK), verifying with SHA256SUMS.txt. CLI install: curl -fsSL https://get.milady.ai | bash && milady setup; Windows: irm https://get.milady.ai/install.ps1 | iex; or npm install -g miladyai; Homebrew on macOS/Linux: brew tap milady-ai/tap && brew install milady-ai/tap/milady (or --cask for the desktop app). Building from source requires Node.js >= 22, Bun, and Git; clone, run ./install, then bun run build. Desktop/iOS builds (build:desktop / build:ios) require switching to local elizaOS source mode first with bun run eliza:local.

How do you use this agent?

Run milady for interactive onboarding: choose a persona and speaking style, connect a brain (Anthropic / OpenAI / Ollama, supplying an API key or using a local model), then open the dashboard at http://localhost:2138. Key commands: milady start (server-only), milady setup, milady configure, milady doctor, milady models, milady plugins install <name>. Inside any chat session use /status, /model <id>, /think <level>, /compact, and more. If you expose the API to the network you must set MILADY_API_TOKEN (e.g., echo "MILADY_API_TOKEN=$(openssl rand -hex 32)" >> .env), otherwise anyone who can reach the server gets full access to dashboard, agent, and wallet endpoints. Configuration lives at ~/.local/state/milady/milady..

How does this agent compare with similar options?

The README states Milady is not a full IDE; comparisons to Cursor or other heavy dev tools are workload-dependent. The stated north star is great UX per watt as a local assistant, not matching an editor's surface area.

FAQ

Do I have to pay for the cloud service?
No. Local mode is entirely free; model costs depend on your chosen provider, and Ollama local models require no API key at all. Eliza Cloud managed hosting is an optional path with control plane, auth, and billing handled at elizacloud.ai.
Where are my API keys and data stored?
Configuration lives at ~/.local/state/milady/milady., with secrets optionally in a .env file in the same directory. The API server binds only to 127.0.0.1 (loopback) by default, unreachable from outside your machine.
Can I run fully local models?
Yes. Install Ollama and pull a model (e.g., gemma3:4b, llama3.2, deepseek-r1:8b). Because the official Ollama plugin has a documented SDK incompatibility, route through Ollama's OpenAI-compatible endpoint at http://localhost:11434/v1 instead.
Is on-chain trading safe?
You must import your own EVM private key. Set ELIZA_TRADE_PERMISSION_MODE=user to require manual confirmation for each trade; agent mode lets the agent trade autonomously. With Eliza Cloud, Steward-managed wallets are available without local key management.
What's the safest way to access my backend remotely?
Use Tailscale for private exposure: tailscale serve --https=443 http://127.0.0.1:2138, keeping MILADY_API_TOKEN as your access key, rather than opening a public port.

Related agents