English | 中文
Stop babysitting your local AI agents.
- No new mobile app required; receive timely, secure notifications through existing channels
- Zero-intrusion setup: no hooks, no skills, no MCP, no project changes; scan a QR code and start using it in one step
- Agents run on your local computer, so you can step away while WeChat / Telegram keep you synced on key progress
- Permission approvals, clarifying questions, and failure notifications become actionable mobile events
- Scan a WeChat QR code to receive agent messages; quote a message to continue the matching context automatically
- Use the Telegram console to view all agents, workspaces, and historical sessions
- View local agent session history and agents currently running on this machine
- Lightweight resident process with high performance and low memory use; idle agents are released automatically
macOS / Linux:
curl -LsSf https://github.com/tuchg/Lucarne/releases/latest/download/lucarned-installer.sh | shWindows PowerShell:
powershell -c "irm https://github.com/tuchg/Lucarne/releases/latest/download/lucarned-installer.ps1 | iex"Homebrew (recommended) and release archives
Homebrew:
brew tap tuchg/Lucarne https://github.com/tuchg/Lucarne
brew install lucarnedRelease archives are also available for macOS, Linux, and Windows on x86_64 and aarch64.
lucarned initInitialization guides you through:
- Selecting enabled agents:
claude,codex,copilot,gemini,pi - Configuring a Telegram Bot Token and an entry chat with Topics/thread mode enabled (optional)
- Logging in to WeChat by QR code (optional)
- Generating the config file:
~/.lucarned/lucarned.yaml
lucarned autostart install --startHomebrew service commands (recommended)
brew services start lucarned
brew services restart lucarned
brew services stop lucarnedPlatform notes
lucarned autostart uses native user-level service managers:
- macOS: LaunchAgent
- Windows: Task Scheduler logon task
- Linux: systemd user service
Linux autostart requires systemd user services. Non-systemd Linux can run lucarned manually.
/panel
After the Lucarne panel appears, you can create workspaces, bind agents, resume historical sessions, and approve commands.
lucarned doctor
lucarned paths
lucarned autostart status
lucarned autostart start
lucarned autostart stop
lucarned updateHomebrew service commands
brew update
brew upgrade lucarned
brew services start lucarned
brew services restart lucarned
brew services stop lucarnedmacOS/Linux config: ~/.lucarned/lucarned.yaml
Windows config: %LOCALAPPDATA%\lucarned\lucarned.yaml
Logs: lucarned paths
See the full example at examples/lucarned.yaml.
After initialization, the active config lives at: ~/.lucarned/lucarned.yaml.
You can also override settings with environment variables:
export TELEGRAM_BOT_TOKEN="123456:..."
export TELEGRAM_CHAT_ID="123456789"
export LUCARNE_AUTHORIZED_USER_IDS="111111,222222"See the full command reference at docs/commands.md. This README keeps only the core paths.
- Lucarne pushes agent progress to WeChat.
- Quote a notification and reply; Lucarne automatically restores the matching agent session.
- Continue the conversation with the original context attached.
WeChat quote routing uses two strategies: it prefers message_id, then falls back to a quoted-text hash.
Telegram needs Topics/thread mode for the entry chat. A private chat with the bot can use the bot's own topic mode (Bot API 9.4+ reports this as has_topics_enabled from getMe); use that private chat ID as entry_chat_id. A forum supergroup also works, but is not required.
- Send
/panelin the entry chat. - Tap
Newor send/aNto create an agent workspace. - Enter the workspace topic and assign tasks to agents like a normal chat.
- When an agent asks for permission, tap
[Approve]/[Deny]. - Send
/statusto inspect state,/interruptto stop work, or/forkto branch a session.
Telegram workspaces map to Forum Topics. One project gets one topic; one topic can bind one live agent session.
- Telegram supports every WeChat feature.
┌─────────────┐ ┌─────────────┐
│ Telegram │ │ WeChat │ ← User-facing channels
└──────┬──────┘ └──────┬──────┘
│ │
lucarne- lucarne-
telegram wechat ← Channel adapter (commands, notifications, queues, retries)
│ │
└───────┬────────┘
lucarne-adapter ← Plugin registry
│
lucarne ← Core: runtime bus, control plane, history, daemon
│
agent-sessions ← Provider parse / discovery / watch
│
┌──────┬──────┬──────┬──────┐
Claude Codex Gemini Copilot Pi ← Agent CLI processes
| Capability | Claude | Codex | Gemini | Copilot | Pi |
|---|---|---|---|---|---|
| Reasoning / Thinking | ✅ | ✅ | ✅ | ✅ | ✅ |
| Tool calls | ✅ | ✅ | ✅ | ✅ | ✅ |
| Structured approval | ✅ | ✅ | ✅ | — | ✅ |
| AskUserQuestion | ✅ | ✅ | ✅ | — | — |
| Usage tracking | ✅ | ✅ | ✅ | ✅ | ✅ |
| Interrupt | ✅ | ✅ | ✅ | — | ✅ |
| Resume | ✅ | ✅ | ✅ | — | ✅ |
| Sub-agents | ✅ | ✅ | — | — | — |
| Native commands | ✅ | ✅ | ✅ | — | ✅ |
| Fork (create branched session) | ✅ | ✅ | — | — | ✅ |
git clone https://github.com/tuchg/Lucarne.git
cd agents
cargo +nightly check -Zbuild-dir-new-layout
cargo +nightly test -Zbuild-dir-new-layout- Linux support: installation docs, service management, release packages, and smoke tests
- Windows support: installation docs, background execution, path / process compatibility, and release packages
- Message modes: steer / queue
- Split
agent-sessionsinto an independent crate - Support remote agent environments
- More agent providers: Cursor, opencode, and more
- More channels: Discord, Slack, Feishu, DingTalk, Matrix, QQ, and more
- ....
MIT
Friend link: linux.do
