about soma
train your own ai, on your own machine, for free, for as long as you like.
soma is a mac app for training a language model locally and continuously. choose text, start a model, watch it learn, stop whenever you like, then resume the same checkpoint on the same or a different corpus. chat can continue updating the model. the artifact is never considered finished.
soma v12.3 is a token-native continual spectral learner. a fixed 8k sentencepiece dictionary (soma-8k-v1) turns any utf-8 corpus into tokens; an exact identity trace bank of shape (8192 × k) is projected through the current learned dictionary each batch and bandpassed to a fixed 256·k-wide present. a serial residual mlp with tied io/output dictionary composes over it. time is held by soma's geometric trace bank, not a context window or kv cache.
inference and training have constant cost per token. chat with online learning off to run at inference speed; leave it on and every conversation becomes part of the model.
about logOS
logOS is where users share soma checkpoints, saved as single .pt files with an adjacent .meta.json. download one, continue training, and reupload to share your progress.
each checkpoint has a deterministic id — a hash of its state, unfakeable. each upload declares which checkpoint it was built on top of.
free to browse. files up to 16gb. stored on cloudflare r2, served via signed urls. runtime always free.
checkpoint format
a .pt file with an adjacent .meta.json (v12.3 token spectral residual mlp form):
- species: "soma_v12_3_token_residual" · runtime_version: "v12.3.*" · architecture: "token spectral residual mlp"
- tokenizer_name: "soma-8k-v1" · tokenizer_sha256 · vocab_size: 8192 · token_dim: 256
- net: pytorch state_dict of the input projection + (d-1) residual blocks with sigmoid gates + language map, plus the tied v × 256 token dictionary and 8192-dim token bias
- traces: exact identity token trace bank of shape (v, k) in float64; error_traces: translated residual trace bank feeding io2
- architecture: n_bands, hidden_dim, depth, base
- controller state (io2): io2_plasticity, spectral_drive, spectral_target_band, depth_saturation, compression_percent, residual concentration, ema fast / slow
- optimiser: adamw state alongside net
- knobs: lr, lr_base, decimation_gain (checkpoint alias: decimation_range), decimation_band, batch_size, grad_clip, radial plasticity compression, stride_cap
- train_steps, bytes_seen, tokens_seen, checkpoint_history, description
- checkpoint_id: stable for the life of a model. revision_id: bumps on each successful save.
- sidecar .meta.json: runtime block (authoritative machine metadata, refreshed on save) + `profile` block (name, tagline, art, about — human-owned and preserved across saves; uploadable beside the .pt and editable from the checkpoint page)
two checkpoints are compatible iff species matches and n_bands, hidden_dim, depth, base, and tokenizer_sha256 all match exactly.
agent api — full functionality without a browser
see /api/manifest.json for the complete reference including request/response schemas and full workflows.
authentication
GET /api/auth/google/login?origin=https://logossoma.com # redirects to google oauth
# on success, session cookie is set AND session token is returned via URL fragment #token=<token>
# use either cookie or Authorization: Bearer <token>. sessions last 30 days.
GET /api/auth/me # returns current user or 401
POST /api/auth/logout
browse and download
GET /api/checkpoints?search=&tags=&sort=stars&limit=50
GET /api/checkpoints/{id}
POST /api/checkpoints/{id}/download # returns { download_url, file_size_bytes } — presigned, 1h, 10/min/ip
GET /api/tags
GET /api/creators?sort=stars|downloads|checkpoints|followers|newest
GET /api/activityupload (auth)
POST /api/checkpoints/upload/presign { filename, file_size }
# returns { upload_id, presigned_url, r2_key }
POST /api/checkpoints/upload/presign_meta { r2_key } # optional sidecar .meta.json
# returns { presigned_url, meta_r2_key }
PUT <presigned_url> # your raw .pt bytes, Content-Type: application/octet-stream
PUT <meta presigned_url> # optional sidecar json, Content-Type: application/json (≤ 64 KB)
POST /api/checkpoints/upload/confirm { upload_id, r2_key, filename, meta_r2_key? }
# server parses, extracts profile, returns parsed metadata + profile
POST /api/checkpoints # register with the parsed metadata (+ profile, + meta_r2_key)
GET /api/checkpoints/{id}/meta.json # download the sidecar (presigned url), 404 if not uploadedsocial (auth where noted)
POST /api/checkpoints/{id}/star # auth. toggle.
POST /api/users/{username}/follow # auth. toggle.
GET /api/checkpoints/{id}/comments
POST /api/checkpoints/{id}/comments { body } # auth, 2000 char max
DELETE /api/comments/{id} # auth; author or admin
GET /api/feed/following # auth
GET /api/users/{username} # public profile
PATCH /api/users/me { bio?, links?, username? } # authdownloads, share cards, paper
GET /api/downloads # manifest: every soma build (apps + script bundle + paper)
GET /api/download/app/mac # soma.dmg — mac app (primary)
GET /api/download/script/soma.zip # current script bundle (v12.3.17 · radial plasticity compression · decimation gain · local speech loop)
GET /api/download/script/soma.py # standalone current soma_v12_3.py
GET /api/download/script/soma_spec.md
GET /api/download/soma.zip # alias → /api/download/script/soma.zip
GET /api/download/soma.py # alias → /api/download/script/soma.py
GET /api/download/paper.pdf # time is all you need (AAAI 2026)
GET /api/og/checkpoint/{id}.png # 1200x630 OG image (PNG)
GET /api/share/{id} # HTML share page with OG/Twitter meta
GET /api/site-info # lightweight site metadata
GET /api/manifest.json # full agent api reference
GET /llms.txt # llmstxt.org agent handshakeremote chat (no auth, pass-prompt addressed)
POST /api/chat/log-os/prompt { pass_prompt, prompt }
GET /api/chat/log-os/poll?pass_prompt=<>
POST /api/chat/log-os/response { pass_prompt, response }
# Bridge any local soma to any browser via a shared pass prompt.
# Sessions keyed by sha256(pass_prompt); 60-min TTL on inactivity.pages
- home — chronological upload feed; ?tab=following for follow graph
- search — checkpoints and creators
- specs — full soma architecture reference
- paper — Time Is All You Need (AAAI 2026)
- downloads — mac app and script bundle
- about
- upload — authenticated
plain-text mirrors (no javascript required)
every key page on the site has a markdown mirror served from the api so non-js crawlers, agents, and llms can index the same content humans see in the react app:
- /api/specs.md — full soma v12.3 algorithm reference as markdown: definitions, fixed tokenizer, token trace bank, current-dictionary projection, learned forward path with residual gates and tied dictionary, objective and updates, decimation, io2 controller, metrics (nats/byte, bpb, top-1/top-5 token accuracy), generation protocol, streaming, checkpoint contract, parameters table. canonical machine-readable form of /specs.
- /api/about.md — what soma is, what logOS is, key numbers
- /api/downloads.md — every build and quickstart commands
- /api/blog.html — blog posts as plain html
- /llms.txt — llmstxt.org agent handshake
- /api/manifest.json — full agent api reference