Dulus Channel
17 subscribers
5 photos
1 file
9 links
Official Dulus Channel Created by KevRojox
Download Telegram
[Commit f421ac9]

feat: extract sandbox on first run + Linguist override (Python repo)

[Stop shipping the sandbox source tree as part of the wheel and stop letting it dominate the GitHub language stats.]

What ships now:

- _bundles/sandbox.tar.gz (~814 KB compressed, vs 2.4 MB raw):

-the pre-built Vite output, fixed-mtime tar for reproducibility.

- sandbox_bootstrap.py with ensure_sandbox(): extracts
the tarball to ~/.dulus/sandbox/ on first hit. Uses size+mtime signature to re-extract automatically when 'pip install --upgrade dulus' rotates the bundle.

Has a dev fallback to sandbox/dist/ when running from
source / editable install.

No prompt, no notification.

- tools/build_sandbox_bundle.py: maintainer-side script that packs

Bump 0.2.81 -> 0.2.82.
[Commit c73213c]

Website (docs/):
- New main page (index.html) β€” full Dulus rebranding, removed all
'Falcon' references in particle-playground.html and preview.html.
- New dulus-bird.png logo (459x716, transparent PNG) β€” the orange
Cigua Palmera (Dulus dominicus).

Webchat favicon:
- /favicon.ico and /dulus-bird.png routes serve the bird logo.
- <link rel='icon'> injected into the 4 HTML headers (Chat + 3 RT pages).

Installer scripts (install.sh + install.ps1):
- DEFAULT changed from 'uv > pipx > pip' to 'pip > uv > pipx'. Dulus
loads plugins that import arbitrary packages at runtime; uv tool's
isolated venv made those plugins blind to user-installed deps
(pandas, tomli, etc.). pip --user (or pip in active venv) keeps
Dulus in the same env as anything else the user pip-installs.
- Interactive prompt when uv/pipx are present and we're on a TTY.
- curl|bash / irm|iex (non-TTY) silently defaults to pip.
- 'uv tool install dulus' is a no-op when already installed β€” switched
to 'uv tool upgrade dulus' on re-runs. This was the bug that kept
KevRojo's own install stuck on v0.2.16 for months.
- PATH detection: when no Python on PATH, probe well-known install and print the exact PATH= line to add.
- Heads-up when ~/.local/bin is missing from PATH after install.

Bump to πŸ“¦ Dulus 0.2.83

$Dulus $DULUS
#Dulus
Mega update in the website already live https://kevrojo.github.io/Dulus/
Fixing some glitches with the install scripts , roll back here if needed

pip install dulus==0.2.82
πŸ¦…πŸ’œ 0.2.84 LIVE en PyPIhttps://pypi.org/project/dulus/0.2.84/
Wheel subido (11.4 MB con sandbox/dist embebido)
Tag v0.2.84 empujado
Build artifacts limpiados

All fixed
Channel photo updated
v0.2.86 β€” Cigua Palmera lands across the UI πŸ¦…

The Dulus palmchat (Dulus dominicus, the Dominican national bird) is
now the face of every Dulus surface β€” sidebar, header, dashboard, OS
tab. Plus the agent learned to respect what you're already doing in
the browser.
✨ Highlights
πŸ¦… New cigua-palmera logo, everywhere
- Webchat + Mesa Redonda: bird in the sidebar and next to the title
- Task Dashboard (/dashboard): bird in the nav + proper favicon
- Sandbox OS (/sandbox/): browser tab favicon shows the bird
πŸ€– WebBridge stops killing your vibe
- WebBridgeNavigate now explicitly warns the model not to repurpose a
tab that's playing music/video or hosting a logged-in session.
- For weather, news, prices, docs β†’ it routes the agent to WebSearch
+ WebFetch (headless, no browser side effects).
- For a fresh tab β†’ WebBridgeNewTab, not Navigate.
πŸ“¦ Slimmer wheel (stayed at 2.5 MB)
- Carried over from 0.2.85: dropped docs/uploads (9.9 MB of Claude
Design source images that had no runtime use) and the redundant
_bundles/sandbox.tar.gz. The sandbox/dist tree now ships directly
in the wheel β€” same layout that worked in 0.2.81.
πŸ›  Installer cleanups (also from 0.2.85)
- install.ps1: plain pip install dulus when you pick pip β€” no more
--user flag dumping scripts into a directory that's not on PATH.
Falls back to python -m pip / py -3 -m pip only if pip isn't
on PATH at all.
- install.sh: WSL/Linux flow continues to detect distro + pkg mgr +
Python + uv/pipx/pip.
Install
curl -fsSL https://raw.githubusercontent.com/KevRojo/Dulus/main/install.sh | bash
iwr -useb https://raw.githubusercontent.com/KevRojo/Dulus/main/install.ps1 | iex
pip install --upgrade dulus
Named after the bird, not the rocket. πŸ‡©πŸ‡΄
πŸ¦… Dulus 0.2.88 β€” live en PyPI

🌐 LiteLLM gateway β€” UN solo entry en el welcome wizard abre
la puerta a mΓ‘s de 100 backends: OpenRouter, Groq, Together,
Perplexity, Mistral, xAI, Cohere, Fireworks, Anyscale, Replicate…
El wizard te lo instala automΓ‘tico en sitio y te pregunta la API
key del backend que escogiste β€” sin tener que salirte, hacer pip
install, y volver a entrar.

🩺 /doctor primer arranque β€” apenas terminas el welcome,
Dulus te tira un health snapshot completo (quΓ© providers estΓ‘n
configurados, voice/TTS, deps opcionales, todo). Cero adivinanza
de quΓ© quedΓ³ funcionando.

πŸ”§ install.sh repara permisos de ~/.dulus β€” si alguna vez
corriste el installer con sudo y te quedΓ³ root-owned, ya no mΓ‘s
PermissionErrors. Auto-heal en Linux/WSL.

πŸ–₯ Toolbar fix en Windows Terminal β€” el "Listening..." del
wake-word ya no se desborda a una segunda fila.

πŸ€– Web tool boundaries mΓ‘s claros β€” el modelo ya distingue
entre WebSearch/WebFetch (info text-only) y WebBridge (cuando
quieres VER/OÍR algo, como pedir que te ponga música en YouTube).

πŸŽ™ Voice transcribed input flag β€” /voice ahora etiqueta
el texto pa' que el modelo tolere typos de Whisper.

Stats de la ΓΊltima semana:
β€’ 7,084 downloads
β€’ 1,451 ayer solamente
β€’ Wheel a 2.5 MB (slim AF)

πŸ“¦ Install:
pip install -U dulus

πŸ”— PyPI: pypi.org/project/dulus/0.2.88/
πŸ”— GitHub: github.com/KevRojo/Dulus
🌐 Web: kevrojo.github.io/Dulus/

πŸ‡©πŸ‡΄βš”οΈ Named after the bird, not the rocket.
πŸ‘1
updating, now the Gui render the sandbox inside, feels supeeeeeeeer nice
πŸ”₯2
πŸ¦… Dulus 0.2.89 β€” live on PyPI
✨ Highlights:
πŸ”€ Local OCR everywhere
- New /ocr command and ExtractTextFromImage tool β€” extract
text from images via pytesseract (with easyocr fallback).
Zero vision tokens, offline, instant.
- Use case: receipts, code screenshots, error stacks, dense
tables. Anything text-shaped inside an image.
πŸ“Έ WebBridgeScreenshot now auto-OCRs
- One tool call returns { saved_to, text }. Model no longer
has to chain Screenshot β†’ ExtractText. No more "let me Read
this PNG" β†’ 8KB of binary garbage in context.
πŸ–Ό /img + OCR fallback
- Vision models (Claude, GPT-4o, Gemini, etc.) now receive
image AND a verbatim text transcription side-by-side. Fewer
OCR-style misreads on receipts and code.
- Text-only models (or routes where the bridge drops the
image) now get the OCR text and can actually answer.
Graceful degrade > silent fail.
πŸ¦… Sandbox embedded inside the desktop GUI
- Click "πŸ¦… Sandbox" in the GUI Web tab β†’ the Dulus OS renders
INSIDE the frame, not in a popup window. pywebview spawned
as a subprocess, reparented via Win32 SetParent into the
tkinter content frame. Production-grade Python desktop
integration.
- Drag inside the OS doesn't jitter the embed. Opens at GUI's
current size, frozen there.
- Smart URL: uses :5000/sandbox/ if /webchat is running
(gives full API access), otherwise spins up a local
SandboxServer on a random port. Works offline either way.
πŸ“š kepano/obsidian-skills bundled
- 5 skills shipped out of the box: defuddle, json-canvas,
obsidian-bases, obsidian-cli, obsidian-markdown.
- Dulus writes Obsidian Flavored Markdown by default β€”
wikilinks [[Note]], callouts > [!note], properties,
embeds. Killer pairing: open ~/.dulus/memory as an Obsidian
vault and the graph view connects related memories
automatically.
🌐 LiteLLM gateway polish
- One provider entry β†’ 100+ backends (OpenRouter, Groq,
Together, xAI, Mistral, Cohere, Perplexity, …)
- Welcome wizard auto-installs LiteLLM in-place and asks for
the backend-specific API key (no more exit-wizard,
pip-install, re-run dance).
πŸ“¦ Install:
pip install -U dulus
πŸ”— PyPI: pypi.org/project/dulus/0.2.89/
πŸ”— GitHub: github.com/KevRojo/Dulus
🌐 Web: kevrojo.github.io/Dulus/
Named after the bird, not the rocket. πŸ¦…πŸ‡©πŸ‡΄
dulus-sandbox.apk
6.5 MB
If you got Android and want to test the Local Apk, here you go
Install:
1. Download dulus-sandbox.apk
2. Allow "Install from unknown sources"
3. Run /webchat on your laptop (pip install -U dulus then dulus)
4. Open the APK, enter your laptop's LAN IP, port 5000
5. Tap any sandbox app β€” should connect live
Dulus 0.2.92 πŸ¦…

β†’ /lang command. 34 ISO codes mapped
(zh, ja, pt-br, ar, hi, fr, de, …).
Free-form descriptors pass verbatim.
Default stays Dominican Spanish.

Try: /lang zh, /lang "very formal British English",
/lang "callejero dominicano"

pip install -U dulus
REMEMBER! ALWAYS BE CREATIVE WITH DULUS!

The /lang command in Dulus accepts ISO codes OR any free-form
descriptor.

/lang zh β†’ Mandarin
/lang ja β†’ Japanese
/lang pt-br β†’ Brazilian Portuguese
/lang "tigre de calle dominicano" β†’ ...you'll see πŸ¦…πŸ‡©πŸ‡΄
/lang "pirate" β†’ "Arr matey, this code be cursed"
/lang "Yoda" β†’ "Buggy this function is, yes hmm"

pip install -U dulus

$DULUS $Dulus
πŸ”₯2πŸ‘Ž1
Thanks for all the love! Yesterday was sick! Stats with only 11 Days on Pypi
Remember!!!!!!! just use /harvest gemini thats gonna open a webbrowser with a gemini chat WITHOUT LOGIN just write there Dulus the browser will close and PUM start using Dulus without an IA api key , i know i know op ❀️
πŸ”₯1
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 / Kimi / Qwen / DeepSeek if you have those accounts. This was Dulus's ace under the sleeve. Now it's the front door.
pip install dulus -U
πŸ”₯2
New logo guyssssssss