somora

Run a personal AI team with shared long-term memory and switchable models on your own machine.

Stars
★ 29
Last updated
1d ago
License
MIT
Primary language
TypeScript

At a glance

How it runs
CLISelf-hosted serviceWeb app
Works with
Universal · cross-platformChatGPT · Codex · Claude Code
Cost
Free, no paid service needed
Setup effort
Low · running in minutes
You'll need
Linux or macOSNode.js ≥22.13tmuxAt least one supported LLM backendShell / CLINetwork accessLocal filesystemMCP Server
Typical use
An individual who wants separate research, coordination, and execution roles on one computer, with agents able to delegate to one another.
Not a fit if
  • Users who require a native Windows installation path
  • Teams unwilling to run a local background service
  • Organizations requiring a production-stable rather than actively developed system
Source review
69/100 · Some gaps

What does this agent do, and when should you use it?

somora is a multi-agent server that runs on the user's machine and exposes a terminal TUI, browser desktop, and mobile PWA. Each chat agent can have its own persona, private memory, model preferences, and tool permissions, while stable knowledge can be promoted into a shared Obsidian wiki through background dream cycles. A conversation can move among Claude, ChatGPT, Grok, and OpenAI-compatible backends while retaining its history and tools. The system also includes repository-focused builder agents and tools for files, shell commands, tmux, web access, attachments, sub-agents, scheduled triggers, browser control, and external MCP servers. Configuration, sessions, attachments, and agent memory live under `~/.somora/`, while the shared wiki resides in a selected Obsidian vault, keeping the deployment boundary on the user's machine except for explicitly configured model providers and external services.

Requests submitted through somora tui, the Web client, or the mobile PWA enter a per-session queue in somora-server; turns initiated by another agent, a sub-agent, Sentinel, or a voice call use the same dispatch path. The execution layer can invoke claude-cli, codex-cli, grok-cli, or an openai-compatible engine and gives them a shared registry covering memory, dream, wiki, file, exec, tmux, web, agents, skills, sentinel, browser, media, projects, and external MCP tools. Facts noticed during chats can be written to an agent's private Markdown memory. The REM, Deep, and Lucid dream phases respectively turn sessions into memory, promote stable memory into the shared wiki, and review that wiki. Retrieval combines SQLite, sqlite-vec, and FTS5 with separate indexes for private memory, the shared wiki, and read-only vault context. For software work, a kind: builder agent plans, edits, runs, and tests inside a pinned repository; it may read memory but does not write memory or dream.

  1. An individual who wants separate research, coordination, and execution roles on one computer, with agents able to delegate to one another.
  2. A user of Claude, ChatGPT, Grok, or local models who wants to change backends during a conversation without losing history or tool context.
  3. An Obsidian user who wants recurring, stable facts from conversations consolidated into a shared long-term wiki.
  4. A power user who wants scheduled work, browser interaction, file operations, shell commands, and persistent tmux sessions available to one agent team.
  5. A developer who wants a long-running repository builder while ordinary chat agents handle discussion, orchestration, and handoffs.
  6. Someone who wants the same local agents, sessions, queue, and memory available from a terminal, desktop browser, and phone.

How do you install or deploy this agent?

somora supports Linux and macOS and requires at least one usable LLM backend. The recommended path is to run the installer as a normal user; it checks system tools, supplies missing or outdated Node.js, installs somora, registers the background service, and launches the setup assistant.

curl -fsSL https://somora.ai/install.sh | bash

If Node.js ≥22.13 is already installed, use npm and start the setup assistant directly:

npm install -g somora && somora setup

During setup, connect at least one backend. A Claude subscription can be authenticated through Claude Code, and a ChatGPT subscription through the bundled Codex login. Local Ollama, LM Studio, vLLM, oMLX, or another OpenAI-compatible service is configured in ~/.somora/config.yaml after initialization.

curl -fsSL https://claude.ai/install.sh | bash  &&  claude auth login
somora codex login

tmux is also mandatory, and Node.js 22.13 is the minimum supported release. The installer may ask before using administrator privileges to add missing system dependencies.

How do you use this agent?

After setup, open the terminal client and send a message to the default agent:

somora tui

For a manual installation, initialize the local configuration and service before opening the TUI:

somora init
somora server start
somora tui

Once multiple agents exist, initialize the reporting structure shared with the team:

somora team init --principal "<your name>"

The Web client is served at https://<host>.<tailnet>.ts.net:18737/web/, and the mobile PWA is under /mobile/ on the same host. Both connect to the same local server and share its agents, queues, sessions, and memory. Remote Web and mobile access use Tailscale HTTPS; the documented Web deployment uses LAN trust and has no separate authentication layer.

What are this agent's strengths and limitations?

Pros
  • A conversation can switch among Claude, ChatGPT, Grok, and OpenAI-compatible backends while preserving history and a common tool registry.
  • Private memory, a shared Obsidian wiki, and the REM, Deep, and Lucid dream phases provide a concrete pipeline for accumulating long-term knowledge.
  • The TUI, browser desktop, and mobile PWA operate against the same server, session queues, agents, and memory.
  • Chat agents and builders have distinct operating models; builders add long turns, planning, task tracking, compiler feedback, and a repository-bound workspace.
  • Core state remains on the user's machine, and local inference services such as Ollama, LM Studio, and vLLM are supported.
Limitations
  • Only Linux and macOS installation paths are documented, and Node.js ≥22.13, tmux, and at least one model backend are mandatory.
  • The repository describes the product as actively developed and open to early testers rather than as a mature stable release.
  • HTTPS and browser APIs such as microphone, screen sharing, and clipboard access depend on Tailscale configuration, while the Web client uses LAN trust without separate authentication.
  • Grok CLI cannot act as a dream or compaction worker, so those jobs require another configured engine.
  • Hosted image and video provider implementations follow published interfaces but have not been tested end to end with live accounts.

How does this agent compare with similar options?

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
somora This agent 69 · Some gaps CLIFree ★ 29 1d ago TypeScript ChatGPT · Codex · Claude Code
NextClaw 58 · Major gaps Desktop appFree + model costs ★ 260 2d ago TypeScript Codex · Claude Code
OpenHuman 51 · Major gaps Desktop appFreemium ★ 41k 1d ago Rust —
Orkas 43 · Major gaps Desktop appFreemium ★ 2.2k 2d ago JavaScript Codex · Claude Code · OpenAI API · Claude API

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Some gaps
69/ 100 5-point scale 3.5 / 5
Trust 18/29
Reliability 8/14
Adaptability 16/18
Convention 13/18
Effectiveness 9/13
Verifiability 5/8
Why each dimension lost points
Trust18 / 29 · 3.1/5

The README clearly identifies local storage locations, user-selected external model services, the data sent by the daily update check, and two opt-out mechanisms. It also describes per-agent tool gates, builder workspace confinement, normal-user installation, confirmation before administrative access, plan approval, stopping, and takeover controls. Deductions apply because shell, tmux, browser, SSH, schedules, and external MCP integrations create a broad effects surface; the web client is explicitly LAN-trust with no authentication, while approval coverage, secret-at-rest protection, and log redaction are not fully established by the supplied files. Dependencies have constraints and a Node floor, but no supplied lockfile, vulnerability scan, SBOM, or supply-chain verification, and the recommended installation pipes a remote script into a shell. Stop and takeover controls are not rollback for filesystem or system changes. Repository, package, homepage, and MIT attribution are present, but the LICENSE names the copyright holder only as “suspect” and publisher identity is unknown.

Reliability8 / 14 · 2.9/5

README, package.json, and LICENSE are broadly consistent about the product name, MIT license, Node requirement, repository, and core positioning. The README also lists alternative model backends, hard and optional dependencies, and several backend-specific constraints. Deductions apply because most functional and end-to-end verification claims occur only in the README and cannot be checked against implementation or test contents in the supplied evidence. Availability still depends on external CLIs, model services, tmux, browsers, and native modules. Failure messaging is evidenced mainly for an unsupported Node version and a setup health check; the quality of network, authentication, tool, and service failure messages is not shown.

Adaptability16 / 18 · 4.4/5

The source thoroughly distinguishes chat, team coordination, software-building, memory, voice, mobile, scheduled, and self-hosted-model scenarios. It clearly separates chat agents from builders by prompts, tools, memory behavior, workspace, and lifecycle, and documents optional features, backend differences, and operating requirements. Trigger precision is deducted because schedules, delegation, dream cycles, and skill activation are described conceptually, but their complete matching rules, conflict handling, and false-trigger protections are not present in the supplied files.

Convention13 / 18 · 3.6/5

The README has strong installation, requirements, quickstart, architecture, client, status, and documentation navigation, with interactive, manual, and source-development paths. The complete MIT text agrees with package metadata. Naming is generally consistent, but the calendar-like version scheme and compatibility guarantees are unexplained. Examples are extensive, although no dedicated FAQ is supplied. Limitations such as active-development status, the Grok restriction, untested hosted media-provider paths, and unauthenticated LAN-trust access are disclosed, but there is no systematic known-issues inventory. A package version, update command, and issue tracker are identified, yet no changelog, release policy, support window, named maintainer, or security contact is shown; the “suspect” copyright label further weakens maintenance attribution.

Effectiveness9 / 13 · 3.5/5

Three clients, a shared queue, memory, documented artifact locations, task panels, and takeover controls give reasonably concrete accounts of how outputs become usable. A unified multi-model tool surface, delegation, and locally shared knowledge represent plausible value beyond a basic single-agent chat tool. Deductions apply because these benefits are primarily product claims and screenshot references, without implementation evidence or representative output artifacts in the supplied material. Requirements and optional services are disclosed, but model expense, resource consumption, operational burden, and the point at which deployment complexity outweighs benefit are not quantified.

Verifiability5 / 8 · 3.1/5

The README routes many claims to named documentation sections and distinguishes implemented, optional, limited, and not-live-tested capabilities. package.json independently corroborates identity, version, entry point, Node floor, dependencies, scripts, and repository metadata, while LICENSE corroborates the license. Deductions apply because the referenced documentation, implementation, test results, and lockfile are not included, leaving many safety and feature claims traceable only to the same README. Fact and uncertainty are often separated, but statements such as “feature-complete,” “used daily,” and the compatibility matrix lack verification records in the supplied evidence.

Risks and how to mitigate them
  • The web client is explicitly described as LAN-trust with no authentication; do not expose it directly to an untrusted network.
  • The recommended installer pipes a remote script into a shell; pin a version and inspect the script and its download chain before installation.
  • Agents may use shell, tmux, browser, SSH, schedules, and external MCP tools; restrict tools per agent and run the service in a low-privilege isolated environment.
  • The supplied evidence does not establish encryption at rest for secrets, log redaction, dependency vulnerability scanning, or rollback of agent changes; verify these before using real credentials or important workspaces.
  • Hosted image and video provider paths are explicitly described as not yet tested with live accounts.
Evidence confidence: Low Reviewed Oct 05, 2026 Reviewed revision f57baaaae122
See the full review method →

FAQ

Is a paid model subscription or cloud API required?
No. somora is MIT-licensed and can use local OpenAI-compatible services including Ollama, LM Studio, vLLM, and oMLX. Claude, ChatGPT, and Grok subscriptions are also supported, so model costs depend on the selected backend.
Where is data stored by default?
Configuration, private agent memory, sessions, and attachments are stored under ~/.somora/. Workspace files and generated media go to the configured workspace, while the shared wiki resides in a selected Obsidian vault. Exposure to external models or services depends on the user's configuration.
Are all capabilities enabled immediately after installation?
No. Obsidian integration, Tailscale HTTPS, the shared browser, realtime voice, media generation, Sentinel, and external MCP servers require separate configuration. Image and video generation remain off until an imageGen or videoGen block is present.
How does a builder differ from a chat agent?
Chat agents handle conversation, memory, orchestration, and dreaming. Builders perform long-running planning, editing, execution, and testing inside a pinned repository. A builder can read memory but neither writes memory nor participates in dreams.
What should I consider before exposing the Web client remotely?
The documented remote path relies on Tailscale HTTPS. Because the Web client uses LAN trust without its own authentication layer, access to the host and trusted network should be tightly controlled.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents