LISA Autonomous Personal Assistant

A local-first personal assistant that persists across terminals, the web, and messaging channels.

Source repo
oratis/LISA
Stars
★ 175
Last updated
10d ago
License
MIT
Primary language
TypeScript

At a glance

Works with
Universal · cross-platformCodex · Claude Code · OpenAI API · Claude API
You'll need
Node.js 22.19 or later for CLI installations; not required by the self-contained Mac appAt least one supported provider API key or a documented local model setupShell / CLINetwork accessLocal filesystem
Typical use
An individual who wants one assistant across a terminal, browser, Mac, and messaging apps can retain the same skills, memories, opinions, and session history.
Main limitation
CLI installations require Node.js 22.19 or later; only the self-contained Mac application avoids that runtime dependency.

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

LISA is a local-first personal AI assistant exposed through a terminal REPL, web interface, Mac app, and multiple messaging channels. Its SOUL, DESIRES, HEARTBEAT, and REVE systems preserve identity, motivations, scheduled activity, and private reflection across sessions, channels, and machines. The agent loop supports Anthropic, OpenAI, Gemini, more than 20 OpenAI-compatible providers, and local models such as Ollama and LM Studio. Its execution environment includes MCP, plugins, hooks, sandboxed Bash, sub-agents, session resumption, context compaction, voice, apply_patch, and TF-IDF retrieval over prior sessions. Beyond chat, it can maintain a three-layer knowledge base, prepare feed and mailbox digests, and monitor or steer Claude Code, Codex, Aider, and OpenCode sessions. It is best suited to users who want a persistent, proactive assistant and are prepared to manage local state, integrations, and model-provider costs.

Users start the terminal REPL with lisa or run lisa serve --web to expose the interface at http://localhost:5757; Lisa.app opens the same web service. On the first launch, a roughly 30-second birth ritual creates a SOUL from a Big-Five seed, including an identity, purpose, constitution, and values. The streaming agent loop calls a configured Anthropic, OpenAI, Gemini, OpenAI-compatible, or local model and can operate through MCP, plugins, hooks, sandboxed Bash, sub-agents, and apply_patch. Actionable DESIRES and user-defined standing chores feed HEARTBEAT, which runs on launchd or cron and remains silent when it has nothing to report. After the user has been away for an hour, REVE can inspect desires, journal about tensions, repair broken skills, or complete one action, leaving a “★ WHILE YOU WERE AWAY” note. LISA can also turn links and feeds into a three-layer wiki and daily brief, read IMAP or Gmail OAuth mail to produce a classified digest without sending or deleting messages, accept requests through Telegram, Discord, Slack, Feishu, iMessage, and Webhook, and steer real Claude Code, Codex, Aider, and OpenCode CLI sessions.

  1. An individual who wants one assistant across a terminal, browser, Mac, and messaging apps can retain the same skills, memories, opinions, and session history.
  2. A user with recurring personal chores can place them under HEARTBEAT for launchd- or cron-based execution, with no notification when there is nothing useful to report.
  3. A developer working across Claude Code, Codex, Aider, or OpenCode can use LISA to watch and steer those real CLI sessions.
  4. A researcher maintaining a long-lived collection of sources can paste links, follow feeds, receive daily briefs, and browse a three-layer wiki and link graph.
  5. A user facing a crowded inbox can connect IMAP or Gmail OAuth for a read-only, classified daily digest without granting send or delete behavior.
  6. Someone who needs remote access to a private assistant can communicate through Telegram, Discord, Slack, Feishu, iMessage, or a Webhook, with remote-safe tools used by default.

How do you install or deploy this agent?

The CLI requires Node.js 22.19 or later. Install it with brew install oratis/tap/lisa or npm install -g @oratis/lisa. On macOS, Lisa-Suite.dmg is available from https://github.com/oratis/LISA/releases/latest and is self-contained, so it does not require Node.js. For the default Anthropic provider, run mkdir -p ~/.lisa and add ANTHROPIC_API_KEY=sk-ant-... to ~/.lisa/config.env. Other supported providers can be configured instead; for example, add DEEPSEEK_API_KEY=sk-... and launch with lisa --model deepseek-chat. Ollama and LM Studio are listed as local-model options, but their full configuration commands are not included in the supplied material.

How do you use this agent?

After configuring a provider, run lisa. The first invocation performs a one-time birth ritual lasting about 30 seconds and then opens the terminal REPL. For the browser interface, run lisa serve --web and visit http://localhost:5757; Lisa.app opens this interface as well. Select a non-default model with an invocation such as lisa --model deepseek-chat. The same Lisa can later be connected to Telegram, Discord, Slack, Feishu, iMessage, or a Webhook, although the supplied material does not include complete setup procedures for those channels, HEARTBEAT, the knowledge base, mail, or subscription-backed coding plans.

What are this agent's strengths and limitations?

Pros
  • SOUL, DESIRES, HEARTBEAT, and REVE combine persistent identity, internally represented goals, scheduled work, and offline reflection instead of relying only on a session-level system prompt.
  • Support spans Anthropic, OpenAI, Gemini, more than 20 OpenAI-compatible providers, Ollama, and LM Studio, reducing dependence on one model vendor.
  • The same persistent assistant is available through a terminal REPL, web UI, Mac app, and six messaging-channel types.
  • It combines general agent execution with a maintained knowledge base, read-only mailbox digests, and orchestration of real Claude Code, Codex, Aider, and OpenCode CLIs.
  • MCP, plugins, hooks, sandboxed Bash, sub-agents, session resumption, and context compaction provide a broad extension and execution surface.
Limitations
  • CLI installations require Node.js 22.19 or later; only the self-contained Mac application avoids that runtime dependency.
  • Anthropic is the default, and cloud models generally require credentials and may incur usage charges; the supplied material does not provide full setup steps for subscription plans or local models.
  • Persistent memories, journals, desires, and unattended execution create local state that adopters must secure, review, and maintain.
  • HEARTBEAT relies on launchd or cron, so deployment and scheduling differ across operating systems.
  • The feature surface is broad, but the supplied material does not spell out per-integration permissions, complete configuration steps, or failure handling for every channel and subsystem.
  • Mailbox access is deliberately read-only, so LISA cannot support workflows that require sending or deleting email.

How does this agent compare with similar options?

LISA presents itself as a capability superset of pi-mono, OpenClaw, hermes-agent, Claude Code, and Codex, combining streaming agent execution, tools, MCP, sub-agents, session resumption, and coding workflows. Its stated distinction is the SOUL, DESIRES, HEARTBEAT, and REVE layer, which adds a generated and evolving identity, motivation-driven actions, scheduled autonomy, and reflection while the user is away. It is not simply a replacement for coding agents: LISA can also act as an orchestrator that watches and steers real Claude Code, Codex, Aider, and OpenCode CLI sessions.

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

Agent Source review Stars Updated Language Full support on
LISA Autonomous Personal Assistant This agent 59 · Major gaps ★ 175 10d ago TypeScript Codex · Claude Code · OpenAI API · Claude API
LLM Wiki 85 · Good ★ 1.3k 8d ago Python Codex · Claude Code
GAIA — Personal AI Assistant 73 · Some gaps ★ 298 4d ago Python
Kody Personal Assistant Platform 70 · Some gaps ★ 657 4d ago TypeScript

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
59/ 100 5-point scale 3.0 / 5
Trust 14/29
Reliability 11/14
Adaptability 9/18
Convention 14/18
Effectiveness 7/13
Verifiability 4/8
Why each dimension lost points
Trust14 / 29 · 2.4/5

The CI workflow limits GitHub permissions to contents: read, while the README claims sandboxed bash, approval modes, remote-safe tools, and a read-only mailbox. This provides some least-privilege evidence, but no corresponding implementation or policy files are supplied, so coverage cannot be confirmed. User confirmation is supported only by a broad approval-mode claim and an “ask before anything irreversible” principle in synthetic test fixture data; the latter is not an enforcement mechanism. Data can flow through 20+ model providers, IM services, IMAP/Gmail, webhooks, MCP, and autonomous schedules, yet the supplied material does not disclose per-integration payloads, retention, or third-party boundaries. Keys are placed in ~/.lisa/config.env without documented file permissions, encryption, log redaction, or rotation. CI audits production dependencies at high severity and uses reproducible npm installation, but no lockfile, supply-chain pinning policy, or vulnerability-response process is shown. Heartbeat, REVE, channels, and coding-agent orchestration can create external effects; only high-level approval and remote-safety claims describe their controls. The birth flow writes seed.json last and the test verifies that failure persists no soul, providing concrete local recovery and retry behavior, but general rollback for agent actions is undocumented. Repository, author, license, issue channels, and reference architectures are attributed, although the detailed credits guide is not supplied and publisher identity remains unverified by the stated registry.

Reliability11 / 14 · 3.9/5

The README, package manifest, CI, and end-to-end tests are broadly consistent about the product name, Node requirement, CLI/Web launch paths, and birth flow. Many broader feature claims nevertheless lack matching source or tests. The dependency manifest, Node >=22.19 requirement, npm ci usage, Node 22/24 matrix, and local-model options adequately address ordinary availability, but the evidence omits the lockfile, offline installation, and provider-outage handling. Failure messaging is strongly evidenced for the shown 401 path: an offline stub verifies that birth does not hang or persist state, displays a human-readable key error, and offers a route back to change the key. Full credit applies to that evidenced handling rather than implying coverage of every failure mode.

Adaptability9 / 18 · 2.5/5

The README identifies terminal, Web, Mac, iOS, multiple IM channels, knowledge, mail, and coding-work scenarios, and outlines API-key, subscription, and local-model choices; detailed configuration documentation is not supplied. Boundaries are only partial: read-only mail, remote-safe defaults, and the absence of /reset_soul are explicit, but broad “superset” and sovereignty claims lack an enforceable capability boundary, permission matrix, or unsupported-use list. Heartbeat and REVE provide some trigger rules, including an hour-away condition, but scheduling conflicts, disable conditions, silence rules, and action-selection implementation are not shown. Environment fit is supported by Node 22/24 CI, Homebrew, npm, DMG, macOS/iOS builds, and Web tests; other operating systems and channel environments lack comparable evidence.

Convention14 / 18 · 3.9/5

The README has a clear quick start, feature sections, and navigation to a guide, docs index, contribution guide, issues, discussions, and changelog, though most linked documents are outside the supplied evidence. Installation notes specify the minimum Node version, three distribution routes, key setup, and launch commands, justifying full credit. LISA, Lisa, @oratis/lisa, and the lisa command are mostly stable, but no compatibility or deprecation policy is shown. Commands, screenshot descriptions, and birth-flow test examples exist, while no FAQ or substantial task walkthrough is supplied. Concrete Node 20 incompatibility and read-only-mail constraints are documented, but there is no consolidated limitations or risk register. MIT metadata matches a complete LICENSE, fully satisfying licensing. Version 0.26.1, links to CHANGELOG/Releases, and prepublication gates show a version/update path, but changelog contents and semantic-versioning policy are absent. The author, repository, issues, discussions, and contribution path identify maintenance channels; unverified publisher identity, unclear team ownership, support commitments, and no security contact prevent full credit.

Effectiveness7 / 13 · 2.7/5

CLI, Web, native clients, channels, error recovery, and persistent identity are designed to yield usable interactions, and end-to-end tests directly cover successful and failed first-run UX. No representative agent task outputs are included, so routine output quality cannot be assessed. The claimed superset of five agents and distinctive self mechanisms could add value, but these are largely marketing assertions without a capability-by-capability comparison or outcome evidence, yielding only thin marginal-value support. A 60-second setup, local/subscription choices, cost-free stub tests, and conditional CI show attention to user and maintenance cost; model usage, continuous heartbeat, channel operation, and local resource costs remain unquantified.

Verifiability4 / 8 · 2.5/5

Core installation and metadata claims trace to package.json, Node support and quality gates trace to CI, and birth-error behavior traces to concrete end-to-end assertions. Autonomous, safety, and capability-superset claims lack supplied implementation evidence. README, manifest, CI, and tests internally corroborate identity, runtime requirements, and the Web birth flow, but they remain same-repository sources and most differentiating features appear only in the README. The documentation does not clearly separate tested behavior, design intent, and anthropomorphic interpretation: phrases such as “real self,” “actually wants,” and “sovereign” blend conceptual framing with technical claims, so fact/inference separation is weak.

Risks and how to mitigate them
  • Autonomous heartbeat, REVE, webhooks, IM channels, and coding-agent control may create network, filesystem, or third-party effects while unattended; verify approval thresholds, allowed tools, and shutdown controls for each before enabling them.
  • Do not treat the claims of sandboxing, remote-safe defaults, or the synthetic constitution fixture as proof of enforced security controls; their implementations are not included here.
  • Provider keys are stored in ~/.lisa/config.env, but file permissions, encryption, log redaction, and rotation are undocumented in the supplied material; verify them before using real credentials.
  • The central “capability superset” and “real self” differentiators lack corresponding source, a comparative matrix, or task-result evidence and should be treated as independently unverified product claims.
  • This assessment is based only on the supplied static files; the program, tests, dependency audit, and external services were not executed or independently verified.
Evidence confidence: Low Reviewed Sep 23, 2026 Reviewed revision 274f5353095c
See the full review method →

FAQ

Is Anthropic required?
No. Anthropic is the default, but LISA also supports OpenAI, Gemini, more than 20 OpenAI-compatible providers, and local models through Ollama or LM Studio.
Does LISA itself eliminate model costs?
The repository is MIT-licensed, but cloud-model calls may carry provider charges. The material also mentions using Claude Pro/Max, ChatGPT, or Copilot subscriptions for coding work; pricing and limits depend on those services.
Can it send or delete email?
No. The mailbox integration reads through IMAP or Gmail OAuth and creates classified daily digests, but it explicitly does not send or delete messages.
Can it work while unattended?
Yes. HEARTBEAT runs desires and standing chores through launchd or cron, while REVE may reflect, journal, repair a skill, or complete one task after the user has been away for an hour.
Can I run it without Node.js?
Not as the CLI, which requires Node.js 22.19 or later. The self-contained Mac DMG does not require Node.js.
View on GitHub ↗ Install ↓

Compare agents like this one

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

Related agents