Ctrl K
ComunidadGuías…

systems.toml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# systems.toml — systems Sjel connects to: a service, tool or project with a role that a pack or
# capability references by section id. Not a code-dependency register (upstreams.toml), not a
# bookmark list, and not a record of declined systems.
#
# url   = canonical URL; "local" or "overlay:systems.local.toml" when private (real value in the overlay)
# kind  = "project" | "service" | "tool" | "platform"
# local = "yes" | "no"    (on my LAN or device, or hosted elsewhere)
# why   = one or two reader-facing sentences; exported to the Projects page
# Overlay-only keys (`<overlay>/config/systems.local.toml`): owner = "self" (hardware I own; trusted
# like loopback by libs/inference, resolved by tools/lib/external-ref.sh), probe = "no" and
# probe_timeout_ms (tools/doctor --online reachability; it never prints a URL).
# Single-line TOML only (tools/lib/toml.sh).

[sjel]
url   = "local"
kind  = "project"
local = "yes"
why   = "The public core: reusable contracts, capabilities and deployment tooling; private state is injected from the selected overlay."

[backup-target]
url   = "overlay:systems.local.toml"
kind  = "service"
local = "yes"
why   = "Remote backup role, separate from each source host so one node failure cannot remove both live state and recovery data; coordinates live in the selected overlay."

[pi-agent]
url   = "https://github.com/earendil-works/pi"
kind  = "project"
local = "yes"
why   = "Minimal open-source coding agent, extendable from core; one of three swappable harness targets for Packs/skills."

[opencode]
url   = "https://github.com/anomalyco/opencode"
kind  = "platform"
local = "yes"
why   = "Open-source coding agent CLI (MIT); third swappable harness alongside Claude Code and pi, and a Packs/skills port target."

[knowledge-base]
url   = "overlay:systems.local.toml"
kind  = "project"
local = "yes"
why   = "Private knowledge store with its own sync lifecycle, connected through explicit capability contracts rather than treated as an Sjel-wide database."

[obsidian-local-rest-api]
url   = "https://github.com/coddingtonbear/obsidian-local-rest-api"
kind  = "service"
local = "yes"
why   = "Obsidian plugin (MIT) serving the open vault over loopback HTTP; the only route by which capabilities/vault writes into the vault. URL and key file come from the overlay's config/knowledge.toml."

[mach-mono]
url   = "https://github.com/larsboes/mach-mono"
kind  = "project"
local = "yes"
why   = "Swift monorepo of macOS/iOS quality-of-life utilities; plugin-first, extendable from core."

[lifeos]
url   = "https://github.com/danielmiessler/LifeOS"
kind  = "platform"
local = "yes"
why   = "Personalization and tooling layer under the agent runtime, and the ancestor of Sjel's public-core-plus-private-overlay shape. Sjel consumes nothing from it now; upstreams.toml's [lifeos] entry owns the verdict."

[ollama]
url   = "https://ollama.com/"
kind  = "tool"
local = "yes"
why   = "Portable local-model runner holding the `embedding` and `summarization` inference roles. It loads chat models at 4096 tokens and silently truncates an over-window prompt from the front, so a chat role must name a model built with an explicit `PARAMETER num_ctx` covering `sjel_summarize::worst_case_prompt_tokens()`."

[omlx]
url   = "https://github.com/jundot/omlx"
kind  = "tool"
local = "yes"
why   = "Apple-Silicon inference server behind an API-key-enforced OpenAI-compatible endpoint. It stays host-native because Metal/ANE are unavailable inside the Linux runtime; endpoint and model selection are deployment facts."

[macmon]
url   = "https://github.com/vladkens/macmon"
kind  = "tool"
local = "yes"
why   = "Sudoless Apple Silicon performance monitor: CPU/GPU temp, power, memory, utilisation over HTTP/JSON for the GPUI Systems view."

[apple-natural-language]
url   = "https://developer.apple.com/documentation/naturallanguage"
kind  = "platform"
local = "yes"
why   = "OS-managed native embedding comparator for Comms, not the production relevance backend: it scored 3/6 and 4/6 useful top-1 on the frozen DE/EN corpus. The harnesses stay for future macOS revisions; E5-base through oMLX remains selected."

[apple-vision]
url   = "https://developer.apple.com/documentation/vision/vnrecognizetextrequest"
kind  = "platform"
local = "yes"
why   = "The OS framework rung 2 of the extraction ladder stands on, reached through tools/visocr: 100.0% prose recall but 58.8% notation recall on the frozen DE/EN corpus, which is why the ladder has a third rung. Record: libs/extraction/eval/results/2026-09-02-apple-vision-baseline.md. macOS-only; absent on Linux hosts."

[opencode-zen-go]
url   = "https://opencode.ai/zen/go/v1"
kind  = "service"
local = "no"
why   = "OpenAI-compatible hosted inference, a paid fallback behind nvidia-nim; not free despite the tier name. It buys context: several models carry 1M-token windows. Key via Vaultwarden and tools/materialize-inference-key."

[gemini]
url   = "https://generativelanguage.googleapis.com/"
kind  = "service"
local = "no"
why   = "Free-tier hosted inference behind the comms `cloud_gemini_content_analysis` role. The free tier allows 20 requests per day per project per model, so `max_requests_per_day` must not be set above 20. Key via Vaultwarden and tools/materialize-inference-key."

[groq]
url   = "https://api.groq.com/openai/v1"
kind  = "service"
local = "no"
why   = "Free-tier hosted inference, the second public-tier role behind Cloudflare, for redundancy rather than throughput. Limits are per model and per organisation: `qwen/qwen3.8-27b` allows 1000 requests and 2M tokens per day but only 8K tokens per minute, so a burst falls over to the next rung. `tools/model-check --probe` reads the real ceiling."

[cohere]
url   = "https://api.cohere.ai/compatibility/v1"
kind  = "service"
local = "no"
why   = "Free trial-key inference through Cohere's OpenAI-compatible endpoint, the third public-tier role. Trial keys allow 1000 calls per month, so the role declares 30 requests per day (30 x 31 = 930) to stay inside it."

[cloudflare-workers-ai]
url   = "https://developers.cloudflare.com/workers-ai/"
kind  = "service"
local = "no"
why   = "Free-tier hosted inference behind the comms `cloud_cloudflare_content_analysis` role. The free tier is 10,000 Neurons per day, about 80 digests of the current model, so the request cap is an approximation to re-measure when the model changes."

[nvidia-nim]
url   = "https://build.nvidia.com/"
kind  = "service"
local = "no"
why   = "Free-tier hosted inference (OpenAI-compatible, nvapi- key, 1000 credits, 40 req/min, no card), an optional cloud fallback when local model quality is not enough. Dev, research and eval terms only, not a production SLA."