@octocodeai/freellama-mcp-server 0.1.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE-APACHE +202 -0
- package/LICENSE-MIT +18 -0
- package/README.md +203 -33
- package/adapters/agent_context.py +216 -29
- package/adapters/agent_transport.py +131 -0
- package/adapters/bash_agent.py +67 -92
- package/adapters/octocode_agent.py +63 -53
- package/adapters/shell_sandbox.py +487 -0
- package/assets/logo.jpg +0 -0
- package/dist/index.js +1287 -412
- package/docs/ARCHITECTURE.md +169 -26
- package/docs/CLI.md +107 -17
- package/docs/CPU_GPU_ROUTING.md +65 -20
- package/docs/ECONOMICS.md +20 -15
- package/docs/INDEX.md +8 -2
- package/docs/MODEL_METADATA.md +106 -0
- package/docs/MODEL_SELECTION.md +15 -2
- package/docs/MONITORING.md +285 -0
- package/docs/OLLAMA_SIDECAR.md +8 -6
- package/docs/PRODUCTION.md +49 -18
- package/docs/PRODUCT_POSITIONING.md +86 -256
- package/docs/README.md +40 -0
- package/docs/SCOPES_AND_WARMING.md +226 -0
- package/docs/TESTING.md +118 -1
- package/docs/dev/FINDINGS_AND_POSITIONING.md +290 -0
- package/docs/dev/LOCAL_PERFORMANCE_TESTING.md +298 -0
- package/docs/{OLLAMA_SYSTEM_OPTIMIZATION.md → dev/OLLAMA_SYSTEM_OPTIMIZATION.md} +19 -18
- package/native/index.d.ts +31 -0
- package/package.json +13 -10
- /package/docs/{ADR_RESOURCE_AWARE_BACKEND_ROUTING.md → dev/ADR_RESOURCE_AWARE_BACKEND_ROUTING.md} +0 -0
|
@@ -1,291 +1,121 @@
|
|
|
1
1
|
# Product positioning
|
|
2
2
|
|
|
3
|
-
FreeLlama
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
FreeLlama gives AI agents a managed way to offload tasks to local models through Ollama.
|
|
4
|
+
Agents submit bounded work through MCP; FreeLlama handles model selection, queues, memory checks,
|
|
5
|
+
residency coordination, and routing to configured CPU/GPU backends. It returns results with
|
|
6
|
+
execution evidence so the calling agent can verify them.
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
> Agents delegate tasks. FreeLlama manages local resources. Ollama runs inference.
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
The CLI and control API expose the same management layer to operators and applications.
|
|
11
|
+
See [architecture](ARCHITECTURE.md) for the ownership contract and the
|
|
12
|
+
[README](../README.md) for installation and first use.
|
|
10
13
|
|
|
11
|
-
|
|
12
|
-
FreeLlama preserves Ollama's API, but its distinctive work is the decision and evidence layer around
|
|
13
|
-
inference: model qualification, fail-closed routing, admission, CPU/GPU placement, grounded
|
|
14
|
-
research, and execution receipts.
|
|
14
|
+
## Audience and purpose
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
The primary audience is developers operating coding or research agents with Ollama. Typical work
|
|
17
|
+
includes grounded repository lookup, embeddings, image/OCR tasks, supplied-content transforms,
|
|
18
|
+
and helper-model requests. Local-AI operators can use the CLI for the same routing and resource
|
|
19
|
+
controls without an MCP host.
|
|
17
20
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
| Primary audience | Developers operating coding or research agents with Ollama |
|
|
22
|
-
| Core job | Move suitable work to local models without silently lowering quality or losing control of the machine |
|
|
23
|
-
| Primary alternative | Call Ollama directly and implement routing, verification, and resource coordination in every agent |
|
|
24
|
-
| Product promise | Make local delegation explicit, bounded, observable, and measurable |
|
|
25
|
-
| Not the product | A chat UI, an Ollama fork, a hosted inference service, or a generic multi-provider gateway |
|
|
26
|
-
|
|
27
|
-
“Trustworthy local-model delegation” is the clearest value phrase. “Localhost control plane” is an
|
|
28
|
-
accurate architectural phrase, but it supports the explanation rather than leads it.
|
|
21
|
+
The purpose is to make suitable local delegation bounded and inspectable. Eligibility checks,
|
|
22
|
+
policy, and benchmark evidence help an agent choose a model; they do not prove that an individual
|
|
23
|
+
answer is correct. The calling agent retains judgment and final verification.
|
|
29
24
|
|
|
30
|
-
## How the
|
|
25
|
+
## How the layers fit
|
|
31
26
|
|
|
32
27
|
```mermaid
|
|
33
28
|
flowchart LR
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
F
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
C --> E
|
|
42
|
-
X --> E
|
|
43
|
-
E --> A
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
[Ollama](https://docs.ollama.com/api/introduction) owns model execution and its API. FreeLlama
|
|
47
|
-
owns the policy around managed use of that runtime. The [Model Context Protocol
|
|
48
|
-
(MCP)](https://modelcontextprotocol.io/specification/2025-06-18/architecture) makes those controls
|
|
49
|
-
available to compatible agent hosts as seven bounded tools. Native Ollama requests can still pass
|
|
50
|
-
through unchanged to the primary upstream.
|
|
51
|
-
|
|
52
|
-
See [FreeLlama architecture](ARCHITECTURE.md) for the complete responsibility and request-flow
|
|
53
|
-
contracts.
|
|
54
|
-
|
|
55
|
-
## Audience hierarchy
|
|
56
|
-
|
|
57
|
-
### Primary: developers operating AI agents
|
|
58
|
-
|
|
59
|
-
The strongest user is a developer who already uses a capable cloud or local agent and wants to
|
|
60
|
-
delegate bounded work to Ollama. Examples include grounded repository research, embeddings, OCR,
|
|
61
|
-
bulk transforms, and helper-model tasks.
|
|
62
|
-
|
|
63
|
-
Their job is not merely “run a model.” It is:
|
|
64
|
-
|
|
65
|
-
1. Determine whether a local model is suitable for the task.
|
|
66
|
-
2. Avoid sending work to an incapable, unmeasured, or oversized model.
|
|
67
|
-
3. Keep large files, vectors, images, and intermediate tool output out of the orchestrator's
|
|
68
|
-
context.
|
|
69
|
-
4. Coordinate concurrent work without uncontrolled model loads or memory pressure.
|
|
70
|
-
5. Receive citations, verdicts, placement, queue, and timing signals that the agent can inspect.
|
|
71
|
-
|
|
72
|
-
FreeLlama fits this user because its MCP server, CLI, agent skill, and control API expose exactly
|
|
73
|
-
those decisions. The core job-to-be-done is:
|
|
74
|
-
|
|
75
|
-
> When my agent encounters expensive but bounded work, decide whether a local model can handle it,
|
|
76
|
-
> run it under explicit limits, and give the agent enough evidence to trust or reject the result.
|
|
77
|
-
|
|
78
|
-
### Secondary: Ollama power users and local-AI operators
|
|
79
|
-
|
|
80
|
-
An operator with several installed models can use FreeLlama to diagnose environment drift, inspect
|
|
81
|
-
residency, preview routes, coordinate admission, assign selected helpers to a CPU backend, and turn
|
|
82
|
-
benchmark results into routing policy.
|
|
83
|
-
|
|
84
|
-
This audience can use the CLI without an MCP host. The relevant value is machine-aware operation,
|
|
85
|
-
not agent integration alone. FreeLlama discovers the current host and observes Ollama state instead
|
|
86
|
-
of embedding assumptions from the development Mac. See [model selection](MODEL_SELECTION.md) and
|
|
87
|
-
[CPU/GPU routing](CPU_GPU_ROUTING.md).
|
|
88
|
-
|
|
89
|
-
### Secondary: developers embedding local-model policy
|
|
90
|
-
|
|
91
|
-
Library and tool authors can use the Rust core, Node native boundary, or HTTP control API instead
|
|
92
|
-
of rebuilding discovery, routing, admission, and evaluation. This is an integration audience, not
|
|
93
|
-
the clearest first-run story.
|
|
94
|
-
|
|
95
|
-
### Adjacent: Ollama developers and contributors
|
|
96
|
-
|
|
97
|
-
FreeLlama can help Ollama contributors as a downstream compatibility and workload testbed. Its
|
|
98
|
-
diagnostics expose version drift, native passthrough tests protect API compatibility, and its
|
|
99
|
-
dual-process experiments document observed runner placement.
|
|
100
|
-
|
|
101
|
-
Ollama developers are not the primary audience. FreeLlama does not replace Ollama's scheduler,
|
|
102
|
-
runner, model storage, accelerator backends, or token generation. It is a sidecar that exercises
|
|
103
|
-
and governs Ollama from the client side. Describe the relationship as complementary:
|
|
104
|
-
|
|
105
|
-
> Ollama makes local inference possible; FreeLlama makes agent delegation to it governable.
|
|
106
|
-
|
|
107
|
-
### Not a target: mainstream users
|
|
108
|
-
|
|
109
|
-
FreeLlama is not a mainstream local-AI product. It has no end-user chat interface. Meaningful use
|
|
110
|
-
assumes familiarity with Ollama and its model tags. Users also need a terminal or MCP host and an
|
|
111
|
-
understanding of policy or benchmark concepts.
|
|
112
|
-
[Open WebUI](https://github.com/open-webui/open-webui) already addresses approachable self-hosted
|
|
113
|
-
AI interfaces.
|
|
114
|
-
|
|
115
|
-
A separate desktop or web interface can sit on top of FreeLlama as a new product layer. Keep that
|
|
116
|
-
layer from blurring the current audience or forcing consumer concerns into the control plane.
|
|
117
|
-
|
|
118
|
-
## The gap FreeLlama fills
|
|
119
|
-
|
|
120
|
-
Calling Ollama directly is the correct path when the caller already knows the exact model
|
|
121
|
-
and request. FreeLlama becomes useful when the caller has to make and defend a delegation decision.
|
|
122
|
-
|
|
123
|
-
| Direct Ollama question | FreeLlama question |
|
|
124
|
-
|---|---|
|
|
125
|
-
| Which model tag receives this request? | Which installed model qualifies for this task and confidence threshold? |
|
|
126
|
-
| Did the request return HTTP 200? | Was it admitted, where did it execute, and what did it cost? |
|
|
127
|
-
| Can the model call tools? | Did bounded research read evidence and produce verifiable citations? |
|
|
128
|
-
| Can Ollama load this model? | Does it fit the discovered machine and current resident workload? |
|
|
129
|
-
| Can I set request options? | Can this managed model use the explicitly assigned CPU backend without changing raw traffic? |
|
|
130
|
-
|
|
131
|
-
This distinction also separates FreeLlama from a broad gateway such as
|
|
132
|
-
[LiteLLM](https://github.com/BerriAI/litellm). LiteLLM unifies many providers and adds centralized
|
|
133
|
-
authentication, budgets, spend tracking, and load balancing. FreeLlama is Ollama-specific,
|
|
134
|
-
machine-aware, and centered on agent delegation evidence. Its bearer boundary supports a trusted
|
|
135
|
-
operator or team; it does not attempt LiteLLM's tenant, spend, or provider-management scope.
|
|
136
|
-
|
|
137
|
-
[RouteLLM](https://github.com/lm-sys/RouteLLM) is the closer routing-specific comparison. It trains
|
|
138
|
-
and evaluates routers that select between stronger and weaker model endpoints. FreeLlama does not
|
|
139
|
-
implement a learned prompt router. It applies deterministic local eligibility and operator policy,
|
|
140
|
-
then adds host fit, admission, physical CPU/GPU placement evidence, and grounded-research receipts.
|
|
141
|
-
|
|
142
|
-
## The product loop
|
|
143
|
-
|
|
144
|
-
The flexible part of FreeLlama is not an unconstrained agent choosing hardware. It is a guarded
|
|
145
|
-
feedback loop with explicit operator and policy boundaries.
|
|
146
|
-
|
|
147
|
-
```mermaid
|
|
148
|
-
flowchart TD
|
|
149
|
-
T["Agent describes task, objective, and constraints"] --> P["Preview route"]
|
|
150
|
-
P --> Q{"Capability, policy, confidence,\nand capacity qualify?"}
|
|
151
|
-
Q -->|"no"| R["Refuse with reasons"]
|
|
152
|
-
Q -->|"yes"| A["Admit on selected backend"]
|
|
153
|
-
A --> O["Ollama executes"]
|
|
154
|
-
O --> V["Return result, placement, queue,\nand timing evidence"]
|
|
155
|
-
V --> F["Record normalized warm feedback"]
|
|
156
|
-
F -.->|"auto; fastest or balanced only\nafter enough samples"| P
|
|
29
|
+
A["Calling agent: choose task and constraints"] --> F["FreeLlama: select model and manage resources"]
|
|
30
|
+
F -->|"managed primary task"| G["Primary Ollama"]
|
|
31
|
+
F -->|"assigned CPU helper"| C["Optional CPU Ollama"]
|
|
32
|
+
F -->|"capacity unavailable"| Q["Bounded queue or refusal"]
|
|
33
|
+
G --> R["Result and execution evidence"]
|
|
34
|
+
C --> R
|
|
35
|
+
R --> V["Calling agent: verify and continue"]
|
|
157
36
|
```
|
|
158
37
|
|
|
159
|
-
|
|
160
|
-
Explicit model choice, session affinity, capability requirements, policy, confidence, and operator
|
|
161
|
-
CPU assignments remain authoritative. Runtime feedback only influences eligible `auto` routes for
|
|
162
|
-
speed-oriented objectives after comparable warm samples exist; it never overrides a quality
|
|
163
|
-
objective. This design lets the system adapt to another machine without turning resource placement
|
|
164
|
-
into an opaque autonomous decision.
|
|
165
|
-
|
|
166
|
-
## Message hierarchy
|
|
167
|
-
|
|
168
|
-
Use one message at each level:
|
|
169
|
-
|
|
170
|
-
| Context | Message |
|
|
38
|
+
| Layer | Owns |
|
|
171
39
|
|---|---|
|
|
172
|
-
|
|
|
173
|
-
|
|
|
174
|
-
|
|
|
175
|
-
|
|
|
176
|
-
| Mechanism | Qualify, preview, admit, execute, and return a receipt. |
|
|
177
|
-
| Boundary | Ollama runtime underneath; FreeLlama policy around it. |
|
|
178
|
-
|
|
179
|
-
Good headline directions are outcome-first:
|
|
180
|
-
|
|
181
|
-
- **Use local models without lowering your standards.**
|
|
182
|
-
- **Give your AI agent a governed path to Ollama.**
|
|
183
|
-
- **Delegate locally. Keep the evidence.**
|
|
184
|
-
|
|
185
|
-
Avoid “AI orchestration platform.” It is broad enough to hide the product. Avoid leading with
|
|
186
|
-
“proxy,” because raw passthrough is a compatibility feature rather than the principal value.
|
|
187
|
-
|
|
188
|
-
## Build credible attention
|
|
189
|
-
|
|
190
|
-
Create interest through short, reproducible contrasts rather than market-size or
|
|
191
|
-
speed claims.
|
|
40
|
+
| Calling agent | What to offload, prompts, task dependencies, independent concurrency, and answer verification |
|
|
41
|
+
| FreeLlama | Installed-model eligibility, policy, managed admission, memory forecasts, residency coordination, bounded history, and execution evidence |
|
|
42
|
+
| Operator | Ollama installation, endpoints, exact CPU model assignments, lifecycle approval, and runtime configuration |
|
|
43
|
+
| Ollama and the host | Model storage, runner loading, inference, and physical CPU/GPU scheduling |
|
|
192
44
|
|
|
193
|
-
|
|
45
|
+
Start with one Ollama process. A second process is optional for explicitly assigned CPU helpers.
|
|
46
|
+
An agent's placement preference chooses only among eligible configured models. Inspect observed
|
|
47
|
+
placement before treating CPU/GPU assignment as physical evidence.
|
|
194
48
|
|
|
195
|
-
|
|
196
|
-
an inference call. The story is not “the router is smart”; it is “a weak local model cannot quietly
|
|
197
|
-
produce a confident answer.”
|
|
49
|
+
## What agents receive
|
|
198
50
|
|
|
199
|
-
|
|
51
|
+
| Need | Surface | Result |
|
|
52
|
+
|---|---|---|
|
|
53
|
+
| Inspect the machine and models | `doctor`, `models` | Host diagnostics, installed capabilities, and resident-runner observations |
|
|
54
|
+
| Preview suitability | `run_task {preview:true}` | A decision and reasons without running inference |
|
|
55
|
+
| Execute supplied content | `run_task` | Model output with routing, admission, timing, and placement evidence |
|
|
56
|
+
| Look up repository facts | `delegate_research` | A bounded read-only answer, citations, and `accept`, `verify`, or `escalate` verdict |
|
|
57
|
+
| Dispatch independent work | `run_task_batch` | Bounded dispatch and separate results or errors |
|
|
58
|
+
| Manage longer work | `task_jobs` | Process-local status, result retrieval, cancellation, and removal |
|
|
59
|
+
| Reuse conversation history | `scope`, `session`, `warm_model` | Separate controls for message history, model affinity, and residency |
|
|
200
60
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
61
|
+
Preview accepts routing fields only. Submit prompts, messages, images, embedding input, tools,
|
|
62
|
+
and runtime controls in a separate execution call. A preview does not reserve capacity.
|
|
63
|
+
For requests and result fields, use the [MCP reference](../packages/mcp/README.md).
|
|
204
64
|
|
|
205
|
-
|
|
206
|
-
context offload. That is a single measured workload, not a universal savings rate. The durable
|
|
207
|
-
claim is context isolation; see [token economics](ECONOMICS.md).
|
|
65
|
+
## Resource management
|
|
208
66
|
|
|
209
|
-
|
|
67
|
+
FreeLlama manages requests before they reach the inference runtime. Its resource controls include:
|
|
210
68
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
69
|
+
- Per-backend weighted admission, finite queues, priorities, wait budgets, and deadlines.
|
|
70
|
+
- Host-pressure checks and forecast memory reservations for managed work.
|
|
71
|
+
- Model-transition coordination and requests to unload idle, unpinned models when a cold load needs room.
|
|
72
|
+
- Explicit routing to the primary or operator-assigned CPU backend.
|
|
73
|
+
- Bounded warm execution feedback for eligible speed-oriented automatic routes.
|
|
74
|
+
- Receipts and status views that expose queues, resource holds, residency, timing, and placement.
|
|
216
75
|
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
failure conditions.
|
|
76
|
+
The operator configures topology and limits. FreeLlama does not preempt inference or control other
|
|
77
|
+
processes that call Ollama directly. It coordinates model use through Ollama rather than allocating
|
|
78
|
+
physical GPU cores or implementing inference kernels.
|
|
221
79
|
|
|
222
|
-
|
|
80
|
+
Read [CPU/GPU routing](CPU_GPU_ROUTING.md) for placement and
|
|
81
|
+
[monitoring](MONITORING.md) for effective settings and runtime observations.
|
|
223
82
|
|
|
224
|
-
|
|
83
|
+
## Context and cost
|
|
225
84
|
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
D --> P["preview\nsee a route and reasons"]
|
|
230
|
-
P --> T["run one managed task\nsee the receipt"]
|
|
231
|
-
T --> G["delegate research\nsee citations and verdict"]
|
|
232
|
-
G --> B["benchmark\nmeasure local models"]
|
|
233
|
-
B --> Y["policy\nallow proven routes"]
|
|
234
|
-
Y --> R["resource tuning\nCPU/GPU and admission"]
|
|
235
|
-
```
|
|
85
|
+
Delegated research keeps source files and intermediate local-tool observations out of the calling
|
|
86
|
+
agent's prompt. The local worker still consumes input/output tokens and hardware time. Embedding
|
|
87
|
+
vectors stay out of MCP results by default unless the caller requests them.
|
|
236
88
|
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
89
|
+
This can reduce the calling agent's context burden. It does not imply zero-cost computation or a
|
|
90
|
+
universal savings rate. The [token economics report](ECONOMICS.md) separates historical measurements,
|
|
91
|
+
client-envelope sizes, and session estimates.
|
|
240
92
|
|
|
241
|
-
##
|
|
93
|
+
## Describe the product consistently
|
|
242
94
|
|
|
243
|
-
|
|
|
95
|
+
| Context | Wording |
|
|
244
96
|
|---|---|
|
|
245
|
-
|
|
|
246
|
-
|
|
|
247
|
-
|
|
|
248
|
-
|
|
|
249
|
-
|
|
|
250
|
-
| Replaces Ollama | Runs beside Ollama and preserves its native API. |
|
|
251
|
-
| For everyone | Built first for developers and local-AI operators. |
|
|
252
|
-
| Llama models only | Works with qualifying models exposed by Ollama; “Llama” is the product name, not a model-family restriction. |
|
|
253
|
-
|
|
254
|
-
Use the word “Free” to refer to reducing reliance on metered frontier inference, not zero-cost
|
|
255
|
-
computing. Readers can misread “Llama” as Meta Llama-only, so put the Ollama relationship and model
|
|
256
|
-
agnosticism within Ollama near the first description.
|
|
257
|
-
|
|
258
|
-
## Product decision
|
|
259
|
-
|
|
260
|
-
Narrow the story before broadening the product:
|
|
97
|
+
| Category | Local-model delegation and resource management layer |
|
|
98
|
+
| One line | FreeLlama helps AI agents offload tasks to local models while managing model selection and resources. |
|
|
99
|
+
| Mechanism | Inspect, qualify, preview, admit, execute, and return evidence. |
|
|
100
|
+
| Runtime relationship | FreeLlama manages requests around Ollama; Ollama runs inference. |
|
|
101
|
+
| Verification | The calling agent verifies answers against the task and returned evidence. |
|
|
261
102
|
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
4. Treat Ollama power users and embedders as secondary audiences.
|
|
266
|
-
5. Treat Ollama contributors as an adjacent ecosystem audience, not the main customer.
|
|
267
|
-
6. Do not pursue a mainstream chat interface until the developer onboarding loop is clear and
|
|
268
|
-
repeatable.
|
|
103
|
+
Describe model eligibility, verification controls, and measured workload performance. Describe
|
|
104
|
+
CPU/GPU overlap as a supported workload arrangement that needs measurement on
|
|
105
|
+
the target machine. Local inference consumes hardware, memory, power, and time.
|
|
269
106
|
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
as a consumer app promises a product surface the repository does not provide.
|
|
107
|
+
The name refers to reducing reliance on metered inference. Models are not restricted to the Meta
|
|
108
|
+
Llama family: FreeLlama works with eligible models exposed by Ollama.
|
|
273
109
|
|
|
274
|
-
##
|
|
110
|
+
## Evidence and boundaries
|
|
275
111
|
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
- [Model selection](MODEL_SELECTION.md): evidence, qualification, and recommendation
|
|
280
|
-
- [CPU/GPU routing](CPU_GPU_ROUTING.md): portable configuration, feedback, and measured limits
|
|
281
|
-
- [Testing](TESTING.md): verification tiers and live-runtime boundaries
|
|
282
|
-
- [Token economics](ECONOMICS.md): measured context isolation and its limits
|
|
112
|
+
The [findings report](dev/FINDINGS_AND_POSITIONING.md) records dated assessments and comparisons.
|
|
113
|
+
[Benchmarks](../benchmark/README.md) separate model correctness, adapter behavior, and hardware
|
|
114
|
+
validation. Historical measurements describe their declared model, machine, and workload.
|
|
283
115
|
|
|
284
|
-
|
|
116
|
+
Managed tasks are non-streaming; raw Ollama passthrough retains upstream streaming behavior.
|
|
117
|
+
Scopes and deferred jobs are process-local. A scope is history, a session is affinity, and a warm
|
|
118
|
+
model is residency; none is a tenant credential or an engine-cache snapshot.
|
|
285
119
|
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
- [Model Context Protocol architecture](https://modelcontextprotocol.io/specification/2025-06-18/architecture)
|
|
289
|
-
- [Open WebUI](https://github.com/open-webui/open-webui)
|
|
290
|
-
- [LiteLLM](https://github.com/BerriAI/litellm)
|
|
291
|
-
- [RouteLLM](https://github.com/lm-sys/RouteLLM)
|
|
120
|
+
FreeLlama targets one operator or a trusted team. Use the [production runbook](PRODUCTION.md) for
|
|
121
|
+
authentication, remote access, persistence, and recovery.
|
package/docs/README.md
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# FreeLlama documentation
|
|
2
|
+
|
|
3
|
+
FreeLlama helps agents offload bounded work to local models through Ollama. The calling agent owns
|
|
4
|
+
the task and verifies the answer; FreeLlama manages model selection and resources around execution.
|
|
5
|
+
Start with the [repository quick start](../README.md#quick-start) to run one managed task.
|
|
6
|
+
|
|
7
|
+
## Choose a guide
|
|
8
|
+
|
|
9
|
+
| Goal | Guide |
|
|
10
|
+
|---|---|
|
|
11
|
+
| Connect an agent and choose a tool | [MCP server](../packages/mcp/README.md) |
|
|
12
|
+
| Follow the agent's operating workflow | [FreeLlama skill](../skills/freellama/README.md) |
|
|
13
|
+
| Look up commands and task controls | [CLI reference](CLI.md) |
|
|
14
|
+
| Understand task and resource ownership | [Architecture](ARCHITECTURE.md) |
|
|
15
|
+
| Choose a model from measured evidence | [Model selection](MODEL_SELECTION.md) |
|
|
16
|
+
| Interpret capabilities and public model metadata | [Model metadata](MODEL_METADATA.md) |
|
|
17
|
+
| Configure CPU helpers alongside GPU work | [CPU/GPU routing](CPU_GPU_ROUTING.md) |
|
|
18
|
+
| Inspect queues, memory, usage, and live settings | [Monitoring](MONITORING.md) |
|
|
19
|
+
| Retain history, affinity, or residency | [Scopes and warming](SCOPES_AND_WARMING.md) |
|
|
20
|
+
| Understand raw Ollama compatibility | [Sidecar boundary](OLLAMA_SIDECAR.md) |
|
|
21
|
+
| Evaluate context offload and its cost | [Token economics](ECONOMICS.md) |
|
|
22
|
+
| Deploy the management layer | [Production runbook](PRODUCTION.md) |
|
|
23
|
+
| Run development and release checks | [Testing](TESTING.md), [release procedure](../RELEASE.md) |
|
|
24
|
+
| Embed the routing core | [Rust core](../packages/rust-core/README.md) |
|
|
25
|
+
| Use the read-only dashboard | [Runtime view](../packages/view/README.md) |
|
|
26
|
+
|
|
27
|
+
## Evidence and design
|
|
28
|
+
|
|
29
|
+
| Goal | Source |
|
|
30
|
+
|---|---|
|
|
31
|
+
| Describe the product and its limits | [Product positioning](PRODUCT_POSITIONING.md) |
|
|
32
|
+
| Review dated findings and project comparisons | [Findings report](dev/FINDINGS_AND_POSITIONING.md) |
|
|
33
|
+
| Measure inference, device activity, and thermal behavior | [Local performance testing](dev/LOCAL_PERFORMANCE_TESTING.md) |
|
|
34
|
+
| Separate management controls from inference tuning | [Ollama optimization boundary](dev/OLLAMA_SYSTEM_OPTIMIZATION.md) |
|
|
35
|
+
| Understand backend selection decisions | [Resource-routing ADR](dev/ADR_RESOURCE_AWARE_BACKEND_ROUTING.md) |
|
|
36
|
+
| Choose a model, adapter, or hardware benchmark | [Benchmark index](../benchmark/README.md) |
|
|
37
|
+
| Inspect research adapter contracts and caveats | [Adapter reference](../benchmark/local/docs/07-adapter-contracts.md) |
|
|
38
|
+
|
|
39
|
+
Historical measurements describe one model, machine, and workload. Inspect current state and
|
|
40
|
+
repeat the relevant checks before using them to select models or set resource limits.
|