[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81847":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":13,"stars7d":13,"stars30d":13,"stars90d":16,"forks30d":16,"starsTrendScore":15,"compositeScore":17,"rankGlobal":10,"rankLanguage":10,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":19,"hasPages":19,"topics":21,"createdAt":10,"pushedAt":10,"updatedAt":22,"readmeContent":23,"aiSummary":24,"trendingCount":16,"starSnapshotCount":16,"syncStatus":13,"lastSyncTime":25,"discoverSource":26},81847,"lantor","chenzl25\u002Flantor","chenzl25","Local-first, private AI agent workspace for Codex and Claude. Own your context and run agents on your Mac.","",null,"Rust",27,2,25,6,0,46.63,"Apache License 2.0",false,"main",[],"2026-06-12 04:01:35","\u003Cp align=\"center\">\n  \u003Cimg src=\"docs\u002Fassets\u002Flantor-banner.png\" alt=\"Lantor - AI Agent Workspace\" width=\"820\" \u002F>\n\u003C\u002Fp>\n\n# Lantor\n\n**Local First. Private by default. Agents work in context you own.**\n\nLantor is a local-first AI agent workspace for Codex, Claude, and the agent\nteam you run yourself. It gives your agents channels, DMs, threads, tasks,\nreminders, artifacts, and attachments so they can coordinate real coding work.\n\nThe important part is where it runs. Lantor has no hosted control plane, no\ncloud workspace, and no extra backend that your project data has to pass\nthrough. The desktop app, supervisor, SQLite database, attachments, chat\nhistory, agent profiles, and agent workspaces all live on your Mac. Your\ncontext is local SQLite and files you can inspect, back up, or extract.\n\nUse it when terminal tabs stop being enough: keep multiple agents warm,\ndispatch work through chat, preserve their local memory, and keep the whole\nworkspace under your control.\n\n\u003Cp align=\"center\">\n  \u003Cimg\n    src=\"docs\u002Fassets\u002Flantor-workspace.png\"\n    alt=\"Lantor desktop workspace showing a channel, agent-created tasks, and an open thread\"\n    width=\"1100\"\n  \u002F>\n\u003C\u002Fp>\n\nIn the workspace above, a user asks an agent to inspect GitHub issues, the\nagent turns the findings into tasks, and the thread keeps the rationale, scope,\nand handoff context attached to the work. That is the core Lantor loop: chat\nfor intent, threads for durable context, and tasks for execution.\n\n## Quickstart\n\nLantor is a native macOS desktop app. Install Node 20+ and Rust first:\n\n```bash\nbrew install node\ncurl --proto '=https' --tlsv1.2 -sSf https:\u002F\u002Fsh.rustup.rs | sh -s -- -y\nsource \"$HOME\u002F.cargo\u002Fenv\"\n```\n\nIf Rust or Tauri reports missing Apple compiler or linker tools, run\n`xcode-select --install` and launch again.\n\nClone and launch the app:\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fchenzl25\u002Flantor.git\ncd lantor\nnpm install\nnpm run tauri:dev\n```\n\nWhen the desktop app opens, add your first agent:\n\n1. Install and sign in to the CLI runtime you want to use. You only need the\n   runtime for the agents you plan to run:\n\n   ```bash\n   # Codex\n   npm install -g @openai\u002Fcodex\n   codex\n\n   # Claude Code\n   npm install -g @anthropic-ai\u002Fclaude-code\n   claude\n   ```\n\n2. In Lantor, create an agent, choose Codex or Claude, and point it at a\n   workspace directory.\n3. Mention the agent in a channel, DM it directly, or create a task. Lantor\n   records the work item, wakes the local CLI runtime, and routes the response\n   back into the right thread.\n\nSQLite state lives at\n`~\u002FLibrary\u002FApplication Support\u002FLantor\u002Flantor.sqlite`, attachments live under\n`~\u002FLibrary\u002FApplication Support\u002FLantor\u002Fattachments\u002F`, and migrations run\nautomatically on every start.\n\n## Why Lantor\n\n- **Local First, privacy.** App, supervisor, SQLite state, attachments, and\n  agent workspaces all run on your Mac.\n- **You own your context.** Chat history, tasks, artifacts, attachments,\n  agent profiles, and each agent's `MEMORY.md` \u002F `notes\u002F` stay on disk.\n- **One human, many agents.** Channels, DMs, threads, tasks, and handoffs are\n  shaped around a solo operator coordinating agent work.\n- **Workspace, not just chat.** Messages can become tasks, threads carry\n  context, and artifacts stay attached to the work that produced them.\n\n## What's inside\n\n- **Workspace primitives** — channels, DMs, threads, mentions, search, tasks,\n  reminders, artifacts, and attachments.\n- **Local supervisor** — durable inbox dispatch, queued runs, stop\u002Fretry,\n  process lifecycle, run logs, and structured event ingestion.\n- **Agent collaboration** — task claiming, task\u002Fthread handoff, progress\n  activity, generated artifacts, and per-agent local memory.\n- **Desktop + mobile access** — native macOS app plus a trusted-network web UI\n  served by the same local process and SQLite database.\n\n## How it works\n\nLantor is a native macOS app with a local supervisor. The desktop process\nstarts the same binary in supervisor mode; that supervisor owns agent process\nlaunch, stop commands, queued work scheduling, run logs, and structured event\ningestion.\n\nEach agent profile defines a runtime, model settings, optional working\ndirectory, durable memory directory, and optional custom launch command. When\nyou mention an agent, DM it, create a task, schedule a reminder, retry a run,\nor hand off a thread, Lantor records a work item and wakes the agent with\nscoped inbox context. The supervisor allows one active run per agent and keeps\nthe rest of that agent's work queued.\n\nAgents talk back in two channels:\n\n- **Normal assistant text** is routed into the right channel, DM, or thread.\n- **`LANTOR_EVENT` control lines** become structured side effects such as\n  progress activity, usage records, task updates, reminders, artifacts,\n  attachments, channel messages, and handoffs.\n\nStorage stays local:\n\n- **SQLite** — workspace state, messages, tasks, reminders, agents, metadata,\n  activity, and usage records.\n- **Attachments** — `~\u002FLibrary\u002FApplication Support\u002FLantor\u002Fattachments\u002F`.\n- **Agent workspaces** — `~\u002FLibrary\u002FApplication Support\u002FLantor\u002Fagents\u002F\u003Chandle>\u002F`\n  by default (you can point each agent at any directory you like), including\n  that agent's `MEMORY.md`, `notes\u002F`, and durable task files.\n\nThe optional mobile web UI is served by the same local desktop process and\nshares the same SQLite database and attachment store. There is still no\nseparate hosted Lantor service in the path.\n\n## Mobile\n\nThe same desktop process also serves a mobile-friendly web UI, so you can\nread threads, dispatch agents, and manage tasks from your phone without a\nseparate app, account, or cloud relay. The recommended way to reach it is\nover [Tailscale](https:\u002F\u002Ftailscale.com\u002F).\n\n\u003Cp align=\"center\">\n  \u003Cimg\n    src=\"docs\u002Fassets\u002Flantor-mobile.png\"\n    alt=\"Lantor mobile web UI showing channels and agents\"\n    width=\"260\"\n  \u002F>\n  \u003Cimg\n    src=\"docs\u002Fassets\u002Flantor-mobile-channel.png\"\n    alt=\"Lantor mobile web UI showing a channel conversation and task activity\"\n    width=\"260\"\n  \u002F>\n  \u003Cimg\n    src=\"docs\u002Fassets\u002Flantor-mobile-agent.png\"\n    alt=\"Lantor mobile web UI showing an agent profile and recent activity\"\n    width=\"260\"\n  \u002F>\n\u003C\u002Fp>\n\n1. Install Tailscale on your Mac and your phone, and sign both into the\n   same tailnet.\n2. Keep Lantor running on your Mac. The web UI is enabled by default on\n   `0.0.0.0:8787`.\n3. From your phone's browser, open:\n\n   ```text\n   http:\u002F\u002F\u003Cmac-tailscale-name>:8787\u002F\n   ```\n\nThe browser UI shares the same desktop process and SQLite state, so\nchannels, agents, tasks, reminders, artifacts, and attachments all stay in\nsync.\n\nLantor has no built-in auth — only expose it on a trusted private network\nlike your tailnet. To lock the web UI down to loopback or turn it off, set\n`LANTOR_WEB_BIND=127.0.0.1:8787` or `LANTOR_WEB_BIND=off`. See\n[`docs\u002Fweb-access.md`](docs\u002Fweb-access.md) for details.\n\n## Configuration\n\nDefaults work out of the box. The two settings most users care about:\n\n| Variable | Default | Purpose |\n| --- | --- | --- |\n| `LANTOR_DATABASE_URL` | `sqlite:\u002F\u002F~\u002FLibrary\u002FApplication Support\u002FLantor\u002Flantor.sqlite` | SQLite database URL. |\n| `LANTOR_WEB_BIND` | `0.0.0.0:8787` | Web UI bind. Use `127.0.0.1:8787` for loopback only, or `off` to disable. |\n\nAdvanced options — attachment paths, web public URL, web bundle override,\nwarm Codex rotation — are in [`docs\u002Fconfiguration.md`](docs\u002Fconfiguration.md)\nand [`.env.example`](.env.example).\n\n## Documentation\n\n- [Agent runtime model](docs\u002Fagent-runtime.md)\n- [Control events](docs\u002Fcontrol-events.md)\n- [Configuration reference](docs\u002Fconfiguration.md)\n- [Tailscale web access](docs\u002Fweb-access.md)\n- [Agent activity feed](docs\u002Factivity-feed.md)\n\nBug reports and feature requests are welcome via\n[GitHub Issues](https:\u002F\u002Fgithub.com\u002Fchenzl25\u002Flantor\u002Fissues).\n\n## Development\n\n```bash\nnpm run build                                              # frontend bundle\ncargo check --manifest-path src-tauri\u002FCargo.toml           # rust typecheck\ncargo test  --manifest-path src-tauri\u002FCargo.toml --no-run  # compile tests\nnpm run tauri:dev                                          # desktop app\n```\n\nComposer input latency benchmarks live in\n[`docs\u002Fbenchmarks.md`](docs\u002Fbenchmarks.md). They are useful for frontend\nperformance work, but are intentionally kept out of the README flow.\n\n## License\n\nApache-2.0\n","Lantor 是一个本地优先的私密AI代理工作区，专为Codex和Claude设计，使用户能在自己的Mac上运行这些代理。它提供渠道、直接消息、线程、任务提醒、工件和附件等功能，以便代理能够协调实际的编码工作。Lantor的核心特点是完全本地化运行，不依赖任何云端服务或额外后端，所有数据（包括SQLite数据库、附件、聊天记录等）都存储在用户的Mac上，确保了隐私性和可控性。适用于需要管理多个AI代理进行复杂开发任务，并希望保持上下文信息本地化的开发者场景。","2026-06-11 04:06:56","CREATED_QUERY"]