Open-source agent runtime — Go, local-first

Hire a workforce
for your coding agent.

Jeju is a local-first runtime that turns agents into installable workers — pinned manifest, policy-gated workspace, evidence for every run. Your agent plans; cheap bounded specialists execute; you audit.

shell
$ npx skills add cosmtrek/jeju --skill jeju-writing -g
then, in your coding agent
 Review ~/drafts/launch-post.md for publish readiness.

Works with Claude Code, Codex, Cursor and 20+ agents. The skill bootstraps the Jeju runtime on first use — you only bring aDEEPSEEK_API_KEY.

01 — The problem

Delegation without a runtime is hoping

a. Frontier models doing grunt work

When your orchestrator writes, rewrites, and translates everything itself, you pay frontier prices for work a smaller model does fine. Jeju splits the bill: your model plans and reviews, cheap specialists execute.

b. Prompted behavior drifts

A prompt is advice — the same instructions behave differently across sessions and models. A Jeju worker is a manifest: pinned model, temperature, prompt, tools, step limits. Identical next month.

c. Chat logs are not evidence

When delegated work goes wrong, a conversation tells you nothing. Every Jeju run files trajectory.jsonl and a report — model calls, tool calls, policy decisions — and every tool call passes a policy gate first.

02 — What Jeju is

An agent is a file.
A run is a record.

Jeju compiles a YAML manifest into a running worker. Everything the worker is allowed to be — and everything it did — exists as something you can read, diff, and version.

kind: Agent
metadata:
  name: article-editor
models:
  providers:
    primary:
      preset: deepseek
      model: deepseek-v4-pro
      temperature: 0.1
instructions:
  system: prompts/article-editor.md
tools: [read, search]
permissions:
  access: readOnly
runtime:
  limits: { maxSteps: 24, maxToolCalls: 40 }
output:
  name: editorial_review
  schema: # verdict, findings[]…

An agent is a manifest

Model, prompt, tools, permissions, limits, output schema — one YAML file, fully inspectable. No behavior hidden in code.

Every run is bounded

Each tool call passes a policy gate. File access stays inside the declared workspace. Step and cost limits are enforced, not suggested.

Every run leaves evidence

trajectory.jsonl records model calls, tool calls, policy decisions, and artifacts. jeju view renders it as a report.

Agents ship as packages

Versioned, digest-verified, installed by reference from a static registry. The same worker, reproducible on any machine.

03 — First recipe

The writing team

The first thing shipped on Jeju: four catalog workers behind one skill. jeju-writing turns your agent into a dispatcher — plain language in, the cheapest capable worker out. A review step is added only when stakes call for one; simple requests never pay for it.

“Translate this abstract.”writing/translatortranslated text
“这段中文帮我改自然一点。”writing/chinese-expression-polisherpolished draft
“Rewrite this for a technical audience.”writing/article-rewriterrevised draft
“Is this ready to publish?”writing/article-editorverdict + findings, JSON

You pick the findings worth fixing. The skill dispatches the rewriter or polisher with exactly those.

Humans pick the findings

No rewriting on autopilot. Review findings go to the author; only the accepted subset becomes the next worker's task.

The boundary stays explicit

Workers run read-only inside a policy-gated workspace. They return text — they never touch your files.

Verify the run, not the vibe

Every step prints a run id. jeju view opens the report: what was read, what was denied, what it cost. Failed runs exit non-zero.

what the skill runs for you

jeju run --workspace ~/drafts --from ~/drafts/draft.md \
  p:writing/article-editor@0.1.0 \
  "Review this draft for publish readiness. Return only the configured JSON."

final answer — schema-validated

{
  "verdict": "needs_revision",
  "summary": "Clear thesis, but the argument is asserted rather than built.",
  "findings": [
    {
      "severity": "high",
      "location": "opening paragraph",
      "issue": "The central claim is stated as absolute but never defended.",
      "suggestion": "Soften the claim or add a concrete comparison."
    }
  ]
}

04 — Under the hood

Pinned, verified, immutable

The workers are packages resolved from a static registry — no accounts, no API. Each version pins a commit and a sha256 digest, checked on install. Published versions never change; content changes require a version bump.

packages:
  writing/article-editor:
    versions:
      0.1.0:
        source: github:cosmtrek/jeju//catalog/writing/article-editor?ref=<commit>
        digest: sha256:966d…6aff

The skill points JEJU_REGISTRY_INDEX at jeju.rickoyu.com/registry and installs what it needs. Prefer reading the source? Every package is a directory of YAML and prompts in the open catalog.

packagemodelboundaryversion
writing/article-editorReview drafts for publish readiness, logic, structure, and prose flow.deepseek-v4-proreadOnly · read, search0.1.0
writing/article-rewriterRewrite a draft according to concrete editorial suggestions.deepseek-v4-proreadOnly · read, search0.1.0
writing/chinese-expression-polisherPolish Chinese expression into more idiomatic, natural, and fluent prose.deepseek-v4-flashreadOnly · read, search0.1.0
writing/translatorTranslate short text between languages with idiomatic Simplified Chinese output.deepseek-v4-proreadOnly · no tools0.1.0