Lumen
v1.0.15 · Windows · free & open source

Editor, terminal, SSH, agent. One window.

Plus a file explorer, Teams, YouTube, and Twitch — all docked alongside. Open it tomorrow and youre back where you stopped.

Download for WindowsView on GitHubLumen-Setup-v1.0.15.exe

Installer is per-user, no admin needed. Not yet code-signed — SmartScreen may warn on first download. Mac & Linux builds compile but arent QAd yet.

lumen — synthetic_datassh connected4 panels
Lumen in real use — editor on the left with docker-compose.yml open, SSH terminal showing lumen-edit / lumen-grab / OSC-7 helpers active, Teams chat docked below, YouTube on the right. Single window.

A real session — editor on the left with docker-compose.yml open, the SSH terminal showing the on-connect helpers (lumen-edit · lumen-grab · OSC-7), Teams docked below, and YouTube on the right. Nothing alt-tabbed.

01One window

Stop alt-tabbing.

Editor, terminal, SSH, agent chat, Teams, YouTube, Twitch — docked in the same window. Workspace-scoped tab state means closing and reopening lands you where you were.

02Real BYO model

Local or cloud, your call.

Free Ollama on your box, or Claude / Gemini / Copilot / any OpenAI-compatible endpoint. Per-tool approvals are persisted per-command, so you approve pip install once.

03Persistent memory

Six-month projects, no re-explaining.

Workspace skills, rules, and a knowledgebase that auto-injects into every prompt. Plus a file timeline so the question "go back to before the agent broke this" has a one-click answer.

Bring your own model

Pick a model you trust. Switch per chat.

Local Ollama with no API key, the major cloud providers, or any OpenAI-compatible endpoint — including self-hosted gateways.

  • O
    OllamaLocal · free
  • C
    ClaudeAnthropic
  • G
    GeminiGoogle
  • gh
    CopilotGitHub CLI
  • AI
    OpenAI-compatibleany endpoint

v1.0.15 ships with all five. Configure as many as you want.

Whats in the box

Built for the IDE youd actually keep open all day.

Every feature exists because alt-tabbing got annoying enough to fix. Nothing here is a marketing checkbox.

Editor

Multi-tab editor with live agent diffs

Syntax highlighting, markdown preview, drag/drop file moves, Git ignore badges. Files mutated by the agent get inline accept/revoke decorations so you can stage changes turn-by-turn before they hit disk.

Agent chat

Bring your own model

Ollama (local, free), Ollama Cloud, Anthropic, Gemini, GitHub Copilot via the CLI, and any OpenAI-compatible endpoint. Chip-based file refs, image paste, prompt queueing, per-tool approval that remembers your answer.

Council mode

Multi-agent orchestrated deep work

Brief in, team out. Architect, researcher, tester, reviewer run through Discovery → Architecture → Build → Review → Polish/Ship phases with a quality gate and a one-shot adversarial critic at the end. Sessions are persisted and browsable.

SSH + Remote

Vaulted hosts, SFTP, remote-edit-on-save

Real SSH layer, not a plugin. Secrets in OS keystore (DPAPI / Keychain / libsecret). xterm-based remote terminal with OSC-7 cwd tracking. Drag-drop SFTP upload from anywhere — including WinRAR / Gmail web drags. Hard-walled from the agent by default.

Side panes

Teams, YouTube, Twitch, GitHub — docked

Webviews for the things you'd otherwise alt-tab to. Work chat next to the editor. Workspace-scoped tab state so video keeps playing through SSH sessions. Yes it's chromium-on-chromium, no it's not slower than alt-tabbing.

Workspace memory

Skills, rules, and a knowledgebase

Every workspace gets a .lumen/ and .agents/ folder. Skills the agent can call, project rules silently injected into every system prompt, and a knowledgebase auto-injected on every turn so a six-month project doesn't restart from zero each chat.

Timeline

Revision history for every file change

Content-addressed blob store plus an append-only journal under <app-support>/lumen/timeline/. Captures agent edits, manual saves, external tool writes, explorer renames. Diff against any past version, restore in one click. "Go back to before the agent broke this" works.

Process manager

Built-in, cross-platform, workspace-aware

PowerShell Win32_Process on Windows, BSD-style ps on Unix. Preset filters for Node / Python / Java runtimes, a workspace filter that scopes to your folder, and an accurate "Lumen-spawned" view backed by tracked PIDs — not name guessing. Kill with OS reasons surfaced inline.

Backup

Scheduled workspace snapshots with optional git push

Every 5min to 24h (your call), Lumen zips the workspace to <app-support>/lumen/backups/. Respects .gitignore + a hardcoded skip list (node_modules, build, .venv, target, etc). Opt-in to git auto-commit and auto-push so a 3am scare isn't a story you tell later.

Auto-update

Quiet, SHA-256-verified, opt-in friendly

Polls GitHub Releases once per 12h, surfaces an "Update available" pill in the menu bar. One click downloads the next installer, closes via Restart Manager, runs silent install, reopens. Force-check from Help → Check for Updates.

How it fits together

One system, a few hard boundaries.

The agent reaches into the editor and the timeline. It does not reach into your SSH sessions or vaulted credentials. The wall is drawn at the tool registry, not at a prompt boundary.

lumen / system topologyread-only
prompts · approvalsinjected each turninline diffsjournaledhard wallyou connect manuallyYouEditorAgentWorkspace memoryrules · KB · skillsTimelineSSH layerWorkspace files
  • User intent
  • Agent edits
  • Memory injection
  • Journaled mutation
  • Hard wall / locked
lumen / remotessh · dev@reports-api
helpers installedlumen-edit·lumen-grab·OSC-7 cwd
/home/dev/reports-apihidden
  • ..
  • config/
  • src/
  • logs/
  • docker-compose.ymlremote-edited2.1 KB
  • Dockerfile0.8 KB
  • nginx.conf1.4 KB
  • package.json3.0 KB
Drop to upload via SFTPvirtual drags from WinRAR · 7-Zip · Gmail web all work
1 queued
SSH + Remote

SSH that lives in the IDE.
Not a plugin.

Real terminal, real SFTP, real vault. The remote pane uses your already-authenticated session for everything — including file browsing, drag-drop uploads, and edit-on-save sync.

  • VaultPasswords & key passphrases in the OS keystore (DPAPI on Windows, Keychain on macOS, libsecret on Linux). Host metadata in fast cold storage.
  • SFTP browserWalks the remote tree from your OSC-7 cwd. Breadcrumbs, hidden-file toggle, direct-open into the editor.
  • Drag-and-dropDrop files onto the Remote pane. Virtual drags from WinRAR / 7-Zip / Gmail web all work.
  • Plugin activationOn connect, Lumen quietly installs lumen-edit, lumen-grab, and OSC-7 cwd glue on the remote shell. The IDE knows where you are.

Boundary — the agent has zero access to this layer. No host list, no credentials, no live sessions.

Remote-edit-on-save

Edit remote files like theyre local.

The full cycle uses one authenticated SFTP channel. No second login, no temp files, no rsync dance.

  1. 01

    Browse

    Open the SFTP pane. Walks the remote tree from your OSC-7 cwd, with breadcrumbs and a hidden-file toggle.

  2. 02

    Open

    Click a file. Lumen streams the content into a local editor tab marked as remote-backed.

  3. 03

    Edit · Ctrl+S

    Edit like any local file. On save, Lumen computes the diff against the remote-baseline buffer.

  4. 04

    SFTP push back

    Diff goes over the existing SFTP channel — no re-prompt for credentials, no separate tool.

Workspace memory

Your agents remember the project.
Not just this chat.

Every workspace gets a .lumen/ and .agents/ folder. Skills the agent can call, project rules silently injected into every system prompt, a knowledgebase auto-injected on every turn.

A six-month project doesnt restart from zero on each new chat — the agent reads what previous sessions learned, and is told to keep it current.

RulesSkillsKnowledgebaseTimeline
lumen — workspace.lumen/rules.md
.lumen
skills
rules.md
.agents
knowledgebase.md
conventions.md
design-system.md
landmines.md
lib
services
1
2
3
4
5
6
7
8
9
10
11
12
13
14
## Project conventions
Always run flutter analyze after agent edits.
UI strings live in lib/l10n/strings.dart — never inline.
Dont use emojis in user-visible copy.
## Knowledgebase
<!-- Auto-injected into every system prompt. -->
Read .agents/knowledgebase.md at chat start.
Update it after non-trivial work so the next session starts informed.
## Landmines
Dont re-introduce showMenu pickers for chat models // collapses past ~10 models
Council mode · phases

Brief in, team out.
Five real phases, one shared blackboard.

The phase strip you see during a Council run isnt a progress bar — each phase runs distinct agent roles, with its own quality gate before advancing.

  1. 01

    Discovery

    Research the brief, surface unknowns, draft questions.

  2. 02

    Architecture

    Plan the work. Slice into subtasks. Assign agents.

  3. 03

    Build

    Agents pull tasks, work in parallel, mention each other.

  4. 04

    Review

    Quality gate. Subagents inspect each other's output.

  5. 05

    Polish / Ship

    Adversarial critic, final pass, deliverable handed back.

+ Adversarial critic·Per-agent model + tool budget·Sessions persisted
lumen / processesauto-refresh · 2s
All·412Node·23Python·9Java·4Workspace·14Lumen·7
search · name, path, cmdline
PIDNameCommandMemoryKill
  • 18432node.exenode next dev --turbo --port 3000284 MB
  • 18560└─node.exenode esbuild-service62 MB
  • 12044python.exeuvicorn app.api:app --reload156 MB
  • 9876java.exejava -jar gradle-launcher.jar612 MBkill
  • 4Systemdenied
  • 22188node.exenode vitest --watch118 MB
412 processes·7 spawned by Lumen·14 in workspacelast refresh · 142ms
Process manager

A task manager that knows your code, not just the kernel.

Built in, cross-platform, and aware of what Lumen itself spawned. When a dev server eats a port at 2am, you dont alt-tab to Task Manager and squint at PIDs anymore.

  • Cross-platformPowerShell + Win32_Process on Windows for PID, PPID, and command line. BSD-style ps on macOS/Linux. Same UI on top.
  • Smart presetsFilter to Node / Python / Java by what's actually running (matches binaries, package managers, dev servers — node, npm, vite, uvicorn, gunicorn, javaw, mvn, the lot).
  • Workspace filterShow only processes whose command line touches your open workspace folder. Find the dev server that's blocking port 3000 in two clicks.
  • Lumen-spawnedTracked accurately, not guessed by name. Every PTY shell and agent tool process Lumen owns is registered. Descendants walked via PPID.
  • Kill with reasonstaskkill /F on Windows, SIGKILL on Unix. OS errors (Access denied, No such process) shown inline — no silent failures.

On shutdown — Lumen hard-kills every PID it tracked, so renegade node / python grandchildren cant squat on ports after the IDE closes.

lumen / settings / backupauto · every 30 min
last run02:34 · ok
next run03:04
total saved48 archives
Interval30 min
5 min24 h
git auto-commit·after each archiveon
git auto-push·manual push onlyoff
recent archivesworkspace · synthetic_data
  • synthetic_data_backup_0234.zipauto12.4 MB02:34
  • synthetic_data_backup_0204.zipauto12.1 MB02:04
  • synthetic_data_backup_0134.zipauto12.0 MB01:34
  • synthetic_data_backup_0048.zipmanual11.7 MB00:48
ignored
node_modules.git.dart_toolbuilddist.next.venv__pycache__target.gradle+ your .gitignore
Backup

Save scares, gone.

The IDE quietly snapshots your workspace to a zip on a schedule you set. Optional follow-through to git add + commit + push — so a forgotten push or a bad edit at 3am isnt a story you tell later.

  • Smart ignoreRespects your .gitignore plus a hardcoded skip list (node_modules, .git, build, dist, .next, .venv, __pycache__, target, .gradle, etc). Backups stay small even on heavy projects.
  • Schedulable5 minutes to 24 hours, default 30. The timer survives restarts via PreferencesService, and re-checks the active workspace on every fire so switching projects doesn't back up the wrong one.
  • Git follow-throughTwo opt-in toggles: auto-commit (git add . && git commit) and auto-push. Both off by default. Turn them on when you want every snapshot to also land on origin.
  • Local archivesZips land in <app-support>/lumen/backups/ as <workspace>_backup_<timestamp>.zip. Easy to grep, easy to restore by unzip-and-diff.

Pairs with Timeline — backup is the full-workspace snapshot, Timeline is per-file revision history. Use Timeline to undo a bad edit; use Backup to roll back the whole project.

Screenshots

One window. Everything where you left it.

Real screenshots, not mock-ups. Same Nord-flavoured dark theme that ships in the IDE.

Editor + SSH + Teams + YouTube
Real Lumen session — code editor on the left with docker-compose.yml open, SSH terminal in the middle with lumen-edit / lumen-grab / OSC-7 helpers active, Teams docked below, YouTube on the right.
Editor open on a docker-compose file, SSH terminal showing the on-connect helpers (lumen-edit, lumen-grab, OSC-7 cwd), Teams chat docked below, YouTube on the right. One window.
Council, idle
Council mode at rest — phase strip across the top, blackboard on the right, each agent has its own card with a step counter.
Phase strip across the top, blackboard on the right, agent cards with step counters waiting for a brief.
Council, running
Council mode running — agents pulling tasks in parallel, mentioning each other, posting to the shared blackboard.
Agents pulling tasks in parallel, mentioning each other, posting to the shared blackboard.
SSH + editor + YouTube
Editor on the left, SSH terminal in the middle, a YouTube panel on the right. One window.
Editor on the left, SSH in the middle, YouTube docked on the right. Don't pretend you don't do this.
Editor + SSH + Teams + YouTube
Editor on the left, SSH and Teams in the middle column, YouTube on the right.
Editor, SSH, Teams chat, and YouTube — all docked in one window, no taskbar dance.
Download

Install on Windows. Per-user, no admin.

Windows x64 is the supported build. Mac & Linux Flutter scaffolding compiles but isnt QAd — build from source if youre feeling brave.

Recommendedv1.0.15

Installer

Per-user install to %LOCALAPPDATA%\Programs\Lumen\. No admin or UAC needed. Auto-updates from the menu bar. Clean uninstall via Apps & Features.

  • SmartScreen will warn — click More info → Run anyway. Installer isnt code-signed yet.
  • ~26 MB. Built with Inno Setup.
Portablev1.0.15

Zip (no installer)

Extract anywhere, run lumen.exe. No auto-update — youll grab the next zip manually. Good for thumb-drive installs, shared boxes, or sandboxing.

  • Same binary as the installer, no registry entries.
  • ~30 MB.
FAQ

Honest answers, short.

Is Lumen free?+
Yes. Free, open source, no telemetry. The only thing that costs money is whichever LLM provider you point it at — and you can run Ollama locally for nothing.
Which AI models does it support?+
Ollama (local + cloud), Anthropic Claude, Google Gemini, GitHub Copilot (uses your existing Copilot subscription via the CLI), and any OpenAI-compatible endpoint. You configure providers in a first-run wizard or under Settings.
Can the agent SSH into my servers?+
No, by design. The agent has zero access to the SSH layer: no host list, no credentials, no live sessions. SSH is yours alone. Roadmap adds opt-in agent reach (read remote file, run command in your active session) behind explicit, default-off toggles — never anything that can connect or unlock the vault.
Why does SmartScreen warn me on install?+
Because the installer isnt code-signed yet. Code signing certificates cost money and reputation builds slowly — contributions on this front (SignPath OSS, donated OV cert) are appreciated. Click More info → Run anyway to proceed.
Mac? Linux?+
The Flutter scaffolding compiles for both, but there are no official builds and no platform QA yet. If you build from source on macOS or Linux, file issues — PRs welcome.
Where does my data live?+
Workspace files stay on disk where you put them. SSH credentials live in the OS keystore (DPAPI on Windows, Keychain on macOS, libsecret on Linux). Per-workspace agent memory lives in .lumen/ and .agents/ inside your project — gitignore them or commit them, your call. Nothing is sent to a Lumen server because there is no Lumen server.
A small ask

Help me get more people into this.

Lumen is a one-developer project. No VC, no growth team, no marketing budget — just one person who got tired of alt-tabbing and built something better. If any of this resonates, here are four ways to push it further. They go from cheapest to most involved.

  1. 01

    Star the repo

    The cheapest thing you can do. GitHub stars are how solo projects bubble up in trending and search. One click, three seconds, real signal.

    Star on GitHub
  2. 02

    Tell one person

    Word of mouth is the only thing that scales for a one-developer project. If Lumen replaced something you alt-tabbed to a lot, mention it to a friend who alt-tabs the same way.

    Share the site
  3. 03

    File an issue

    Bug, paper-cut, feature you wish existed, model that doesn't quite work, weird font kerning — all welcome. Feedback is what drives the roadmap, not a calendar.

    Open an issue
  4. 04

    Build with me

    PRs welcome. The codebase is modular Dart + Flutter, opinionated but commented honestly. Read the .agents/knowledgebase.md before you start — it explains the boundaries.

    Browse the source

Built by one person in the Norwegian fjords. If you found a bug, built something cool on top of it, or just want to say hi — GitHub Discussions is open.