AP
Agent Provider Depot
Opinionated picks for agents
OpenAPI

Kit · 2026-10-03

Local and offline agent

local-offline

Runs without calling a hosted model API, using local weights, a local index, or an air-gapped serve path.

Needs below are the JTBD ids already listed on this class, capped at 6. The pick is the current Depot Pick. The cheapest line is that job's matching sourced SKU, or unavailable. A free row is listed only when its jtbd ids include that job. This page does not rescore. cost=free does not hide that pick and does not turn a cheap paid SKU into a free one.

GET /api/kit?class=local-offline&cost=free · ?cost=free · all kits · class JSON

First actions

  1. /api/hub
  2. /api/decide?jtbd=air-gapped-model-serve
  3. /api/quote?jtbd=air-gapped-model-serve
  4. /api/kit?class=local-offline&cost=free
  5. /api/failures

Needs

Jobs: air-gapped-model-serve, open-model-inference, self-host-vector, self-host-browser, wasm-edge-small-models, on-device-edge-batch, edge-sqlite-agent-db (omitted from this kit)

Class freeKinds field (not used to attach free rows): open_weights, local_runtime, free_vector, free_sandbox

  • No network call on the answer path
  • Say when the local corpus has no support

air-gapped-model-serve

Depot Pick: nvidia-nim · score as of 2026-10-19 · /api/jtbds/air-gapped-model-serve

Depot Pick for air-gapped-model-serve: nvidia-nim (asOf 2026-10-19). See GET /api/jtbds/air-gapped-model-serve + GET /api/methodology.

pickIsNotPriceWinner: false

Cheapest matching SKU: amazon-bedrock · Gemma 3 4B · 0.04 usd_per_million_input_tokens. min sourced input SKU among candidates; not quality-adjusted

Only 1 candidate has a sourced input $/1M; nothing was compared, so pickIsPriceWinner is null.

Free-only recommendation

mode: free_only · paid pick stays nvidia-nim. Not a free resource. A cheap paid SKU is not in this list.

no_free_resource_for_job

Free resources

freeMatch: none

none

open-model-inference

Depot Pick: fireworks · score as of 2026-09-14 · /api/jtbds/open-model-inference

Depot Pick for open-model-inference: fireworks (asOf 2026-09-14). See GET /api/jtbds/open-model-inference + GET /api/methodology.

pickIsNotPriceWinner: true

Cheapest matching SKU: chutes · Qwen3.8-27B (Qwen/Qwen3.8-27B-TEE) · 0.039 usd_per_million_input_tokens. min sourced input SKU among candidates; not quality-adjusted

Pick is not a price winner. Cheapest sourced input $/1M among candidates is chutes at 0.039. The pick has no priceSortEligible input row.

Free-only recommendation

mode: free_only · paid pick stays fireworks. Not a free resource. A cheap paid SKU is not in this list.

Free resources

freeMatch: jtbd

self-host-vector

Depot Pick: qdrant · score as of 2026-10-19 · /api/jtbds/self-host-vector

Depot Pick for self-host-vector: qdrant (asOf 2026-10-19). See GET /api/jtbds/self-host-vector + GET /api/methodology.

pickIsNotPriceWinner: false

Cheapest matching SKU: unavailable — Nothing was compared. no comparable sourced unit for this job; chat input $/1M and other units were not borrowed pickIsPriceWinner is null.

Nothing was compared. no comparable sourced unit for this job; chat input $/1M and other units were not borrowed pickIsPriceWinner is null.

Free-only recommendation

mode: free_only · paid pick stays qdrant. Not a free resource. A cheap paid SKU is not in this list.

  • Chroma · chroma · dev_tool · oss
  • FAISS · faiss · free_vector · oss
  • LanceDB · lancedb · dev_tool · oss

Free resources

freeMatch: jtbd

  • Chroma · chroma · dev_tool · oss
  • FAISS · faiss · free_vector · oss
  • LanceDB · lancedb · dev_tool · oss

self-host-browser

Depot Pick: steel-dev · score as of 2026-09-14 · /api/jtbds/self-host-browser

Depot Pick for self-host-browser: steel-dev (asOf 2026-09-14). See GET /api/jtbds/self-host-browser + GET /api/methodology.

pickIsNotPriceWinner: false

Cheapest matching SKU: steel-dev · Scale browser hours · 0.08 usd_per_browser_hour · not a per-million-token rate. min sourced browser-hour among candidates; lowest browser-hour tier per provider; not quality-adjusted; proxy per GB, CAPTCHA solves, monthly plans, and chat tokens were not included

Only 1 candidate has a matching USD per browser-hour; nothing was compared, so pickIsPriceWinner is null.

Free-only recommendation

mode: free_only · paid pick stays steel-dev. Not a free resource. A cheap paid SKU is not in this list.

Free resources

freeMatch: jtbd

wasm-edge-small-models

Depot Pick: cloudflare-workers-ai · score as of 2026-09-14 · /api/jtbds/wasm-edge-small-models

Depot Pick for wasm-edge-small-models: cloudflare-workers-ai (asOf 2026-09-14). See GET /api/jtbds/wasm-edge-small-models + GET /api/methodology.

pickIsNotPriceWinner: false

Cheapest matching SKU: cloudflare-workers-ai · @cf/ibm-granite/granite-4.0-h-micro · 0.017 usd_per_million_input_tokens. min sourced input SKU among candidates; not quality-adjusted

Pick is the cheapest sourced input $/1M among candidates (0.017).

Free-only recommendation

mode: free_only · paid pick stays cloudflare-workers-ai. Not a free resource. A cheap paid SKU is not in this list.

Free resources

freeMatch: jtbd

on-device-edge-batch

Depot Pick: salad · score as of 2026-10-19 · /api/jtbds/on-device-edge-batch

Depot Pick for on-device-edge-batch: salad (asOf 2026-10-19). See GET /api/jtbds/on-device-edge-batch + GET /api/methodology.

pickIsNotPriceWinner: false

Cheapest matching SKU: salad · RTX 3090 24GB (Lowest priority, batch) · 0.09 usd_per_gpu_hour · not a per-million-token rate. min sourced GPU-hour SKU among candidates; not coerced to $/1M; per-second GPU was not included; not quality-adjusted

Pick is the cheapest matching USD per GPU-hour among candidates (0.09).

Free-only recommendation

mode: free_only · paid pick stays salad. Not a free resource. A cheap paid SKU is not in this list.

  • exo · exo · local_runtime · oss
  • llamafile · llamafile · local_runtime · oss
  • MLX · mlx · local_runtime · oss

Free resources

freeMatch: jtbd

  • exo · exo · local_runtime · oss
  • llamafile · llamafile · local_runtime · oss
  • MLX · mlx · local_runtime · oss

Failure modes

  • Silent truncation silent-truncation

    Tools must return whether the payload was truncated and how long the original was. Fail the task if the answer depends on the missing span.

  • Context overflow context-overflow

    If the input exceeds the window, say so and retrieve a narrower slice. Do not answer from a truncated head as if it were the whole source.

  • Schema drift schema-drift

    Validate every tool call and every loaded table against the current schema. Quarantine mismatches instead of coercing them.

  • Non-determinism non-determinism

    Run the task more than once and compare the end state, not a single transcript. Record the trial count next to any success rate you cite.

  • Stale retrieval stale-retrieval

    Store the source URL and the time it was fetched. If a newer canonical page exists, or two stored sources disagree, do not answer from the older one.

  • Lost in the middle lost-in-the-middle

    Ask the agent to name the passage it used. Spot-check questions whose only support sits in the middle of the context, not only at the edges.

Case studies

1 related.

/api/case-studies?class=local-offline