Lucarne:不用盯着电脑也能掌控 AI Agent,微信/Telegram 远程遥控本地编码助手
你让 Claude Code 跑一个重构任务,去倒了杯咖啡回来,发现它停在权限确认上等了二十分钟。
这是用 AI Agent 编程的日常——Agent 跑在本地,你需要坐在电脑前看着它。Lucarne 解决的正是这个问题:让你通过手机上的 Telegram 或微信,随时收到 Agent 的进展通知,审批操作,甚至继续对话。
这篇文章涵盖什么
- Lucarne 是什么、解决什么问题
- 快速上手流程
- 架构设计和核心实现
- 各 Agent 支持的能力矩阵
- 适用场景分析
Lucarne 是什么
Lucarne 是一个用 Rust 编写的开源(MIT)轻量守护进程,运行在你的电脑上,将本地 AI Agent 的状态实时推送到 Telegram 或微信。
核心原则:零侵入。 不需要修改项目代码,不需要安装 MCP 插件,不需要 Hook Agent 进程。它通过监控 Agent 的会话文件来获取状态,通过 Telegram Bot API 或微信 Web 协议来推送消息。
目前支持 5 个 Agent:Claude Code、OpenAI Codex、Gemini CLI、GitHub Copilot、Pi。
快速上手
安装
macOS / Linux 一行搞定:
curl -LsSf https://github.com/tuchg/Lucarne/releases/latest/download/lucarned-installer.sh | sh
macOS 也可以用 Homebrew:
brew tap tuchg/Lucarne https://github.com/tuchg/Lucarne
brew install lucarned
Windows PowerShell:
powershell -c "irm https://github.com/tuchg/Lucarne/releases/latest/download/lucarned-installer.ps1 | iex"
初始化
lucarned init
交互式引导你完成:
- 选择启用的 Agent(claude / codex / copilot / gemini / pi)
- 配置 Telegram Bot Token(可选)
- 扫微信二维码登录(可选)
- 生成配置文件
~/.lucarned/lucarned.yaml
启动后台服务
lucarned autostart install --start
这会注册为系统级守护进程——macOS 用 LaunchAgent,Linux 用 systemd user service,Windows 用 Task Scheduler。Agent 空闲时自动释放资源。
移动端操作
Telegram 方式:在入口聊天中发送 /panel,打开多 Agent 控制台。可以创建工作区(映射为 Forum Topic)、分配任务、审批权限、查看状态、中断或 fork 会话。
微信方式:Agent 推送进展通知到微信。你引用某条通知消息并回复,Lucarne 自动匹配到原始 Agent 会话,恢复上下文继续对话。
架构设计
Lucarne 采用分层架构,从下到上分为 Agent 层、核心层、适配层和通道层:
┌─────────────┐ ┌─────────────┐
│ Telegram │ │ WeChat │
└──────┬──────┘ └──────┬──────┘
│ │
lucarne-telegram lucarne-wechat
│ │
└───────┬────────┘
lucarne-adapter
│
lucarne (core)
│
agent-sessions
│
┌──────┬──────┬──────┬──────┐
Claude Codex Gemini Copilot Pi
整个项目是一个 Rust Workspace,包含 8 个 crate:
| Crate | 职责 |
|---|---|
lucarned |
守护进程入口,健康检查,onboarding |
lucarne |
核心:Runtime Bus、Session 管理、Control Plane、History |
lucarne-adapter |
适配器注册表 |
lucarne-channel |
通用通道抽象 |
lucarne-telegram |
Telegram Bot 适配,Forum Topic 工作区 |
lucarne-wechat |
微信适配,QR 码登录,引用路由 |
lucarned-ctl |
CLI 控制工具 |
agent-sessions |
各 Agent 的会话文件解析器 |
核心实现细节
文件监控而非进程注入
Lucarne 不注入 Agent 进程,而是通过 watch 模块监控 Agent 的会话文件。Claude Code 写 .jsonl 日志,Codex 写 JSON 文档,Lucarne 实时读取这些文件的变化,解析出结构化事件(thinking、tool call、tool result、usage 等),转化为统一的 WatchEvent 流。
Provider 抽象
AgentProviderDescriptor 用函数指针定义了每个 Agent 的发现、解析、监控行为:
default_roots— 会话文件默认存放路径discover_sources— 发现会话文件parse_source_meta— 解析会话元数据parse_agent_session_bytes— 解析完整会话内容parse_watch_reader— 增量解析文件变化
每个 Provider 通过 feature flag 按需编译,不用的 Agent 不会增加二进制体积。
Dialect 协议层
Dialect trait 将各 Agent CLI 的 stdio 协议统一为 OutFrame。当 Lucarne 直接启动 Agent 子进程时(而非只监控文件),通过这个协议层进行双向通信,实现任务下发和输出捕获。
微信引用路由
微信没有 Telegram 那样的 thread/topic 机制,Lucarne 用了一个巧妙的方案:用户引用推送消息并回复时,系统通过 message_id 或 quoted-text hash 匹配到原始 Agent 会话,自动恢复上下文。两级策略:优先用 message_id 精确匹配,fallback 到文本哈希模糊匹配。
权限审批
Agent 发起危险操作(文件删除、命令执行等)时,Lucarne 将其转化为 ApprovalRequest 推送到手机。Telegram 上是 [Approve] / [Deny] 按钮,微信上是文本指令。审批结果回传给 Agent,整个过程对 Agent 本身透明。
Agent 能力矩阵
| 能力 | Claude | Codex | Gemini | Copilot | Pi |
|---|---|---|---|---|---|
| 推理/思考过程 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 工具调用 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 结构化审批 | ✅ | ✅ | ✅ | — | ✅ |
| 向用户提问 | ✅ | ✅ | ✅ | — | — |
| 用量追踪 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 中断会话 | ✅ | ✅ | ✅ | — | ✅ |
| 恢复会话 | ✅ | ✅ | ✅ | — | ✅ |
| 子 Agent | ✅ | ✅ | — | — | — |
| Fork 会话 | ✅ | ✅ | — | — | ✅ |
Claude Code 和 Codex 的支持最完整,Gemini 次之,Copilot 目前功能最少。
技术栈
- Rust — 全栈实现,零运行时依赖
- Tokio — 异步运行时(multi-thread + process + io-util)
- Rusqlite — 本地 SQLite 存储会话状态
- Reqwest — HTTP 客户端,用于 Telegram Bot API
- Serde — JSON/YAML 序列化
- Release 编译优化:
opt-level="z"+ LTO +panic=abort+strip=true
最终二进制体积小、内存占用低,适合作为长期常驻的后台服务。
适合谁用
- 重度 Agent 用户:天天跑 Claude Code / Codex,不想被绑在电脑前
- 需要审批场景:Agent 经常执行危险命令,需要人工确认
- 多 Agent 并行:同时跑多个 Agent,需要一个统一的移动端控制台
- 团队协作:通过 Telegram Forum Topic 给不同项目分配独立工作区
和其他方案的差异
相比 Cockpit、Claude Code 的官方远程方案,Lucarne 的独特之处在于:
- 不依赖特定 Agent 的远程功能——它是独立的中间层,任何支持的 Agent 都能用
- 微信支持——目前市面上几乎没有支持微信推送的 Agent 管理工具
- 纯本地运行——不经过第三方服务器,你的 Agent 会话数据不会上传
路线图
项目正在快速迭代,已规划的功能包括:
- 更多通道:Discord、Slack、飞书、钉钉、Matrix、QQ
- 更多 Agent:Cursor、OpenCode
- 消息模式:steer / queue
- 远程 Agent 环境支持
agent-sessions独立为通用 crate
作者: itech001
来源: 公众号:AI人工智能时代
网站: https://www.theaiera.cn/
每日分享最前沿的AI新闻资讯和技术研究。
本文首发于 AI人工智能时代,转载请注明出处。

浙公网安备 33010602011771号