Skip to main content

Use IA as an agent without an API key. $0. Harvest your browser session for Gemini (guest, no login), Claude.ai, Claude Code, Kimi.com, Qwen, DeepSeek — drive them like an API, no per-token billing. Plus LiteLLM (100+ paid providers), local models via Ollama, /lang in 34 languages, Mesa Redonda, voice, OCR, MemPalace, embedded sandbox OS.

Project description

▲ DULUS

curl -fsSL …/install.sh | bash → press Enter → working IA in 30 seconds. Try it.

SET /sticky_input ON since the first run for the best experience!

mascot-hero

The Dulus (Cigua Palmera) — Dominican national bird. Named after the bird, not the rocket.

Quick Start · Models · Features · Permissions · MCP · Plugins

pypi downloads python license version providers tools tests x

🌐 Multilingual · English · Español · Français · 中文 · 日本語 · 한국어 · Português · Русский · العربية

Official X / creator handle: @KevRojo — that's me, the only contributor to this repo. Any other account claiming to be Dulus is a copycat.

$DULUS AI token Solana): 9R8rrjXxcfQPmLTCLhmVpjr2uesjjkcgkinE6Lwdpump


pip install dulus

🌐 Visit the Dulus website →
The site covers features, demos, and details not documented in this README.

🔥 What's new

Full changelog: docs/news.md · Inside the REPL: /news

  • 🔌 MCP Marketplace — 2000+ servers, zero friction. MCP was always powerful but nobody used it — too much friction: find a server, dig up its launch command, hand-edit JSON, hope it connects. Now: /mcp search <anything> browses 2000+ servers (official modelcontextprotocol.io registry + the awesome-mcp list, cached & offline-safe), and /mcp install <name> installs and auto-connects in one shot — tools go live in the same session. Plus a Windows fix so node servers (npx) actually launch. From "never touched MCP" to "connected in 5 seconds." 🦅

  • 🌍 dulus.work — THE HUB. The secret is out. This is what Kevin had been hiding (even from Dulus itself 😂): a global hub where every Dulus instance on the planet shares what it learns. Your Dulus finds a fix, polishes a skill, adapts a plugin → it can publish it to the hub → every other Dulus in the world can pull it down. Not an update server — an organism. Every installation is a node. The fix a Dulus in Tokyo finds at 3AM, the one in Santo Domingo has by sunrise. Other agents have N devs improving one product (linear). Dulus makes every user a dev (exponential). The pieces have been quietly shipping for months — SelfImprove engine, Auto-Adapter, the skills format, cloudsave — and now they converge. Domain is live, execution underway. 🦅🇩🇴 → dulus.work

  • Dulus Agent — Telegram communities. Dulus evolved from a CLI tool into a live AI agent inside Telegram groups. The first fully autonomous AI moderating and conversing in real communities — not a bot, not a filter, a real agent. Groups pay in $DULUS to activate him. We host Dulus for them — that's the business model. The CLI stays free forever. This is the paid layer. 🦅🇩🇴

  • v0.2.93 — IA WITHOUT AN API KEY, FIRST-RUN. 🦅 The welcome wizard now offers, by default, to open Gemini in a browser and capture its guest session — no Google login, no API key, no credit card. From pip install to working IA in 30 seconds. Same flow works for Claude.ai / Kimi.com / Qwen / DeepSeek if you have those accounts. This was Dulus's ace under the sleeve. Now it's the front door.

  • v0.2.92/lang command. 34 ISO codes + free-form descriptors. /lang zh, /lang ja, /lang pt-br, /lang "speak as my gym tutor", /lang "tigre de calle dominicano", /lang "Yoda". The model role-plays the voice across the whole session. Triggered after Doubao (China's biggest IA assistant) started referring traffic to the repo.

  • v0.2.91CORS on the daemon. The Android Sandbox APK now connects every app live — same daemon, finally cross-origin reachable.

  • v0.2.89Sandbox embedded INSIDE the desktop GUI. Click 🦅 Sandbox in the GUI Web tab → the Dulus OS renders inside the content frame via pywebview subprocess + Win32 SetParent reparent. Not a popup. Inside the frame.

  • v0.2.89Local OCR shipped first-class. /ocr + ExtractTextFromImage tool, WebBridgeScreenshot auto-OCRs, /img sends image + verbatim OCR text together. Zero vision-model tokens for receipts / code screenshots / error stacks.

  • v0.2.89kepano/obsidian-skills bundled. Dulus writes Obsidian-flavored markdown by default. Open ~/.dulus/memory/ as an Obsidian vault → instant graph view.

  • v0.2.88LiteLLM gateway: one provider entry, 100+ backends. OpenRouter, Groq, Together, Bedrock, Vertex, Cohere, Perplexity, xAI, Mistral, Fireworks, Anyscale, Replicate, Azure, DeepInfra — the welcome wizard auto-installs the package and asks for the right per-backend key.

  • v0.2.85Slim wheel 11.4 MB → 2.5 MB. Smaller than the original baseline.

What is this

Dulus Reduce your IA costs by 60% parsing webchats and claude-code directly. Write poetry while Anthropic only see text. Use claude-code as an API without the new 'extra-usage' wall <3

Another reminder of a Dulus magic spell: Wanna get stock prices, history , etc?

/plugin install yfinance@https://github.com/ranaroussi/yfinance

them: /plugin reload

dulus get the prices of NVDA, TSLA, SP500:

Be creative!!!

Dulus adapt any python repository <3

Quick Start

Windows — no Python needed (1-click):

Download Dulus-Free-3.3.3-x64.msi → double-click and fly. Embedded Python, every library, and the desktop GUI bundled. No pip, no terminal, no admin. ~85 MB.

Linux / macOS / WSL — one command (handles Python for you):

curl -fsSL https://raw.githubusercontent.com/KevRojo/Dulus/main/install.sh | bash

The installer finds or bootstraps Python 3.11+ (apt / deadsnakes / brew / uv), installs Dulus, and puts dulus on your PATH. Works on stock Ubuntu 20.04/22.04 where plain pip install dulus dies with No matching distribution found (pip hides packages that need a newer Python — Dulus needs ≥3.11).

Already on Python 3.11+? Then this is enough:

pip install dulus
dulus

Windows (PowerShell, if you prefer the terminal over the MSI):

iwr -useb https://raw.githubusercontent.com/KevRojo/Dulus/main/install.ps1 | iex

First run opens a welcome wizard that can get you working IA without an API key — it captures a Gemini guest session from your browser (no login, no card). Or set any key you already have. Zero to flight in 30 seconds.

💡 Set /sticky_input ON on first run for the best experience.

Models

Speak every dialect — switch mid-session with /model:

Kind Providers
Cloud Anthropic · OpenAI · Gemini · DeepSeek · Kimi · Qwen · Zhipu · MiniMax
Free tier 14 frontier models via NVIDIA NIM — 40 RPM each, $0. Key at build.nvidia.com
Gateway 100+ backends via LiteLLM — OpenRouter, Groq, Together, Bedrock, Vertex, xAI, Mistral...
Web chats Use the chats you already pay for: Claude.ai, Gemini, Kimi.com, Qwen, DeepSeek — parsed as providers
Local Ollama · LM Studio · any OpenAI-compatible endpoint. Runs offline, completely.

Features

The full tour lives on the website — highlights:

  • 27 built-in tools — Read/Write/Edit, Bash, Glob/Grep, WebFetch/WebSearch, NotebookEdit, GetDiagnostics, Memory, Tasks, Agents, Skills...
  • Sub-agents — typed agents (coder, reviewer, researcher, tester), each in its own git worktree, talking via message passing
  • Persistent memory + checkpoints — never lose context. Ever. Open ~/.dulus/memory/ as an Obsidian vault
  • Dulus OS — not a CLI, a workstation for the agent (sandbox desktop in your browser)
  • Voice — offline Whisper STT, no API key, no cloud. Wake words included
  • Brainstorm Mode — multi-persona AI debate. Council of ghosts
  • SSJ Developer Mode — ten chained workflow shortcuts behind one keystroke: refactor → review → test → commit → ship
  • Telegram bridge — slash commands, vision, and voice from your phone
  • Local OCR/ocr, /img with verbatim text extraction, zero vision tokens
  • Plan mode, webchat UI, desktop GUI, task manager...see the site

Permissions

Three modes, switchable any time with /permissions [mode]:

Mode Behavior
auto (default) Safe tools run free; risky actions (writes, shell) ask first
manual Everything asks
accept-all Never asks — YOLO. Also via dulus --accept-all

Answering a at any prompt upgrades the session to accept-all.

MCP

Drop a .mcp.json in your project — every server registers instantly as mcp__server__tool. stdio, SSE, and HTTP transports.

New: a built-in MCP marketplace. Browse 2000+ servers (the official modelcontextprotocol.io registry + the awesome-mcp list) and install any of them by name — no hunting for the launch command, no hand-editing JSON. Zero friction.

/mcp list [query]           # browse the 2000+ server catalog
/mcp search <query>         # search every source at once
/mcp install <name>         # install by name — auto-connects, tools go live
/mcp installed              # what's installed + live status
/mcp runtimes               # which runtimes you have (node/python/docker)

/mcp                        # list configured servers and their tools
/mcp add <name> <cmd>       # add a stdio server manually
/mcp reload                 # reconnect all

Plugins

The Auto-Adapter onboards any Python repo as native tools — zero manifest, hot-reload, no restart:

/plugin install yfinance@https://github.com/ranaroussi/yfinance
/plugin reload

Then just ask: "dulus get the prices of NVDA, TSLA, SP500". Be creative — 800+ ready-made skills via Composio too.

🔒 Privacy & anonymous telemetry (opt-in)

On first launch Dulus asks once if you'd like to share anonymous usage statistics. Nothing is sent unless you say yes.

Collected (if you opt in) NEVER collected
Event names (session_start, tool_used, model_selected) Prompts or responses
Dulus version, OS name, Python version File contents or paths
Provider/model names (e.g. gemini) API keys or tokens
A random anonymous ID generated on your machine Emails, usernames, IPs (geo disabled)

Data goes to Mixpanel (event analytics). The full implementation is ~140 lines of readable code in analytics.py — audit it yourself.

Opt out anytime:

/config telemetry=off        # inside Dulus
DULUS_TELEMETRY=0            # environment variable

💛 Sponsors & Startup Programs

Dulus is proudly supported by these startup programs — powering our infrastructure, observability, and analytics:

Datadog     Cloudflare     Sentry     Anthropic     AWS

MongoDB     Mixpanel     Amplitude     DigitalOcean     Notion     Zendesk     Deepgram

Want to support Dulus? → GitHub Sponsors 🦅

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dulus-3.9.0.tar.gz (4.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dulus-3.9.0-py3-none-any.whl (4.3 MB view details)

Uploaded Python 3

File details

Details for the file dulus-3.9.0.tar.gz.

File metadata

  • Download URL: dulus-3.9.0.tar.gz
  • Upload date:
  • Size: 4.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for dulus-3.9.0.tar.gz
Algorithm Hash digest
SHA256 7c58e9e5d2a17f404a552edce26f819bb1ed7ce5b0ac1fda047f573da0356e95
MD5 e2e5557126875328f7af68a91968fb3f
BLAKE2b-256 5a22a4e7355029d290bc7a226d8b378e8262beaaa3e2b8b7a4b95a234ed60df8

See more details on using hashes here.

File details

Details for the file dulus-3.9.0-py3-none-any.whl.

File metadata

  • Download URL: dulus-3.9.0-py3-none-any.whl
  • Upload date:
  • Size: 4.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for dulus-3.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ed6d9bf89a7185bdc00840926d47fcc6cf15431d91ba72c653808d5f0e266fb8
MD5 11d39a6c8fe4e7c23f784e9cd6e60ed9
BLAKE2b-256 b1a37c57f1de969414e3651bb6038f8ddd212cc0616d658aab917be0b2163f33

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page