{"id":46123376,"url":"https://github.com/agustinsacco/tars","last_synced_at":"2026-05-04T05:01:43.420Z","repository":{"id":338640512,"uuid":"1158563360","full_name":"agustinsacco/tars","owner":"agustinsacco","description":"AI sidekick and personal assistant","archived":false,"fork":false,"pushed_at":"2026-04-27T03:37:11.000Z","size":8160,"stargazers_count":4,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-27T05:29:22.785Z","etag":null,"topics":["agentic-workflows","ai","autonomous-agents","gemini","infrastructure","mcp","typescript"],"latest_commit_sha":null,"homepage":"https://tars.saccolabs.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/agustinsacco.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-15T15:28:03.000Z","updated_at":"2026-04-27T03:37:13.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/agustinsacco/tars","commit_stats":null,"previous_names":["agustinsacco/tars"],"tags_count":102,"template":false,"template_full_name":null,"purl":"pkg:github/agustinsacco/tars","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agustinsacco%2Ftars","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agustinsacco%2Ftars/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agustinsacco%2Ftars/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agustinsacco%2Ftars/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agustinsacco","download_url":"https://codeload.github.com/agustinsacco/tars/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agustinsacco%2Ftars/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32595202,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T22:12:39.696Z","status":"online","status_checked_at":"2026-05-04T02:00:06.625Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agentic-workflows","ai","autonomous-agents","gemini","infrastructure","mcp","typescript"],"created_at":"2026-03-02T01:05:39.677Z","updated_at":"2026-05-04T05:01:43.379Z","avatar_url":"https://github.com/agustinsacco.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tars: Your Autonomous AI Assistant\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"assets/logo.png\" alt=\"Tars Logo\" width=\"300\" /\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n  [License: MIT](https://opensource.org/licenses/MIT) | [TypeScript](https://www.typescriptlang.org/) | [Powered by Gemini](https://deepmind.google/technologies/gemini/)\n\u003c/div\u003e\n\n---\n\nTars is an autonomous, local-first AI assistant powered by Google's Gemini models. It provides a persistent, free alternative to subscription-based services by running directly on your machine. Tars maintains its own database of memories, tasks, and skills, allowing it to adapt to your workflow and retain context over time.\n\n## Philosophy\n\nTars is designed for developers who need an assistant that integrates deeply with their local environment without the overhead of heavy containers or expensive cloud subscriptions.\n\n- **Private**: All data, including memories and task history, is stored locally in your home directory.\n- **Portable**: The entire \"brain\" can be exported and moved to a new machine seamlessly.\n- **Extensible**: Tars can write its own tools and extensions to expand its capabilities.\n- **Cost-Effective**: Utilizes the Gemini API (including the free tier) to handle complex reasoning tasks without local GPU requirements.\n\n### Comparison\n\n| Feature     | Tars                      | Traditional Cloud Assistants                      |\n| :---------- | :------------------------ | :------------------------------------------------ |\n| **Cost**    | Free (Gemini Tier)        | Subscription / Token Usage Fees                   |\n| **Runtime** | Native Node.js Process    | Often Web-based or Heavy Local LLMs               |\n| **Latency** | Low (API Inference)       | High (Local Inference) or Variable (Cloud Queues) |\n| **Context** | Persistent Project Memory | Session-based / Limited Context Window            |\n| **Focus**   | System \u0026 Code Execution   | General Chat \u0026 Q\u0026A                                |\n\n---\n\n## Key Features\n\n- **Multi-Agent Orchestration**: Delegates specialized tasks (like coding or research) to sub-agents for better accuracy.\n- **Native Gemini Core**: Integrated directly with the `@google/gemini-cli-core` library for high-speed, direct communication without subprocess overhead.\n- **Autonomous Persistence**: A background \"Heartbeat\" service manages scheduled tasks and system health automatically.\n- **Local Inference Support**: Tars can now be configured to use local models via **LlamaCpp** (or any OpenAI-compatible API) as an alternative to Gemini, providing 100% privacy and offline capability.\n- **Context-Aware Memory**: Utilizes `GEMINI.md` files to maintain long-term awareness of project structures and decisions.\n\n---\n\n## Documentation\n\nFull documentation is available at [tars.saccolabs.com](https://tars.saccolabs.com) or in the `site/` directory.\n\n- **Website**: [tars.saccolabs.com](https://tars.saccolabs.com)\n- **Development**: `npm run docs:dev`\n- **Build**: `npm run docs:build`\n- **Live Deployment**: `http://\u003cULTRON_IP\u003e:5252`\n\n## Installation and Setup\n\n### Prerequisites\n\n- **Node.js**: ≥ 22.0.2\n\n### Installation\n\nTars is powered by the **Gemini CLI Core** library, which is automatically bundled during installation. No external CLI tools are required.\n\n```bash\nnpm install -g @saccolabs/tars\n```\n\n### Initial Setup\n\nRun the setup wizard to authorize Gemini and connect your Discord bot:\n\n```bash\ntars setup\n```\n\n---\n\n## Usage\n\n### Commands\n\n- `tars start`: Launch the Tars supervisor.\n- `tars restart`: Check for updates and restart the supervisor.\n- `tars status`: View system health and brain statistics.\n- `tars export`: Compress the brain and configuration for portability.\n- `tars import \u003cpath\u003e`: Restore a brain with automatic path re-homing.\n- `tars secret set \u003ckey\u003e \u003cvalue\u003e`: Securely store platform credentials.\n\n### Interaction\n\nTars communicates primarily through **Discord**. It supports file uploads, long-running task management, and complex multi-step instructions.\n\n\u003e **Discord**: `!tars Analyze the logs in /var/log/syslog and summarize any critical errors.`\n\n---\n\n## Architecture\n\nTars utilizes a Supervisor-Orchestrator model:\n\n1. **Supervisor**: Manages persistent sessions and multi-channel communication.\n2. **Channel Manager**: Orchestrates communication with Discord.\n3. **Subagents**: Specialized expert agents invoked dynamically for specific technical domains.\n4. **Heartbeat**: Cron-based engine for autonomous execution and cleanup.\n5. **Extensions**: MCP servers that provide tool-level capabilities to the intelligence core.\n\n---\n\n## License\n\nMIT Copyright Agustin Sacco\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagustinsacco%2Ftars","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagustinsacco%2Ftars","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagustinsacco%2Ftars/lists"}