Agents that plan, build, review, schedule, remember, and ship — on your machine, under your control.
No cloud lock-in. No black boxes. Every action logged, every secret encrypted at rest.
Brand: Epic Tech AI
Email: [email protected]
X: @EpicTechAI
Repo: Sm0k367/epic-iron-jarvis
TL;DR — Epic Tech AI is a full AI operating system: multi-agent orchestration, sandboxed worktrees, projects, creative studio, workflows, memory fabric, Reflex phone commands, connector marketplace, credits ledger, and a Next.js control center. Runs fully offline with a mock model; connect Anthropic / OpenAI / Google / xAI / Groq / OpenRouter / Ollama via the vault.
Core engine is based on Iron Jarvis (credit: RealDealCPA-VR). Product brand and commerce layer: Epic Tech AI.
Platform: Windows desktop installer + from-source on Windows/macOS/Linux (
uv+npm).
Brand / demo audio lives in assets/audio/.
Why some players fail on GitHub: README markdown strips
<audio>tags, andraw.githubusercontent.comoften forces download instead of stream.
Use the jsDelivr links below (streamable) or the dual player page.
High-energy electronic club instrumental (synths, punchy drums, ~128 BPM). No vocals.
▶ Open dual player (both tracks)
▶ Stream / play Track 1 (MP3)
Repo file · Download
Club electronic with a rhythmic vocal hook (“Dale, le le le…”).
▶ Stream / play Track 2 (MP3)
Repo file · Download
| Track | Play (stream) | Length |
|---|---|---|
| EDM instrumental | jsDelivr MP3 | ~3:30 |
| Dale club hook | jsDelivr MP3 | ~3:18 |
| Both | play.html on jsDelivr | — |
Notes: assets/audio/README.md
- OS, not a chatbot — Supervisor → specialist subagents in isolated workspaces.
- You stay in control — Fail-closed permissions; git review never auto-merges.
- It remembers — Layered memory, LTM, Memory Fabric, lessons that improve over time.
- Phone-ready — Telegram / Slack / Discord channels + Reflex
/commands. - Monetizable — Credits ledger, Stripe checkout hooks, usage metering (keys never hardcoded).
- Local-first — SQLite by default; secrets in an encrypted vault; network optional.
| 🧠 Multi-agent orchestration | Supervisor → subagents, isolated context |
| 🔒 Fail-closed permissions | allow / ask / deny on every tool |
| 🌳 Git-native sessions | branch → work → you approve → merge |
| 🧩 n8n-style workflows | visual canvas; agents can author them too |
| 🎙️ Voice chat | mic + spoken replies (desktop capable) |
| 🗝️ Encrypted secrets vault | API keys never shown to agents or the UI |
| 💰 Credits + billing | ledger, packs, Stripe (env/vault secrets only) |
| 📱 Telegram bot commands | /status /run /balance /buy /usage … |
| 🔌 Many models | Anthropic, OpenAI, Google, xAI, Groq, OpenRouter, Ollama, custom |
| 🛒 Connector marketplace | one-tap MCP / OAuth / API connectors |
| 📁 Projects + Creative Studio | workspaces, knowledge, media generation |
| 🕰️ Audit + time-travel undo | Activity timeline; undo reversible actions |
| 🪟 Desktop app | Electron + tray always-on |
| ✅ Offline tests | full suite runs with no network / no keys |
Never hardcode API keys in source, commits, or chat.
| Place | Use |
|---|---|
.env (gitignored) |
Local bootstrap only — copy from .env.example |
| Encrypted vault | Runtime secrets (Dashboard → Secrets / Connections) |
| Env vars | Optional provider fallbacks (XAI_API_KEY, GROQ_API_KEY, …) |
# After filling .env with YOUR keys (not committed):
uv run python scripts/load_env_to_vault.py # prints names + lengths onlyFull policy: docs/TOKEN-POLICY.md.
Prerequisites: Python 3.12+, uv, Node 20+ (includes npm), git.
git clone https://github.com/Sm0k367/epic-iron-jarvis.git
cd epic-iron-jarvis
uv run ironjarvis doctor # or: uv run epic doctor
uv sync --extra dev
cd dashboard; npm install; npm run build; cd ..
uv run ironjarvis up # daemon :8787 + dashboard :3000Two terminals: uv run ironjarvis serve + cd dashboard && npm start.
Desktop window over source: cd desktop && npm install && npm start.
uv run ironjarvis demo # offline end-to-end
uv run pytest -q # offline test suiteCLI aliases: ironjarvis and epic (same app).
Build from this repo:
npm --prefix desktop run dist:full
# → desktop/release/… Setup … .exePublished releases (if any) live on this repo’s Releases. Upstream Iron Jarvis installers may differ in branding.
Closing the window minimizes to tray so schedules / webhooks / TG keep running. Quit from the tray menu to fully stop.
# Preferred (Epic Tech AI)
setx EPIC_HOME "$env:USERPROFILE\.epic-tech"
# Still supported
setx IRONJARVIS_HOME "$env:USERPROFILE\.ironjarvis"Unset → per-project <cwd>/.ironjarvis isolation.
Dashboard → Connections
| Provider | How |
|---|---|
| Anthropic / OpenAI / Google | API key and/or inherited CLI login (claude / codex) |
| xAI (Grok) | API key → vault xai_api_key or XAI_API_KEY |
| Groq | API key → vault groq_api_key or GROQ_API_KEY |
| OpenRouter | One key, many models |
| Ollama / custom | Base URL in Settings — no key required for local |
CLI:
uv run ironjarvis connect xai <paste-key-in-terminal-only>
# Prefer: put key in .env, then load_env_to_vault.pyNever put real keys in README, issues, or committed files.
| Recommended | |
|---|---|
| Display name | Epic Tech AI |
| Username | @EpicTechAI_bot (or next free *bot name on Telegram) |
| Replies | Prefixed Epic Tech AI: |
Full setup: docs/TELEGRAM.md (BotFather → Channels → allowlist).
Dashboard → Channels — type telegram, bot token, chat id, Enable two-way = true, Allowlist = your user id.
| Command | Action |
|---|---|
/help |
List commands |
/status |
Version, model, live work |
/workflows · /run <name> · /runs · /cancel <id> |
Workflows |
/agents · /ask <agent> <task> |
Remote agents |
/sessions |
Recent sessions |
/balance |
Credit balance |
/buy [product_id] |
Credit packs / Stripe checkout link |
/usage |
Token usage summary |
| (free text) | Supervised agent session |
Also: docs/REFLEX.md.
| Piece | Where |
|---|---|
| Balance / grant / packs | GET/POST /billing* · Dashboard can call the same APIs |
| Stripe Checkout | POST /billing/checkout — needs STRIPE_SECRET_KEY in env or vault |
| Webhook | POST /billing/webhook/stripe |
| Config | billing_enabled, billing_require_credits, max_tokens_per_*, … |
Defaults keep local free: billing off; mock/Ollama do not burn credits.
Credit packs (dev catalog): credits_100 / credits_500 / credits_2000 — Stripe Price IDs via STRIPE_PRICE_CREDITS_* env vars (never hardcode secret keys).
See DEPLOY.md and deploy/. Docker:
docker compose upBefore public exposure: set IRONJARVIS_TOKEN, HTTPS, tight CORS, persist state volume, keep computer-use off unless isolated.
| Surface | What |
|---|---|
| Chat / Sessions | Talk to agents; stop / continue / export |
| Projects | Workspace, knowledge, in-project chat |
| Workflows | Visual multi-step pipelines |
| Terminals | Multi-pane PTY + AI assist |
| Creative | Studio + gallery / media |
| Marketplace | Connector installs (MCP / OAuth / keys) |
| Memory / LTM / Lessons | Recall and self-improvement |
| Usage | Tokens & estimated cost |
| Settings | Models, autonomy, budgets |
| Help | In-app guide |
Recover: doctor · repair · backup · restore · rollback · reset-config
CLI:
init · serve · up · run · demo · cancel · rerun · doctor · repair · backup · restore · connect · secrets · …
Dashboard (Next.js) ──REST + WebSocket──► Daemon (FastAPI)
│
Orchestrator · Agents · Tools · Permissions · Sandbox
Providers (xAI/Groq/…) · Connections vault · Router
Memory Fabric · LTM · Projects · Creative · Reflex
Billing ledger · Channels (TG) · Workflows · Schedules
SQLite (WAL) under .ironjarvis / EPIC_HOME
src/iron_jarvis/
brand.py Epic Tech AI identity strings
billing/ credits ledger + Stripe helpers
daemon/routes/ REST domains (incl. billing)
reflex/ phone commands + ambient rules
providers/ LLM adapters (xAI, Groq, …)
connectors/ marketplace catalog
projects/ creative/ memory/ comm/ …
dashboard/ Next.js control center
- Local-first state; secrets Fernet-encrypted; agents never read secret values.
- Inbound TG: opt-in, allowlist, private chat only.
- Stripe / provider keys: env or vault only — see TOKEN-POLICY.
- No auto-merge of agent code changes.
uv run ironjarvis doctor
uv run ironjarvis demo
uv run python -m pytest tests/test_billing_ledger.py -q
uv run pytest -q| Doc | Topic |
|---|---|
| docs/TOKEN-POLICY.md | Secrets + token budgets |
| docs/REFLEX.md | Phone / ambient commands |
| docs/SIGNING.md | Code-signing the Windows installer |
| docs/README.md | Internal plans & audits |
| DEPLOY.md | Server deploy |
| CLAUDE.md / AGENTS.md | Agent operating notes |
Full policy pack lives in legal/ and in the dashboard at /legal.
| Document | Repo | In-app |
|---|---|---|
| Privacy Policy | legal/PRIVACY.md | /legal/privacy |
| Terms of Service | legal/TERMS.md | /legal/terms |
| Acceptable Use | legal/ACCEPTABLE-USE.md | /legal/acceptable-use |
| Billing & Refunds | legal/BILLING.md | /legal/billing |
| Cookies & Storage | legal/COOKIES.md | /legal/cookies |
| Security Policy | SECURITY.md · legal/SECURITY.md | /legal/security |
| Copyright / DMCA | legal/COPYRIGHT.md | /legal/copyright |
| Product Whitepaper | legal/WHITEPAPER.md | /legal/whitepaper |
| Contact | legal/CONTACT.md | /legal/contact |
| License | LICENSE | /legal/license |
| Third-party notices | NOTICE | — |
Contact: [email protected] · @EpicTechAI
Policies are for transparency and operations; they are not personalized legal advice.
| Product | Epic Tech AI |
| [email protected] | |
| X | @EpicTechAI |
| Upstream core | Iron Jarvis by RealDealCPA-VR |
Epic Tech AI — the AI OS you own.
