vKore · open source

Agents that hold exactly what you grant.

vKore runs Kore as a sandboxed guest beside your operating system and puts local AI agents inside it. A file path, a model response, a tool name or a click is never authority by itself: every grant is a Kore capability, scoped to one prompt and revoked before the next.

Open source under MPL-2.0. The screenshots are vKore's native app, rendered against its test fixtures.

The vKore Agents view. A tree of agent cards joined by magenta spawn-lineage lines: ai-broker at the root, labelled resident, with capabilities fs.read, fs.list, fs.write, proc.exec, net.fetch, kv.read, kv.write and more; below it three workers, reader-4e91, indexer-bc07 and patcher-2f6a, and under the indexer two sub-agents, symbols-9f2a and embed-31d5. Each card highlights the capabilities it holds and greys out the ones withheld. An inspector panel on the right shows ai-broker as root of the authority tree, generation 0, live, 3 children, 12 of 12 capabilities and 4 granted paths, listing each capability as held.(open full size)
Authority treevKore native UI · test fixtures

vKore's agent view: the broker at the root holds the session's twelve capabilities, and each worker and sub-agent it spawns holds a subset of its parent's. Withheld capabilities stay on the card, dimmed.

01Ceilings

A project sets ceilings, not grants.

The folders a project may use and the add-ons it enables bound what an agent may ever ask for. They grant nothing on their own.

Every prompt is bound to its project, session, generation, prompt ID, idempotency key and exact text. For each one, Kore creates generation-bound agent routes and capability grants, and revokes them before the next prompt is admitted, so nothing an agent held carries over.

A workspace folder is opened as a capability and imported into Kore. Changes come back to the host only as exact change sets, within explicit byte and file limits.

The vKore Session view for the project vkore bridge, marked deterministic and read only. The user asks: Read the verification file and explain the result. A Worked for 4.0 s panel shows Agent 1 executing read_workspace and a tool result MANIFOLD-ORANGE-742. Below, a validated assistant reply reads: The verification code is MANIFOLD-ORANGE-742. The read stayed inside the project workspace and used prompt-scoped authority. A Describe the change input with a read only badge sits at the bottom.(open full size)
A scoped readvKore native UI · test fixtures

A prompt answered inside its grant: the agent reads one file in a read-only workspace, and only validated assistant text reaches the chat. The working timeline keeps agent and tool activity apart from the answer.

One prompt, one generation
Routes and grants are revoked before the next prompt is admitted.
Bounded scans
Workspace scans are bounded, don't follow symlinks, and warn about broad or credential-bearing folders.
Exact writeback
Edits reach the host only as exact change sets, within byte and file limits you set.
Loopback only
The harness refuses non-loopback binds, and browser-originated changes need the exact local origin and the native client's header.
02Attenuation

Every agent holds less than its parent.

A broker at the root holds the session's capabilities. Each worker it spawns, and each sub-agent below that, derives a subset of what its parent holds: Kore's attenuation rule, drawn on screen.

The agent view shows the authority tree as it stands: spawn lineage between agents, the capabilities each one holds lit, and the ones withheld from it still on its card, dimmed. The filesystem view shows the same session from the other side: the workspace's containment, and the dashed permission edges along which an agent can reach a file.

The vKore Filesystem view. At the top, the ai-broker and five agent nodes; below them a directory tree rooted at Codebase_directory with src, crates and tests folders and files such as main.rs, policy.rs, lib.rs, Cargo.toml and README.md. Solid grey lines show containment between folders and files; dashed magenta lines run from agents to the specific folders and files they were granted. The inspector on the right shows ai-broker with 12 of 12 capabilities and 4 granted paths.(open full size)
Granted filesvKore native UI · test fixtures

The same session from the filesystem side: solid lines are the workspace's containment, dashed lines the permissions each agent was granted. An agent reaches a file only along a dashed line.

03Approvals

Approvals a model can't forge.

Model output, tool results, files, web pages and transcript text can't approve anything. An approval is an authenticated local action over its exact action, session, ID, issue time and expiry, and it can be used once.

A request shows the current and requested scope side by side: files, tools, accounts, recipients, network destinations, budgets, delegation and duration. A partial approval must be a subset of the request, and produces a new, narrower grant rather than blessing the original.

vKore records decisions; it doesn't mint capabilities. The resident Kore broker independently checks its live holdings, the target generation, uses, expiry and the whole transaction before installing anything. Policy lives in a keyed, append-only audit chain: a gap, an edit, a reordering or the wrong key fails closed. Revocation takes effect at once.

A modal titled Review exact authority over the dimmed session view. In amber: Allow reference.guest.list_workspace once for this agent. Below, a JSON request with addon_id reference.guest, effect_summary, execution_domain guest, id apr-5f37cccc, requested_by harness-ui-v1, risk read_only, session_id session-5f37cccc and tool list_workspace. A note reads: Authenticated user action. Model or transcript text cannot create this dialog. Buttons: Deny and Allow once.(open full size)
Exact authorityvKore native UI · test fixtures

An approval shows the exact authority requested, down to the add-on, tool, execution domain, session and risk, and can be granted once. Model output and transcript text can't open this dialog.

04The model

The model never holds a capability.

Inference runs locally on llama.cpp, which receives model inputs and bounded sequence state, and never guest capabilities, host descriptors or the ability to run a tool.

Only validated public assistant text reaches the chat. Model fragments, validation envelopes and raw protocol records stay in the append-only transcript, where they can be audited. vKore never downloads or guesses a model: you supply both the server and the weights.

05Add-ons

Installing an add-on grants nothing.

Add-ons are tools that run on the host, inside the Kore guest, or split across both. Installing one doesn't let any agent call it.

Every call is checked against the exact package, generation, prompt, arguments, resource scope, mediation, expiry, call budget, replay state and revocation state. Packages are signed and content-addressed, with compatibility checks, offline bundles and rollback. The reference add-ons include Git, scoped to one exact repository, and Gmail, through vKore's credential-brokered HTTPS boundary.

Division of labor

Kore holds the authority. vKore holds the host.

The split is deliberate. vKore is the convenient part, with the app, the settings and the supervision. None of it can mint authority, which only the Kore guest holds.

Kore guest

Authority

  • Capability lineage and guest routes
  • Founding agents, with their budgets
  • Executable and filesystem grants
  • The guest's security gates

vKore host

Everything around it

  • The app, projects and settings
  • QEMU and llama.cpp supervision
  • Workspace, policy, add-ons and packages
  • Transcripts and audit

llama.cpp

Tokens

  • Model inputs and bounded sequence state
  • No guest capabilities
  • No host descriptors
  • No tool execution
Status

Open source, in active development.

vKore's end-to-end gate boots a real Kore guest in QEMU, submits a prompt through the harness, and requires the capability-scoped tool result and the agents' teardown to come back over HostLink. The paved path runs the native app on Windows, with the harness, QEMU, Kore and llama.cpp inside WSL. Guest mode trails the OS: features reach Cosmos first.

  • vKore

    MPL-2.0

    The host control plane: the native Iced and Axiom app, the loopback harness, VM supervision, workspace, policy, add-ons and packages.

    MicroPerceptron/vkore
  • Kore guest

    Not distributed yet

    vKore boots a pinned Kore image and checks its commit and SHA-256 before use; it never rebuilds Kore or substitutes an image. Kore images aren't distributed yet.

    About Kore
  • Shared contracts

    Pinned to Kore

    vKore pins the HostLink, workspace and guest-filesystem contracts to an exact Kore revision instead of copying them, so building it today needs access to that revision. They move to libkore once they're published there as versioned crates.

    Kore developer docs