Controller-Agent is a controller-governed local AI harness for research-style agents.
It combines identity, memory, capabilities, and a bounded micro-run workflow so an agent can:
- form a candidate answer
- validate that answer with allowed evidence and tools
- execute grounded controller actions
- work through the full active task queue in one invocation
- preserve memory and task history
- fail honestly when no validation path exists
Current release stage: MVP-Alpha
C-Agent is not a general autonomous AGI shell. It is a structured local runtime for agents that need:
- explicit identity files
- local memory logs
- controller-governed tool access
- bounded micro-runs for reasoning and validation
- honest unresolved behavior when evidence is weak
It is a good fit for:
- decomposed research tasks
- structured strategy work
- local-file-grounded tasks
- controller-driven experimentation with smaller local models
It is not yet strong at:
- giant one-shot briefs without decomposition
- broad web research out of the box
- permissive freeform tool execution
- perfect deliverable-quality verification
This extracted repo contains the runnable agent runtime, including:
agent.pyconfig.jsoncontroller/identity/memory/scripts/
It does not ship the full internal source-repo test and planning surface.
python3npm- Ollama if you are using a local Ollama endpoint
- a pulled local model matching
config.json(default:qwen2.5:3b)
Check:
Optional examples are included here too:
npm run build:prodThis will:
- run production preflight
- verify Python entrypoints compile
- reset mutable runtime files to factory defaults
Write one or more task lines to identity/current-tasks.md:
- your task here
- another task herenpm run inspect:startuppython3 agent.pyAt a high level, C-Agent does this:
- load identity, memory, capabilities, startup files, and config
- read active tasks from
identity/current-tasks.md - for each active task, run bounded workflow micro-runs:
- question normalization
- candidate answer
- answer synthesis
- answer verification
- action selection when more evidence is needed
- JSON repair when model output is malformed
- execute only approved controller actions
- reconcile each finished task back into memory
- refresh task state from memory
- clean up the local model runtime when the batch ends
For a fuller walkthrough, see ARCHITECTURE.md.
npm run compile
npm run build:dev
npm run build:prod
npm run reset
npm run inspect:startupbuild:devin this OSS runtime package is a lightweight validation pass.- The full internal source repo contains a larger test surface than this extracted runtime package.
The default runtime expects Ollama:
- provider:
ollama - endpoint:
http://127.0.0.1:11434/api/generate - model:
qwen2.5:3b
If you use a remote/internal Ollama host, update model.endpoint in config.json before running npm run build:prod.
The default shipped MCP config includes two public doc/research surfaces:
- Cloudflare docs MCP
- AWS Knowledge MCP
These are optional. You can disable, replace, or extend them in controller/mcp-config.json.
These files are mutable runtime state:
controller/runtime.jsonlmemory/memory.jsonlmemory/extended_memory.jsonlidentity/current-tasks.md
Use:
npm run resetwhen you want a clean local runtime state.
- Broad strategy briefs still benefit from decomposition into smaller tasks.
- The verifier can still accept shallow answers too easily in some cases.
- MCP support is still partial; discovery is better than execution today.
- General web research is not built in by default.
- The runtime is intentionally conservative: unresolved is preferred over bluffing.
See:
This project is released under the MIT License. See LICENSE.