Spaces:
Running
Running
| title: Elffuss Code | |
| emoji: 🧑💻 | |
| colorFrom: purple | |
| colorTo: pink | |
| sdk: static | |
| app_file: index.html | |
| pinned: false | |
| license: apache-2.0 | |
| short_description: A VS Code-style IDE with a local AI agent, in-browser | |
| tags: | |
| - webgpu | |
| - transformers.js | |
| - local-llm | |
| - agent | |
| - code | |
| - gemma | |
| # 🧑💻 Elffuss Code — a VS Code-style IDE with an AI soul, 100% in your browser | |
| Open a local folder and a full web IDE unfolds around it — real Monaco (the VS Code editor), | |
| a file tree, tabs — with an AI agent that **reads, searches and edits your project for real**. | |
| The model runs on **your** GPU via WebGPU. Your code never leaves your machine. | |
| > ⚡ **Build the best thing you can with Elffuss — 15-minute challenge, open until Sun 9 Aug 2026.** | |
| > Open one of your own folders and let the agent fix a real bug or add a small feature in 15 | |
| > minutes, then post a screenshot of the diff (plus your prompt) as a reply on | |
| > [X](https://x.com/KikoCisneros/status/2085358719190130963) or a comment on | |
| > [LinkedIn](https://www.linkedin.com/feed/update/urn:li:activity:7491125059768516608/). | |
| > **Every like counts, wherever you post it** — X, LinkedIn or the Community tab of this Space. | |
| > We tally them all on Sunday; the most-liked entry wins and gets featured in this Space and in the repo. | |
| > ⚠️ **Open it full-screen** ([direct link](https://kikocis-elffuss-code.static.hf.space)) — the | |
| > File System Access API (opening a local folder) is blocked inside the embedded iframe. | |
|  | |
| In the demo a **small model running entirely in the browser** reads `calc.py`, finds a real | |
| bug and fixes it with a minimal edit — genuine tool-calling, not autocomplete. | |
| ## Why it's different | |
| - **Your code stays local.** The folder is opened via the File System Access API — no upload, no account. | |
| - **The model runs on your GPU** (WebGPU, Gemma-4 E4B via LiteRT-LM; ONNX/transformers.js + our healed LFM2.5-1.2B as fallback). | |
| - **Real tool-calling**: `code.tree`, `code.read`, `code.search`, `code.edit`, `code.write` — you watch every call. | |
| - **Real editor**: Monaco, file tree, tabs, `Ctrl+S`, and git branch/last commit parsed straight from `.git`. | |
| - **Zero install, zero build.** Vanilla ES modules. | |
| - **Your language**: the whole IDE follows your browser's language (English, Spanish and more). | |
| - External providers (OpenAI, Anthropic, Ollama) are **opt-in**; keys stay in your browser. | |
| - Optional local **bridge** for real `node` / `npm` / `python` execution — downloaded from the main site. | |
| ## How it's built | |
| Four write-ups on the full stack — model, runtime, agent harness, editor and filesystem access, | |
| all in one tab: **<https://bitacora.utopiaia.com/#elffuss>** | |
| ## Links | |
| - 🌐 Full app: <https://elffuss-code.utopiaia.com> | |
| - 💻 Source (Apache-2.0): <https://github.com/KikoCis/elffuss-code> | |
| - ✳️ Sibling project — Elffuss Claw (agentic OS): <https://huggingface.co/spaces/KikoCis/elffuss-claw> | |
| - 🧬 Shared core: <https://github.com/KikoCis/elffuss> | |
| ## Gestión de contexto — cómo se mide | |
| El empaquetador de contexto no se elige por intuición. Números medidos a **igual presupuesto de tokens**: | |
| **Sesiones reales de agente** (25 sesiones, 174 sondas, recuerdo de hechos, sin juez LLM): | |
| | | recuerdo | | |
| |---|---| | |
| | truncar por la cola | 7,0 % | | |
| | versión anterior | 15,1 % | | |
| | **esta** | **65,3 % ± 8,5** | | |
| **Memoria a largo plazo** (200 preguntas, F1 del propio repo del banco, modelo real respondiendo, ~8 % del contexto): | |
| | | F1 | | |
| |---|---| | |
| | **el contexto COMPLETO, sin comprimir** | **22,56** | | |
| | truncar por la cola | 6,62 | | |
| | heurísticas escritas a mano | 6,07 | | |
| | BM25 sin IDF | 20,34 | | |
| | BM25 | 23,59 | | |
| | embeddings | 23,95 | | |
| | **fusión por rangos (BM25 + embeddings)** | **28,09** | | |
| **Recuperar bien bate a tenerlo todo**: 28,09 frente a 22,56 usando el 8 % de los tokens. Lo irrelevante no es lastre neutro — distrae. | |
| Otras dos cosas que se miden y no se suponen: activar las heurísticas costaba **−3,02 F1**, y quitar la IDF cuesta **−3,25**. Lo semántico no sustituye al léxico, le cubre el punto ciego: sin solape de vocabulario entre pregunta y respuesta los embeddings ganan (24,28 vs 18,60), con solape gana BM25 (29,33 vs 23,58), y la fusión se queda con los dos. | |
| Referencias: BM25 (Robertson et al., TREC-3 1994) · IDF (Spärck Jones, 1972) · RRF (Cormack et al., SIGIR 2009) · MMR (Carbonell & Goldstein, SIGIR 1998) · sumideros de atención (Xiao et al., ICLR 2024) · tiempo de validez (Snodgrass & Ahn, SIGMOD 1985). | |
| La historia completa, con lo que salió mal: <https://bitacora.utopiaia.com/posts/16-beaten-by-doing-nothing.html> | |