Skip to content
| Marketplace
Sign in
Visual Studio Code>AI>ollada-codeNew to Visual Studio Code? Get it now.
ollada-code

ollada-code

OpenSourceRulesz

|
1 install
| (0) | Free
Chat, Fix, and Insert in VS Code, powered by your local ollada serve. Phase 1 only: no autocomplete, no agent loop, no streaming, no telemetry, no bundled models.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

ollada-code — VS Code extension, Phase 1

ollada-code is the VS Code extension for ollada, the shelf for open-source diffusion language models. It is distinct from ollada (the CLI and daemon, pip install ollada, version 0.3.4) and from the parked SDAR code LoRA idea (scaling SDAR 1.7B LoRA fine-tuning into a larger coding model, parked 2026-11-01). Never call this extension just "ollada", and never call that parked model "ollada-code".

Version: 0.1.3, independent of ollada 0.3.4. Publisher: OpenSourceRulesz. 0.1.0, 0.1.1, 0.1.2, and 0.1.3 are published on the VS Code Marketplace as OpenSourceRulesz.ollada-code. Install from VS Code Extensions search, not by transferring a .vsix file. GitHub repo: github.com/OpenSourceRulesz/ollada-code.

Phase 1 only

  • Guided Setup (Python, ollada, model picker, serve), nothing downloads or starts until you click. pip is never run by the extension.
  • Chat panel that knows the active file and selection automatically.
  • Three commands only: Explain selection, Fix selection, Insert at cursor.
  • Diff preview with Accept/Reject. Accept is never automatic, one WorkspaceEdit, one undo step, and Accept is disabled if the file changed while ollada was working.
  • Local Python checks before accepting, run on the spliced file.
  • Watch-after diffusion replay for SDAR, real snapshots only.

Out of Phase 1, deliberately: autocomplete, terminal commands run by the model, multi-file edits, agent loops, streaming, live animation, saved threads, persistent memory, remote/hosted serve, telemetry, bundled models.

Hard rules the code enforces

  • All model calls are POST /api/chat on 127.0.0.1:<port> only. Never localhost (the managed-PC proxy can affect localhost tools), never /v1/completions (not in stock ollada 0.3.4; the 2026-11-02 patch is not merged and not on PyPI).
  • Minimum serve version 0.3.4 for Setup, Chat, Explain, Fix, Insert. Replay needs a future serve version that returns snapshots; until then the Watch diffusion button is disabled with "Replay not available for this model" for every response, whatever the family, including every stock 0.3.4 response. Frames are never synthesized. The counter, when snapshots exist, is steps elapsed / total steps, never tokens.
  • Fix prompt, verbatim from the Dell script tests: "Fix this code. Output ONLY the fixed code, no explanation, no markdown fences. Preserve the function name and signature, and do not change unrelated logic." Fences are stripped from replies anyway.
  • Explain and Insert prompts are proposed and untested, unlike Fix which is proven. They are labelled as such in src/prompts.ts. Do not present Explain or Insert results as measured.
  • Port rule: try 11435, then 11436, 11437, and so on, say which port in the UI, never kill the process holding a port. On the work laptop, Code.exe itself holds 11435 and 11436 LISTENING, so 11437 is the expected serve port there.
  • Install, everywhere: CPU pip install "ollada[cpu,server]", GPU pip install "ollada[gpu,server]". [cpu] alone can run but not serve. If serve fails because FastAPI/uvicorn are missing, Setup shows a "Server extra missing" screen with that command and a Check again button. Upgrade pill: pip install -U "ollada[cpu,server]" (gpu variant on a GPU machine).
  • Model picker: rows come from ollada recommend in recommend order, one row per model, fit logic is not reimplemented. Fit labels, spec 5.3: GPU fits/tight/won't fit map to Fits/Tight/Won't fit; CPU sdar:1.7b is Runs on CPU, sdar:4b and nemotron:3b are Runs, slowly, dream:7b and diffcoder:8b are Needs a GPU. Dream and diffcoder are always separate rows (desktop GPU peaks 9.13 GB vs 13.65 GB). Recommended is the first green row in recommend order. Red rows have no Download button.
  • Nemotron detail line drops the ratio: "7.66 GB weights. Runs, slowly on CPU here." The spec's 3x / 9x ratios are CLI cold-load times (fib 19.0s vs 6.3s, capital 17.9s vs 1.9s), not warm-serve speeds, and there is no warm-serve Dell comparison for nemotron yet. The Runs, slowly label stands: fib 3.0x is over the 2x bar in spec 5.3.
  • Checks before accepting, Python files only, run on the spliced file: syntax, undefined names, dead code after return/raise/break/continue in the same block, plus broad except as a warning icon, never a failure. Broad except is new work: the original verifier does not have it. The prefix/suffix byte-identity drift check is NOT ported: it is specific to the <<HOLE>> case and Fix/Insert have no hole.
  • Checks passed is never proof of correctness. The warning box always says so when checks pass. The script-test find_max case passes checks and still raises TypeError at runtime (max_val=None, then if x > max_val). Run the function on 2 or 3 inputs before relying on a fix.
  • Waiting: never pre-seed the 2.8–13.2s range. A bar/range shows only after at least 3 local runs of the same action with the same model, computed from those runs, stored in globalState. The 2.8–13.2s range is sample content from the Dell script run (2.799s–13.192s). No fake progress, no fake animation, no tok/s. eval_count for SDAR is canvas size, not answer tokens, so tok/s is never computed from it. Times are wall clock, warm, on this machine.
  • Insert, Phase 1: writes at the cursor, does not read the code after the cursor. API-level fill-in-the-middle is Phase 2 only, and must never be called "true FIM" without that qualifier. Insert still shows wall-clock time in the meta row in a real build, even though the mockup example is illustrative and unmeasured.
  • Theme and identity: VS Code theme variables for backgrounds, text, borders, inputs, and diff colors. Ollada navy is never forced into the editor. Six-dot Settling mark only (six #6C6FD8 circles). The pig is retired history, not used. Accent #6C6FD8 is logo, icons, active markers, slider, and large graphics only, never small text or links on light themes. Primary buttons and text accents are #5558C9 (new for the extension, not in the site CSS), hover #6265D6. The packaged icon is a 128x128 PNG generated from the six-dot coordinates, not an SVG (vsce rejects user SVGs).
  • Machines are identified by specifications only, never make/model, in any UI string or public copy.

Build choices (deferred to the builder, 2026-11-02)

  • TypeScript, @types/vscode, esbuild for the production bundle (node esbuild.js, --production for the packaged build), and @vscode/vsce for packaging. vscode:prepublish runs tsc then the esbuild production bundle, so a clean checkout packages correctly.
  • Extension host, webview, and Python checks are cleanly separated: src/extension.ts (host, Setup, serve, chat, apply), src/webview.ts (panel HTML/CSS/JS), src/fitLabels.ts, src/ports.ts, src/waiting.ts, src/prompts.ts, src/replay.ts, src/splice.ts, src/checks.ts (spawns the Python checker), python/checks.py (stdlib only).
  • Checks run with the venv Python, exactly like the existing fix_file.py workflow, instead of reimplementing Python AST checks in TypeScript (which would risk diverging from the proven verifier).
  • Serve starts as a child process of the extension, with an Ollada Serve output channel. If that start fails, the extension shows the exact external PowerShell command as a copyable fallback, for example: <venv python> -m ollada.cli serve --host 127.0.0.1 --port 11437. Download (pull) runs in a VS Code terminal named Ollada: pull, as in the spec.
  • UI font is the VS Code font (var(--vscode-font-family)); code uses the editor font. Bundled Geist is deferred (spec 10c: the Geist license for bundling is unchecked); 0.1.0, 0.1.1, 0.1.2, and 0.1.3 use the VS Code font.
  • Replay snapshots: the extension sends options.record_snapshots: true on the first chat attempt, as proposed in spec 6.7, and retries once without options if serve rejects it. This is a proposal, not a shipped serve feature. Stock 0.3.4 returns no snapshots, so Replay stays disabled there, which is the correct behaviour.
  • The side view (activity bar, Ollada) delegates to the full panel: resolving the side view opens the Beside panel, which carries the complete message handler. This avoids two live webviews with divergent state in Phase 1.

Layout

  • package.json — publisher OpenSourceRulesz, name ollada-code, 0.1.3.
  • src/ — TypeScript source (see above).
  • python/checks.py — bundled checker, stdlib only.
  • resources/icon.png — 128x128 PNG six-dot icon, generated by scripts/make_icon.py from the logo.svg coordinates.
  • test/ — node:test unit tests for fit labels, port picking, waiting, replay, and splice.
  • test-fixtures/ — checks fixtures and recreated fix fixtures. The fix fixtures are recreations from the briefing descriptions, not the original script-test files (see test-fixtures/fix/README.md).
  • ollada-code-0.1.3.vsix — packaged build, if packaging succeeded.

Develop

npm install
npm run compile
npm test
npm run bundle
npx @vscode/vsce package

Installs use TMPDIR=~/workspace in the sandbox (the default /tmp is a 512 MB tmpfs and dies on large installs).

Dogfood on the Dell

See BUILD_REPORT.md for the exact steps. In short: install from the Marketplace (Extensions view, search ollada-code, publisher OpenSourceRulesz), run Setup with ollada 0.3.4 cpu,server in the venv, start serve, download sdar:1.7b, then Fix the 9 script-test files through the UI and report times, correctness, checks, and the always-shown warning. Expect Replay to be disabled on stock 0.3.4 — that is correct, not a bug.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft