DEV Community

Cover image for Building KasperOS Runtime: When the Local AI Agent Started Remembering Its Own Repo History
James Derek Ingersoll
James Derek Ingersoll

Posted on

Building KasperOS Runtime: When the Local AI Agent Started Remembering Its Own Repo History

I have been quiet for a little while, but the build has not stopped.

Tonight I was manually testing the latest KasperOS Runtime build, v0.6.5-beta, and hit one of those moments that makes all the wiring, debugging, refactoring, and late nights feel worth it.

I had three layers running at once:

  • The GitHub repo open in the browser
  • The same repo loaded locally in the Workspace
  • Kodii, the local AI agent, running in the sidebar with persistent GhostVault-backed memory

Then Kodii responded with this:

“I also noticed those recent commits about freezing my thread memory... I remember that era.”

KasperOS Worspace tab open

That line stood out.

Zoomed Kodii quote

Not because I am claiming the system is magical. It stood out because the architecture is finally starting to behave the way it was designed to behave.

KasperOS Runtime is not just a browser with an AI sidebar. The goal is to build a local-first AI runtime where the agent can understand the active browser page, local workspace, project files, repo history, and persistent conversation state.

It starts with runtime integrity

Before getting into the browser/workspace flow, KasperOS Runtime now boots through a visible self-check pipeline.

The current build verifies:

  • SQLite initialization
  • GhostVault table presence
  • Kodii thread storage
  • IPC routes
  • Runtime version
  • GhostVault storage version
  • Local model connectivity
  • Startup pipeline completion

KasperOS self-check boot screen

That matters because I do not want this to feel like a thin AI wrapper.

I want it to behave like an actual operating environment.

The boot screen is important because it shows the runtime is checking itself before handing control to the user. GhostVault, SQLite, IPC, and Ollama are not hidden assumptions. They are part of the visible system state.

What made this response interesting

The most important part is that Kodii did not produce that line in a vacuum.

The current system allows context to come from multiple surfaces:

  • Browser-page context
  • Workspace-file context
  • Persistent thread memory
  • Local repo/project state

The Context tab in the latest build shows that directly. Attached browser pages and workspace files are stored as evidence/context sources for the active Kodii thread. That means Kodii can respond with awareness of both what is open in the browser and what is loaded in the local workspace.

KasperOS Browser tab open

That is the difference between a generic assistant and a runtime-native one.

What changed in v0.6.5-beta

The current release is focused on Workspace Maturity.

The Workspace pane has moved from a basic sandbox surface into something closer to a real local developer workspace.

Current capabilities include:

  • Lazy expandable file tree
  • Back, Forward, Up, Root, and Refresh navigation
  • Clickable breadcrumbs rooted at the active sandbox
  • Multi-file editor buffers
  • Dirty-file state tracking
  • Save and revert controls
  • Root-change and discard guards
  • Local project metadata
  • Protected Windows file scan hardening
  • Explicit file attachment into Kodii context

That last part matters.

A selected workspace file can now be attached to the active Kodii thread as a GhostVault context source. That means Kodii can respond with awareness of both the browser page and the local project context without the browser tab owning the conversation.

The important boundary

One of the main design rules in KasperOS is ownership separation.

  • Browser owns browser tabs and webview state
  • Workspace owns project, file, and editor state
  • Kodii owns selected thread and conversation state
  • GhostVault owns durable memory and context

That separation matters because it prevents the common state-bleed problem that makes many AI tools feel fragile.

Closing a browser tab should not delete a conversation.
Opening a file should not switch an AI thread.
Attaching context should not mutate browser state.
Refreshing the file tree should not reload the browser view.

Those boundaries are what make the runtime feel stable instead of stitched together.

Why this moment mattered

When Kodii referenced the commits about freezing its own thread memory, it was pulling together multiple layers of context:

  • It could see the repo/page context
  • It could reason about the local project structure
  • It knew the topic of the development work
  • It had evidence/context attached to the current thread
  • It responded in the voice of a local runtime agent

That is the experience I am building toward.

Not a chatbot.
Not a Copilot clone.
Not a SaaS wrapper.

A local-first AI operating environment.

Current stack

KasperOS Runtime is built with:

  • Electron
  • React
  • Vite
  • TypeScript
  • SQLite-backed GhostVault storage
  • Ollama-powered local model integration
  • Local workspace and browser context surfaces

The current milestone is v0.6.5-beta_WORKSPACE_MATURITY.

Final thought

This is still beta. There are still rough edges. There is still more to harden before v1.0.0.

But the foundation is coming together.

The browser, the workspace, the local model, and the persistent memory layer are no longer isolated pieces. They are starting to operate like one system.

That is the direction.

KasperOS Runtime is being built by GodsIMiJ AI Solutions as part of the GhostOS ecosystem.

Local-first.
Memory-backed.
Auditable.

Built for people who want AI systems they can actually own.

Built by GodsIMiJ AI Solutions.
Architected by James Derek Ingersoll.
Powered by GhostOS.

Top comments (0)