{"id":50622016,"url":"https://github.com/agentlas-ai/agentlas-desktop","last_synced_at":"2026-06-06T13:00:57.094Z","repository":{"id":360824934,"uuid":"1251860804","full_name":"agentlas-ai/agentlas-desktop","owner":"agentlas-ai","description":"Open-source macOS control room for running local AI agent teams with Claude Code, Codex, Gemini, and BYOK runtimes.","archived":false,"fork":false,"pushed_at":"2026-06-05T12:22:19.000Z","size":4387,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-05T14:24:08.437Z","etag":null,"topics":["agentlas","ai-agents","electron","macos","mcp"],"latest_commit_sha":null,"homepage":"https://agentlas.cloud/desktop","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/agentlas-ai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-28T01:21:36.000Z","updated_at":"2026-06-05T12:22:23.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/agentlas-ai/agentlas-desktop","commit_stats":null,"previous_names":["jeongmk522-netizen/agentlas-desktop","agentlas-ai/agentlas-desktop"],"tags_count":34,"template":false,"template_full_name":null,"purl":"pkg:github/agentlas-ai/agentlas-desktop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentlas-ai%2Fagentlas-desktop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentlas-ai%2Fagentlas-desktop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentlas-ai%2Fagentlas-desktop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentlas-ai%2Fagentlas-desktop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agentlas-ai","download_url":"https://codeload.github.com/agentlas-ai/agentlas-desktop/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentlas-ai%2Fagentlas-desktop/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33983046,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-06T02:00:07.033Z","response_time":107,"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":["agentlas","ai-agents","electron","macos","mcp"],"created_at":"2026-06-06T13:00:47.037Z","updated_at":"2026-06-06T13:00:57.065Z","avatar_url":"https://github.com/agentlas-ai.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/agentlas-desktop-banner.svg\" alt=\"Agentlas Desktop banner\"\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eAgentlas Desktop\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eRun AI-native Apps and agent teams on the Claude, ChatGPT, or Gemini plan you already pay for — locally.\u003c/strong\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  A local Apps OS for AI work that \u003cstrong\u003enever hands your API keys or chat history to a hosting platform.\u003c/strong\u003e\u003cbr\u003e\n  Bring your own Claude Code, Codex, or Gemini CLI (or any API key), install Apps over MCP, and run them on your own machine.\n\u003c/p\u003e\n\n\u003c!-- ── Download (primary action) ───────────────────────────────────────── --\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/agentlas-ai/agentlas-desktop/releases/latest\"\u003e\n    \u003cimg alt=\"Download for macOS — Apple Silicon\" src=\"https://img.shields.io/badge/Download_for_Mac-Apple_Silicon-000000?style=for-the-badge\u0026logo=apple\u0026logoColor=white\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/agentlas-ai/agentlas-desktop/releases/latest\"\u003e\n    \u003cimg alt=\"Download for macOS — Intel\" src=\"https://img.shields.io/badge/Download_for_Mac-Intel-555555?style=for-the-badge\u0026logo=apple\u0026logoColor=white\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/agentlas-ai/agentlas-desktop/releases/latest\"\u003e\n    \u003cimg alt=\"Download for Windows\" src=\"https://img.shields.io/badge/Download_for-Windows-0078D6?style=for-the-badge\u0026logo=windows\u0026logoColor=white\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/agentlas-ai/agentlas-desktop/releases/latest\"\u003e\n    \u003cimg alt=\"Download for Linux\" src=\"https://img.shields.io/badge/Download_for-Linux-FCC624?style=for-the-badge\u0026logo=linux\u0026logoColor=black\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003csub\u003eFree · open source (Apache-2.0) · no Agentlas account needed to run · prefer the terminal? \u003ca href=\"#install-from-the-terminal\"\u003eone-line install ↓\u003c/a\u003e\u003c/sub\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://agentlas.cloud\"\u003eagentlas.cloud\u003c/a\u003e\n  ·\n  \u003ca href=\"https://agentlas.cloud/desktop\"\u003eDesktop page\u003c/a\u003e\n  ·\n  \u003ca href=\"https://github.com/agentlas-ai/agentlas-desktop/releases/latest\"\u003eReleases\u003c/a\u003e\n  ·\n  \u003ca href=\"#documentation\"\u003eDocs\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/agentlas-ai/agentlas-desktop/releases/latest\"\u003e\n    \u003cimg alt=\"Latest release\" src=\"https://img.shields.io/github/v/release/agentlas-ai/agentlas-desktop?include_prereleases\u0026label=download\u0026color=blue\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"LICENSE\"\u003e\n    \u003cimg alt=\"License: Apache 2.0\" src=\"https://img.shields.io/badge/license-Apache%202.0-green\"\u003e\n  \u003c/a\u003e\n  \u003cimg alt=\"Platforms\" src=\"https://img.shields.io/badge/macOS%20%C2%B7%20Windows%20%C2%B7%20Linux-lightgrey\"\u003e\n  \u003cimg alt=\"Runtime\" src=\"https://img.shields.io/badge/runtime-Claude%20Code%20%7C%20Codex%20%7C%20Gemini%20%7C%20BYOK-black\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"Agentlas Desktop running a CEO agent over a live org chart\" src=\"docs/screenshot.png\" width=\"960\"\u003e\n\u003c/p\u003e\n\n## Release log\n\nCanonical release history lives in\n[GitHub Releases](https://github.com/agentlas-ai/agentlas-desktop/releases).\nThis README keeps the latest public deploy note so humans and agents can verify\nthe current channel quickly.\n\n- **2026-06-06 · v0.2.18 terminal ontology update** — `agentlas` now accepts\n  short REPL commands such as `/ontology`, `/ontology list`, and\n  `/ontology company ./docs`; company and personal folders stay private unless\n  explicitly registered otherwise.\n- **2026-06-06 · v0.2.17 public desktop release** — Project Ontology panel and\n  `agentlas ontology` terminal status/add/open flow shipped. Each project gets a\n  separate `.agentlas/ontology-inbox/`, `.agentlas/ontology-sources.json`, and\n  `.agentlas/ontology-runtime.sqlite`; home folders and sibling projects are not\n  scanned automatically.\n\n### What you get\n\n| | |\n|---|---|\n| **4 runtimes** | Claude Code · Codex · Gemini CLI · any API key (BYOK) — auto-detected |\n| **3 cloud providers** | Anthropic · OpenAI · Google, using *your* key |\n| **+$0 to your model bill** | Agentlas runs no model and never proxies a call |\n| **100% local** | keys in the OS keychain, chats \u0026 agents in local SQLite |\n| **Agent teams, visible** | every firm renders as an org chart, not a black box |\n| **Apps Store** | install Apps, agent firms, and supporting engines over the Model Context Protocol |\n| **3 platforms** | macOS (Apple Silicon + Intel) · Windows · Linux, self-updating |\n| **Apache-2.0** | audit it, fork it, ship your own variant |\n\nConnect the AI models you already pay for, install Apps over MCP, and run AI-native\napps or whole agent teams from one local window — with the UI, org chart, and repo\nbehind every run in plain view. Your keys and your chat history stay on your\nmachine, never on someone else's agent platform.\n\n- **Bring your own models.** Claude Code, Codex, and Gemini CLI, or\n  OpenAI / Anthropic / Google API keys directly. Agentlas never proxies the model call.\n- **Install Apps over MCP.** Drop in an App, an agent, or a whole team — for example\n  a package you built on [agentlas.cloud](https://agentlas.cloud) — and run it.\n- **Apps are first-class.** An App opens inside Agentlas Desktop like a small\n  macOS/Windows/Linux window: it can have its own UI, UX, backend adapters,\n  generated assets, credential requirements, MCP tools, and sub-engines. Assets,\n  vault keys, and MCP servers are support devices for Apps, not separate top-level\n  products.\n- **See the team, not a black box.** Every agent team renders as an org chart and\n  a file tree, so you can see who does what and which repo each run touches.\n- **Run and orchestrate locally.** The app supervises the agent processes and\n  routes work between roles, all on your disk.\n- **Local-first.** Keys in the OS keychain, chats and installed agents in local\n  SQLite. Open source, Apache-2.0 — fork it, audit it, ship a variant.\n\n## Who it's for\n\n- **Power users** who already pay for Claude, ChatGPT, or Gemini and want to run\n  agents on that subscription instead of paying a second AI bill to an agent SaaS.\n- **Builders** who package Apps or agents on [agentlas.cloud](https://agentlas.cloud) and\n  want to run them locally over MCP.\n- **Privacy-minded teams** who refuse to hand their API keys and chat history to a\n  third-party agent platform.\n- **Tinkerers** who want an open-source, auditable, forkable agent runner.\n\n## Features\n\nA complete tour of what ships today.\n\n### Bring your own everything (BYOC)\n\n- **Local CLI runtimes, auto-detected.** Agentlas finds your installed\n  `claude-code`, `codex`, and `gemini` CLIs and runs through them — using the\n  subscription/login you already have. No re-auth, no copy-pasting keys.\n- **BYOK cloud keys.** No CLI? Paste an Anthropic, OpenAI, or Google API key and\n  go. Keys are stored in the OS keychain, never a file.\n- **Mix and switch freely.** Have Claude Code *and* a Gemini key? Both show up; pick\n  the active backend per run. Most apps lock you to one provider — Agentlas doesn't.\n- **No proxy, ever.** Every model call goes straight from your machine to the\n  provider. Agentlas runs no LLM of its own and adds **$0** to your model bill.\n\n### Agent firms — teams, not a single bot\n\n- **Install a whole company.** A *firm* is a CEO agent that delegates down to\n  department heads and workers — e.g. a storefront-ops firm with content, CS, and\n  analytics departments.\n- **Live org chart.** Every firm renders as a hierarchy so you can see who reports\n  to whom and which role handles what — no black box.\n- **Chat the CEO, mobilize the team.** Message the CEO and it routes work to the\n  right roles, or talk to any single specialist directly.\n\n### Projects, chats, and history that stay yours\n\n- **Projects** group related chats, apply a shared context note, and set a default\n  agent so every new chat starts with the right context.\n- **Project Ontology panel** activates a project-local `.agentlas/ontology-inbox/`,\n  shows registered sources, and keeps the SQLite knowledge store inside that\n  project. It does not scan your home folder or sibling projects.\n- **Chats** support rename, archive/unarchive, switching the bound agent, and full\n  message history — all in **local SQLite**, nothing on a server.\n- **Image attachments** are sent as multimodal input on BYOK backends.\n- **Working-folder panel** pins a folder to a chat with a read-only file tree and\n  text preview, so you can see the repo an agent is helping with.\n\n### Apps Store — install and generate Apps\n\n- **MCP-native installs.** Browse and install Apps, agents, and whole firms from the\n  `agentlas.cloud` Apps Store; they run through local runtime adapters over the\n  Model Context Protocol.\n- **Operator-published Apps.** Agentlas operators publish App source/bundles to a\n  private GitHub repo, GitHub Release, or object storage; `agentlas.cloud` keeps the\n  MongoDB marketplace index, permissions, manifest, and version metadata. MongoDB is\n  not the blob store for full app bundles.\n- **Chat-generated Apps.** Turn on **Apps Generate** beside the Goal control in chat\n  and describe the tool you want. The built-in Agentlas App Builder routes the task\n  into an internal App manifest, not a standalone localhost web app or loose assets,\n  and leaves a stable Apps CTA when the model does not.\n- **First proof App.** **Document Studio** opens at `/apps/document-studio` as an\n  AI document workspace with tabs, an editable generated draft, figure planning,\n  and an \"Open in Apps\" CTA.\n- **Trust grades.** Listings carry a trust grade; sideloading unvetted agents is\n  gated.\n- **Works offline.** An in-memory fallback source keeps the marketplace usable when\n  the network or cloud is down.\n\n### Apps — manage the whole toolbox\n\n- **Installed Apps, Apps Store, Apps Vault, and Apps Engines** live under one sidebar\n  section. The vault tracks which credentials each App needs and which are set;\n  values live in the keychain, the UI only shows whether a key exists. MCP servers\n  and generated assets are engines/artifacts that help Apps run.\n\n### Automations\n\n- **Schedule recurring runs** against an agent or a firm from a prompt template.\n  (UI ships in the current M0 build; the persistent scheduler lands in V1.)\n\n### Migrate in — never locked in\n\n- **Import from OpenClaw and Hermes** in one click: SOUL/persona → an agent, `.env`\n  keys → the keychain, scheduled jobs → automations, memories → a project. Dry-run\n  and overwrite supported. Secret values never leave the main process.\n- **Apache-2.0 open source.** Audit it, fork it, ship your own variant.\n\n### Local-first security\n\n- API keys and tokens live in the **macOS/Windows/Linux keychain** via the main\nprocess — never a plaintext file, never readable by the renderer/UI.\n- Chats, projects, firms, and installed agents live in **local SQLite**.\n- Ontology sources are project-local by default: add files to the project's\n  `.agentlas/ontology-inbox/` or register an explicit source with\n  `/ontology company ./docs` inside the Agentlas terminal.\n\n### Cross-platform, self-updating, bilingual\n\n- **macOS (arm64 + Intel), Windows (installer + portable), Linux (AppImage + deb).**\n- **Auto-updates** via a GitHub Releases feed — a \"Restart to update\" badge appears\n  when a new build is downloaded.\n- **Full Korean / English UI** with automatic locale detection.\n\n## How Agentlas compares\n\nThree common ways to run AI agents today — and where Agentlas lands.\n\n| | **Agentlas Desktop** | Hosted agent platform (SaaS) | Single-model desktop chat | Raw terminal CLI |\n|---|---|---|---|---|\n| Where model calls go | **Direct from your machine** | Through their servers | Direct | Direct |\n| Who pays for tokens | **Your existing sub / key** | Platform fee **+** tokens | Your sub / key | Your sub / key |\n| Where keys \u0026 history live | **Your keychain + local SQLite** | Their cloud | Local (varies) | Local |\n| Multi-agent firms + org chart | **Yes** | Sometimes | No | No (manual) |\n| Install 3rd-party Apps over MCP | **Yes, Apps Store** | Varies | No | Manual |\n| Use local CLIs (Claude Code / Codex / Gemini) | **Yes** | Rarely | No | One at a time |\n| Mix CLIs **and** cloud keys in one window | **Yes** | No | No | No |\n| Open source (Apache-2.0) | **Yes** | Usually no | Varies | Varies |\n| Desktop GUI on mac / win / linux | **Yes** | Web only | Often | No (terminal) |\n\n**Why people pick Agentlas**\n\n- **It runs on the AI you already pay for.** No second subscription to an agent\n  platform — your Claude/ChatGPT/Gemini plan does the work.\n- **Your data never leaves your machine.** Keys in the OS keychain, chats in local\n  SQLite, model calls direct to the provider. Nothing to trust us with.\n- **Teams of agents, visible.** Firms with a real org chart beat a single opaque\n  chatbot when work needs more than one role.\n- **Open and portable.** Apache-2.0, importable from OpenClaw/Hermes, forkable — no\n  lock-in.\n\n## Screens\n\n| Screen | What it does |\n|--------|--------------|\n| **Home** | Landing dashboard — recent chats, installed teams, quick actions. |\n| **Chat** | One-on-one conversation with an agent or a firm's CEO. Supports image attachments on BYOK backends. |\n| **Archived chats** | Chats you've archived — hidden from the sidebar, restorable anytime. |\n| **Projects** | Create and open projects; each carries a default agent and a shared context note. |\n| **Firm detail** | The agent company's org chart — CEO → department heads → workers, plus the firm persona. |\n| **Automations** | List, create, and toggle scheduled runs targeting an agent or a firm. |\n| **Apps · Installed** | Installed Apps launcher. Includes Document Studio and App Builder generated Apps. |\n| **Apps · Store** | Browse and install Apps, agents, and firms from `agentlas.cloud` (with an offline in-memory fallback). |\n| **Apps · Engines** | Installed MCP servers, backend connectors, and sub-engines used by Apps. |\n| **Apps · Vault** | The shared credential vault — which keys are set and which Apps require them. |\n| **Settings** | Backend connections, BYOK API keys, language, and migration from OpenClaw / Hermes. |\n| **Onboarding** | First-run wizard: welcome → connect a backend → menu tour → install your first team. |\n\n## LLM Providers\n\nAgentlas connects to models two ways — through a **local CLI** you already have\ninstalled, or with a **cloud API key (BYOK)**. Either way the call goes straight\nfrom your machine to the provider; Agentlas never sits in the middle.\n\n| Provider | How it connects | Notes |\n|----------|-----------------|-------|\n| **Claude Code** | Local CLI (`claude-code`) | Auto-detected. Uses your existing Claude subscription/login. |\n| **Codex** | Local CLI (`codex`) | Auto-detected. Uses your existing ChatGPT/OpenAI login. |\n| **Gemini** | Local CLI (`gemini`) | Auto-detected. Uses your existing Google login. |\n| **Anthropic** | BYOK API key | `console.anthropic.com → API Keys`. Stored in the OS keychain. |\n| **OpenAI** | BYOK API key | `platform.openai.com/api-keys`. Stored in the OS keychain. |\n| **Google (Gemini)** | BYOK API key | `aistudio.google.com/app/apikey`. Stored in the OS keychain. |\n\nYou need **one** of these to start — a single detected CLI or a single API key.\nAdd more later in **Settings**.\n\n## Quick install\n\nGet the latest build from the [**Releases page**](https://github.com/agentlas-ai/agentlas-desktop/releases/latest).\n\n| OS | File | Notes |\n|----|------|-------|\n| macOS (Apple silicon) | `Agentlas-x.y.z-arm64.dmg` | M1 and newer |\n| macOS (Intel) | `Agentlas-x.y.z-x64.dmg` | Intel Macs |\n| Windows | `Agentlas-Setup-x.y.z.exe` · `Agentlas-x.y.z-portable.exe` | Windows 10/11 (x64) |\n| Linux | `Agentlas-x.y.z.AppImage` · `Agentlas-x.y.z.deb` | x64 |\n\n### Install from the terminal\n\nPrefer the command line? These one-liners fetch the latest release asset straight\nfrom GitHub (no need to hardcode a version).\n\n**macOS** (auto-detects Apple silicon vs Intel):\n\n```bash\narch=$([ \"$(uname -m)\" = \"arm64\" ] \u0026\u0026 echo arm64 || echo x64)\nurl=$(curl -fsSL https://api.github.com/repos/agentlas-ai/agentlas-desktop/releases/latest \\\n  | grep -o \"https://[^\\\"]*-${arch}\\.dmg\" | head -1)\ncurl -fL \"$url\" -o Agentlas.dmg \u0026\u0026 open Agentlas.dmg\n```\n\n**Linux (.deb — Debian/Ubuntu):**\n\n```bash\nurl=$(curl -fsSL https://api.github.com/repos/agentlas-ai/agentlas-desktop/releases/latest \\\n  | grep -o 'https://[^\"]*\\.deb' | head -1)\ncurl -fL \"$url\" -o agentlas.deb \u0026\u0026 sudo dpkg -i agentlas.deb\n```\n\n**Linux (AppImage — any distro):**\n\n```bash\nurl=$(curl -fsSL https://api.github.com/repos/agentlas-ai/agentlas-desktop/releases/latest \\\n  | grep -o 'https://[^\"]*\\.AppImage' | head -1)\ncurl -fL \"$url\" -o Agentlas.AppImage \u0026\u0026 chmod +x Agentlas.AppImage \u0026\u0026 ./Agentlas.AppImage\n```\n\n**Windows (PowerShell):**\n\n```powershell\n$r = Invoke-RestMethod https://api.github.com/repos/agentlas-ai/agentlas-desktop/releases/latest\n$u = ($r.assets | Where-Object { $_.name -like 'Agentlas-Setup-*.exe' }).browser_download_url\nInvoke-WebRequest $u -OutFile \"$env:TEMP\\AgentlasSetup.exe\"; Start-Process \"$env:TEMP\\AgentlasSetup.exe\"\n```\n\n(With the GitHub CLI on any OS: `gh release download -R agentlas-ai/agentlas-desktop --pattern '*.dmg'`.)\n\n### Turn on project ontology from the terminal\n\nOpen a project folder and type `agentlas`. Inside the Agentlas terminal:\n\n```text\n/ontology\n/ontology list\n/ontology company ./company-docs\n/ontology personal ~/notes\n```\n\nThose commands create/use only this project's `.agentlas/` folder. They do not\nscan your home folder or other projects.\n\n### Updates — do I need to reinstall?\n\nNo. The app updates itself: ~15s after launch and then hourly it checks GitHub\nReleases, downloads a newer build in the background, and shows a **\"Restart to\nupdate\"** badge (the same idea as Codex's update button). Click it to apply.\n\n- **Windows:** auto-update works for the **installer** build (`Agentlas-Setup-*.exe`).\n  The **portable** `.exe` does **not** self-update — re-download it to upgrade.\n- **macOS / Linux (AppImage):** self-update in place. The `.deb` updates via the\n  same in-app flow.\n\n### First-time setup — opening the app the first time\n\nAgentlas Desktop is open source and the public builds aren't paid code-signed on\nevery platform, so your OS may ask you to confirm the first launch. This is normal\nfor indie/open-source apps and happens only once.\n\n**macOS** — if you see *\"Agentlas can't be opened because Apple cannot check it\nfor malicious software\"*, right-click the app in Applications → **Open** →\n**Open**. Or, in Terminal:\n\n```bash\nxattr -dr com.apple.quarantine /Applications/Agentlas.app\nopen /Applications/Agentlas.app\n```\n\n**Windows** — if SmartScreen shows *\"Windows protected your PC\"*, click\n**More info** → **Run anyway**. The portable `.exe` runs without installing.\n\n**Linux** — make the AppImage executable and run it:\n\n```bash\nchmod +x Agentlas-*.AppImage\n./Agentlas-*.AppImage\n# no FUSE on your distro? run:\n./Agentlas-*.AppImage --appimage-extract-and-run\n```\n\n(Or install the `.deb`: `sudo dpkg -i Agentlas-*.deb`.)\n\n## Getting Started\n\nAfter installing, the first-run wizard walks you through it — but here's the whole\nflow:\n\n1. **Open the app** and let the welcome screen finish (first launch only).\n2. **Connect a backend.** Agentlas auto-detects any installed `claude-code`,\n   `codex`, or `gemini` CLI. No CLI? Paste an Anthropic / OpenAI / Google API key —\n   it goes straight into the OS keychain.\n3. **Install an App, team, or agent** from **Apps Store**. Try a firm (a CEO plus\n   its departments), a single specialist, or a generated App.\n4. **Open Apps** from the sidebar and try **Document Studio**, or start a chat and\n   use `/apps` or `/docstudio`.\n5. **Pin a working folder** (optional) so the agent can see the repo it's helping with.\n6. **Add automations** for recurring runs, and manage App engines and credentials\n   from **Apps**.\n7. **Coming from OpenClaw or Hermes?** Jump to\n   [Migrating from OpenClaw](#migrating-from-openclaw) to bring your SOUL, keys,\n   and automations across.\n\n## CLI runtime vs Cloud (BYOK) — quick reference\n\nAgentlas has no separate \"CLI app\" and \"web app\" — it's one desktop window. The\nchoice that matters is **how each run reaches a model**: through a local CLI you've\nalready logged into, or through a cloud API key you paste in. Both run from your\nmachine; here's how they differ.\n\n| Action | Local CLI runtime | Cloud API key (BYOK) |\n|--------|-------------------|----------------------|\n| Connect | Auto-detected (`claude-code` / `codex` / `gemini`) | Paste a key in **Settings → BYOK** |\n| Who pays | Your existing subscription / login | Your API account, metered per token |\n| Where the key lives | The CLI's own login | The OS keychain (never a file) |\n| Works offline-ish | Whatever the CLI supports | No — direct cloud calls |\n| Image attachments | Ignored by the CLI (a warning is shown) | Sent as multimodal input |\n| Switch active backend | **Settings** → pick a detected runtime | **Settings** → pick a saved key |\n| Version pinning | Follows the installed CLI version | Follows the provider's API |\n\n\u003e Agentlas never routes either path through its own servers. The model call goes\n\u003e from your machine straight to Anthropic / OpenAI / Google.\n\n## Migrating from OpenClaw\n\nAlready running a terminal-style assistant like **OpenClaw**? Bring it across in the\napp — **Settings → 다른 도구에서 가져오기 (Import from another tool)**.\n\nAgentlas scans `~/.openclaw` and shows a preview (names and counts only — no secret\nvalues ever leave the main process). Click **Import** and it brings over:\n\n- **Your agent's SOUL / persona** (`workspace/SOUL.md`, `IDENTITY.md`, `USER.md`,\n  `AGENTS.md`, `TOOLS.md`) → a new installed agent you can chat with immediately.\n- **API keys** from `~/.openclaw/.env` → the OS keychain. Recognized provider keys\n  (`OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, `GEMINI_API_KEY`, …) become BYOK backends;\n  other `*_API_KEY` / `*_TOKEN` secrets go into the shared env vault.\n- **Scheduled jobs** (`cron/jobs.json`) → automations targeting the imported agent.\n- **Memories / workspace** → a \"OpenClaw 마이그레이션\" project whose context note\n  points at your original workspace so you can pin it as a working folder.\n\nOptions:\n\n- **Dry run** — preview exactly what would be imported, writing nothing.\n- **Overwrite** — re-import on top of a previous import (updates the agent in place).\n\n\u003e Imported automations are session-only in the current M0 build; the persistent\n\u003e scheduler lands in V1. Everything else (agent, keys, project) persists.\n\n### Migrating from Hermes\n\nThe same importer reads **Hermes** (`~/.hermes`, or `%LOCALAPPDATA%\\hermes` on\nWindows): `SOUL.md` and workspace instructions become the agent persona, `.env`\nkeys go to the keychain, and `memories/` are surfaced as a project. Pick **Hermes**\nin the same Settings panel.\n\n## Build from source\n\nRequirements: Node.js 20+, npm. (macOS also needs Xcode Command Line Tools, and\nLinux needs `libsecret-1-dev`, for the native modules.)\n\n```bash\ngit clone https://github.com/agentlas-ai/agentlas-desktop.git\ncd agentlas-desktop\nnpm install\nnpm run dev        # Next.js renderer on :3100 + Electron\n```\n\n```bash\nnpm run typecheck  # TypeScript for electron main + renderer\nnpm run build      # export renderer + compile electron into dist/\n```\n\nPackage an installer (unsigned — fine for local use):\n\n```bash\nnpm run dist:win            # Windows: NSIS installer + portable .exe\nnpm run dist:linux          # Linux: AppImage + .deb\nnpm run dist:mac:unsigned   # macOS: unsigned .dmg (no Apple cert needed)\n```\n\nOutput lands in `release/`. Releases for the public download page are built by\nthe cross-platform GitHub Actions workflow (`.github/workflows/release.yml`) on a\ntag push — see [`docs/PUBLIC-RELEASE.md`](docs/PUBLIC-RELEASE.md). End users don't\nneed any of that.\n\n## Architecture\n\n```text\nAgentlas Desktop\n├─ electron/          privileged main process\n│  ├─ runtime/        Claude Code, Codex, Gemini, BYOK adapters\n│  ├─ mcp/            MCP client and installer\n│  ├─ marketplace/    agentlas.cloud Apps Store source\n│  ├─ migrate/        OpenClaw / Hermes importer\n│  ├─ secrets/        OS keychain vault\n│  ├─ store/          SQLite-backed local state\n│  └─ updater.ts      electron-updater integration\n├─ renderer/          Next.js App Router UI\n├─ shared/            typed IPC contracts\n├─ scripts/           release, signing, and verification tooling\n└─ docs/              architecture and release notes\n```\n\nThe renderer never gets direct filesystem, keychain, or process-supervision\naccess — it talks to the main process through a typed preload bridge.\n\n## Documentation\n\n| Document | Covers |\n|----------|--------|\n| [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) | Process model, IPC bridge, runtime adapters, data flow. |\n| [docs/M0-CHECKLIST.md](docs/M0-CHECKLIST.md) | The M0 spike scope and what's verified. |\n| [docs/PUBLIC-RELEASE.md](docs/PUBLIC-RELEASE.md) | Cross-platform CI release + the signed/notarized macOS path. |\n| [CONTRIBUTING.md](CONTRIBUTING.md) | How to set up, what to test, and the public-safety rules. |\n| [SECURITY.md](SECURITY.md) | How to report a vulnerability. |\n| [Migrating from OpenClaw](#migrating-from-openclaw) | Bring a SOUL, keys, and automations over from OpenClaw / Hermes. |\n\n## Security model\n\n- No credentials in Git.\n- No API keys written to plaintext local files.\n- Renderer code cannot directly read secrets.\n- Migration previews send key **names** only — secret values never leave the main process.\n- Signing material is git-ignored and injected only during release.\n- Auto-update assets are served from GitHub Releases.\n\nSecurity reports: see [SECURITY.md](SECURITY.md).\n\n## Contributing\n\nPull requests are welcome. Start with [CONTRIBUTING.md](CONTRIBUTING.md), run\n`npm run typecheck`, and keep public safety in mind: no credentials, no local\nlogs, no signing material. Windows/Linux testing and packaging feedback is\nespecially appreciated.\n\n## License\n\nApache License 2.0. See [LICENSE](LICENSE) and [NOTICE](NOTICE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagentlas-ai%2Fagentlas-desktop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagentlas-ai%2Fagentlas-desktop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagentlas-ai%2Fagentlas-desktop/lists"}