Koder · desktop 0.4.53

Coding and office work,
on your computer.

Koder is a tool for coding and office work. It runs on your computer and does not include a model: you set up the model service and the key. It reads and writes files, and runs commands, only in the folder you pick. It asks before changing a file, and by default it asks before running a command.

0.4.53 · Apple silicon · macOS 13 or later · 222 MB

IDECLITUIThe windowTutorialSettingsApprovalsWorkbenchComputer useModelsDetailsData

IDE, CLI, and TUI

The IDE is in the desktop installer, and its window has its own terminal at the bottom. The CLI and the TUI are each one command, on the Koder CLI page. The install steps are in the project repository. The TUI is not in this installer.

IDE

The dev view is the editor: the file tree on the left, the open file in the middle, and this turn’s chat on the right. The work view puts the chat in the middle. A file change shows the before and after, and it is written only after you accept it. The terminal is at the bottom, opened with ⌘J or Ctrl+J. See the IDE

CLI

The command is koder. It is not in the desktop installer and needs no invite code. The install steps are in the project repository. Start a session or give a task in one line, and use it in scripts and CI too. A file change is listed first and written only when you type y. Commands ask first too. See the CLI

TUI

A full-screen terminal interface: the chat, a side column, and a prompt. A file change opens a diff first. Press y to accept, or n or Esc to turn it down. Commands ask first. It does not collect passwords. It is not in this installer. The install steps are in the project repository. See the TUI

Intro film · Meet Koder: The workbench, the dev view, and the editor. Every frame is a real screenshot of Koder 0.4.45. The push-ins and dissolves were added in post. No model was connected, and the film does not show AI actually doing a task. There is no voiceover. The music was written by a program.

The window

When it opens,
it is one full window.

Tasks, the workbench, and Settings share that window. Below is how the current app is laid out: an activity bar on the left, a list beside it, and the work in the middle.

Tasks

The top of the task window switches between a work view and a dev view. In the dev view, tasks and files are on the left, the editor is in the middle, and this turn’s chat is on the right. The work view puts the chat in the middle. When a file needs to change, the chat shows the before and after first. It is written only when you click Accept.

Koder, dev view: the sample workspace’s file tree on the left, src/format.js open in the middle, a new task’s chat on the rightKoder, dev view: the sample workspace’s file tree on the left, src/format.js open in the middle, a new task’s chat on the right
Screenshot: the dev view has src/format.js from the sample workspace open, with a new task’s chat on the right.

Workbench

It sits next to Koder tasks and KARMEN bot. The home screen is a row of shortcuts, three first-run steps, counts of projects and work, and today’s pulse. All of that stays on this computer.

Workbench home: shortcuts, three first-run steps, project and work counts, and today’s pulseWorkbench home: shortcuts, three first-run steps, project and work counts, and today’s pulse
Screenshot: the workbench home. The workbench sections are on the left.

Settings

Four groups on the left, and you can search. Approval modes are Careful, Balanced, and Automatic. What each page does is on Settings.

Settings, Tools and approvals: careful by default, confirm every file change, and ask before every commandSettings, Tools and approvals: careful by default, confirm every file change, and ask before every command
Screenshot: the Settings window. Personal, AI and running, Integrations, and System are on the left. Tools and approvals is on the right.

File changes wait for you. Commands follow your rule.

  • Before Koder writes or edits a file, it shows the before and after. It writes only when you click Accept. A change you reject is not written to disk.
  • Commands ask every time by default, and you see the full command. You can choose Always allow for a command you use often, or switch commands to run on their own in Settings.
  • Deleting files, sudo, disk operations, shutdown and restart, force-push and rewriting git history, and handing text to a shell always ask, no matter how you set it.
  • A change or command waiting for you is kept for 30 minutes at most. After that it counts as a no.
  • You can switch the chat to Ask, which is read-only, or turn any tool off on the Tools page. That takes effect immediately.
Approval mode: ask before AI acts is set to Careful, and file changes are set to confirm every timeApproval mode: ask before AI acts is set to Careful, and file changes are set to confirm every time
Screenshot: the approval mode under Settings → Tools and approvals. File changes confirm every time by default, and they are written only after you accept.

Workbench: projects, files, and flows in one place

The workbench sits next to tasks and KARMEN bot. The home screen shows goal progress, tasks in progress, the board, recent work, and the next automation. Workbench data lives in the Koder data folder on your computer.

Projects and the board

Each project is a folder, with a board of To do, In progress, and Done. Click Hand to AI on a card and a task opens in that project’s folder.

Work

Images, web pages, documents, and audio or video in the project are listed for you. Files the AI wrote are marked. Click one to preview it.

Knowledge base

Add text, Markdown, web pages, Word, and PDF. Text inside images can be read too. The index is built on this computer. AI searches only the libraries you turned on, by keyword.

Library

Collect files and links, with notes and tags. Send one into the knowledge base in one step, or copy it into a project for a task.

Workflow canvas

Draw a few prompts as a flow. Drag boxes, connect them, and add an If branch so a yes and a no take different paths. When it runs, one task follows the arrows to the end.

Automations

Run a prompt or a workflow every day, every week, every few hours, or once. It runs only while Koder is open. A missed run is skipped and noted by default. You can also check Catch up on missed runs, and it runs the next time you open Koder.

Goals

Write a goal and the key results, check them off, and keep the tasks you opened for it together. A single task can have a goal too. AI pushes it round by round, and it pauses, with a reason, if something fails or it hits the round limit.

AI lead

Turn on a lead for a project. It can see the other tasks in that project, leave them notes, and stop a task that has drifted. It also keeps the project rules and the log. It does not run on its own. It works only when you open it.

Dev lab

Ask up to three models the same question and compare them side by side. You can also try a knowledge-base search, or check whether a command would run without asking. Comparisons call the providers, and those calls cost money under their rules.

Preview

Computer use: it clicks and types, with your permission

  • Off by default. On a Mac, turning it on walks you through Accessibility and Screen Recording in System Settings.
  • Once it is on, AI can screenshot the screen, read text and buttons on this computer, click, type, press shortcuts, scroll, drag, open and switch apps, and read the title and address of the page in the browser.
  • Three ways to confirm: ask before every action (the default), ask only for risky actions, or leave it open.
  • While AI is driving, the top of the screen says AI is using the computer, with a Stop button. Press ⌃⌥⌘. at any time to stop every task.
  • Screenshots go only to the model service you chose. It works on Mac and Windows. The Mac installer has no Developer ID signature, so after a new version macOS may ask you to turn those two permissions back on. The emergency stop is ⌃⌥⌘., and there is also a Stop button at the top of the screen.
Settings, Computer use: the switch that lets AI use this computer is off, and every action asks firstSettings, Computer use: the switch that lets AI use this computer is off, and every action asks first
Screenshot: Settings → Computer use. The main switch is off by default, and every action asks first.

You pick the model. Koder helps you use it.

This version does not include a model, and it does not bill you. You connect your own model service in Settings. ESVORIQ 1.0 is in training. Public weights are not available yet. Until then, the tools below help you use the service you already have.

Nearly thirty presets, and a path to connect

Nearly thirty model services are preset, in China and elsewhere, and you can connect a local model or another compatible endpoint. Each one says where to get a key. The first time you open Koder, it walks you through connecting the first model.

Thinking levels live in the hourglass

This version has no Lite, Pro, Max, or Ultra strength buttons next to the input. The hourglass picks a model for simple, medium, and complex work, and each level’s thinking can be Default, Low, Medium, or High.

Hourglass: pick a model by the size of the task

When it is on, the first line of each new task goes to a fast, cheaper probe model that judges the difficulty, then to the model you set for small, medium, or large. The top of the task says which level it chose, and why. It is off by default.

Read the live model list, or change the address

After you add a key, you can read the provider’s live model list. You can also point one provider at a different endpoint, or add a model that is not on the list.

The hourglass on Settings, Models: the probe model and the models for simple, medium, and complex tasks are all unset, and thinking is at the defaultThe hourglass on Settings, Models: the probe model and the models for simple, medium, and complex tasks are all unset, and thinking is at the default The task input: ask Koder to read code, change files, or run commands, with Choose a model and Next underneathThe task input: ask Koder to read code, change files, or run commands, with Choose a model and Next underneath

1 / 2

Screenshots: The hourglass in Settings → Models, and the task input. Before a model is connected, the input says to choose a model. An official model is not in either place yet.

The small things that make it usable

Send a message while it is running

While AI is still working, a new message can wait in line and go out when this round ends. Or you can send it now, and AI sees it on the next step.

It asks when the decision is yours

When AI needs you to decide, it shows a card of choices. If you do not answer in 60 seconds, it continues on its own judgment, and you can still add an answer later.

Pins and reminders

Pin a task, a chat, or a folder. Koder can remind you when a task finishes or needs you, send a system notification, or show an icon in the menu bar.

Pick up after an interruption

If a task is still running when you quit, Koder warns you first. The next time you open it, an interrupted task can continue in one click.

Tutorial center

The app has more than forty illustrated tutorials. A few of them move the pointer and walk you through the real interface. The steps on this site are in the tutorial. What each settings page does is in Settings.

Look and layout

Light, dark, tint, font and size, high contrast, and reduced transparency. Put the sidebar on the left or the right, and hide the activity bar. The dev view has an editor and a terminal, and the chat can sit on either side of the editor.

We do not receive your data

Koder runs on your computer. We do not collect what you write. What you send to a model service is handled by the provider you chose.

On our side

We do not receive any of your data

  • You can use it without creating an account.
  • There is no cloud sync. Tasks, chats, files, and keys stay on your computer.
  • Usage is not uploaded on its own. That kind of upload is usually called telemetry. What you click, which features you use, what went wrong, and the computer model are not sent back to us.
  • Our servers do not have your tasks, chats, files, or keys, so we do not train any model on them.

The model service you chose

Content goes straight to that provider

  • Koder itself does not include a model. When you send a message, the message, the chat history, and the files AI read go straight to the model service you picked in Settings. They do not pass through us.
  • That provider handles the content under its own privacy policy and terms. Whether it keeps the content, or uses it for training, is up to the provider. We do not control that, and we cannot promise it for them.
  • If that matters to you, read the provider’s policy first, or connect a model that runs on your own computer.
  • Web search sends the query to the search service. Fetching a page is your computer opening that address directly. You can turn both tools off on the Tools page.

That is how 0.4.53 works today. If it changes, the privacy notice is updated first, and the app tells you.

It runs only on this computer

The interface is served by a local service that listens only on 127.0.0.1, and it refuses requests that come from other websites.

You choose the model

You open the model service, get the key, and pay that provider. What you can connect is the list inside the app, and you can also connect a local or other compatible endpoint.

Model keys are encrypted on this computer

API keys are stored with AES-256-GCM. The key file used for that encryption can be read only by the current system user. Koder does not read model keys from environment variables or from a .env file, and the interface does not show any part of a key. It is not in the macOS Keychain yet.

Usage stays on this computer

The System page shows token use and an estimated cost, plus the version and the security patch level, and you can run a check in one click. A usage record is the time of the call, the task and folder, the service and model, and the input and output token counts. It does not include the message or the file, and it is not uploaded.

The kernel: KARMEN LOOP

KARMEN LOOP is a kernel we wrote ourselves. It finishes a task in a loop of perceive, decide, and act. It owns the session, the main loop, tool calls, and approvals. When a file needs to change, it stops and waits for you. Commands follow the rule you set, and by default they ask too. If Koder quits unexpectedly, an interrupted task can continue from where it stopped.

Model calls, files and commands, web pages, and computer use each run in their own subprocess. If one of those exits with an error, the kernel keeps running and starts a new one the next time it is needed.

  1. 01PerceiveRead the task, the files, and the tool results you gave it
  2. 02DecideThe model you configured chooses the next step
  3. 03ActIf something must change, it asks you first, then does it

Not here yet

  • Sign-in: not available. Settings → Account and profile says there is no cloud account, and it does not pretend you are signed in. You do not need to register to use Koder.
  • Mac and Windows are a beta: downloads need an invite code. This Mac build is Apple silicon. There is no Intel build. Windows is a 64-bit installer, and it has not been tested on a real Windows PC.
  • Automatic updates: the update address is not online yet, so Koder does not check the network for updates.
  • KARMEN bot inside the desktop app only chats. It does not use tools, and it cannot read or write files or run commands.
  • Image generation: no image model is connected yet.

Koder for phone

Koder for phone is in development. There is no installer, and the download page has no phone install button.