What is Tars?

A compact, local-first assistant for Discord and terminal workflows.

Tars is a self-hosted Node.js assistant that runs directly on your machine. A PM2-managed supervisor connects one active agent to Discord, while tars chat --no-discord provides a foreground terminal session without daemon-only services. Both modes use the configured TARS_HOME; do not send concurrent prompts through both.

Local-first, not necessarily offline

Configuration, conversations, selected memory, tasks, skills, extensions, and logs are stored under ~/.tars/ by default. Model requests still leave the machine when you choose a cloud provider. Use a compatible local endpoint when inference must remain on your network.

Focus

Tars intentionally focuses on a smaller operating model:

  • bare-metal Node.js and PM2 instead of a containerized runtime;
  • Discord and terminal access;
  • provider choice through the Pi Agent SDK;
  • durable facts, notes, and explicit scheduled tasks;
  • trusted local skills and MCP extensions;
  • inspectable configuration and state.

OpenClaw is an example of a broader self-hosted gateway with a larger channel and platform ecosystem. Tars does not currently provide sub-agent orchestration, mobile or voice clients, or broad multi-channel parity.

Boundaries

Tars is not a sandbox. Its model tools and extensions have the permissions of the operating-system user. The heartbeat performs maintenance rather than inventing background work. Recurring work runs only after an explicit task is created.

Start with a dedicated least-privilege account and read the security model before granting access to sensitive files, commands, or services.