V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
yanceyofficial
V2EX  ›  分享创造

做了一个代理 OpenClaw 常驻菜单栏的浮动 AI 助手

  •  
  •   yanceyofficial · 11 天前 · 488 次点击

    Talon 是一款常驻 macOS 菜单栏的浮动 AI 助手,基于 OpenClaw 网关驱动。它悬浮在所有桌面 Space 的右下角,支持同时管理多个 AI Agent 会话,并在后台会话有新消息时自动切换和推送通知。

    GITHUB: https://github.com/YanceyOfficial/talon


    功能特性

    • 常驻浮层 — 透明窗口,始终置顶,显示在所有 macOS Space 上
    • 动态 Avatar — 基于 Lottie 的动画,含空闲 / 思考 / 回复 / 报错多种状态
    • 完整聊天记录 — 可展开的独立窗口,支持 Markdown 、KaTeX 数学公式、代码高亮
    • 多 Agent 会话 — 创建专属任务会话(如「 A 股早报」「邮件监控」),互相隔离
    • 自动切换 — 每 10 秒轮询,有新回复的会话自动切换到前台
    • 桌面通知 — 后台会话收到新消息时推送系统通知
    • 工具调用可见 — 在聊天记录中完整展示每一次工具调用与返回结果
    • 隐私优先 — 所有数据通过 Tauri Store 本地存储,需自行部署 OpenClaw 网关

    前置条件

    Talon 是 OpenClaw AI 网关的桌面客户端,使用前需要先在本机(或可访问的远端机器)运行 OpenClaw 。

    安装 OpenClaw

    curl -fsSL https://openclaw.ai/install.sh | bash
    

    或访问 openclaw.ai 查看其他安装方式。

    启动 OpenClaw 网关

    openclaw gateway
    

    默认在 ws://localhost:18789 启动 WebSocket 服务。


    安装 Talon

    直接下载(推荐)

    Releases 页面下载最新的 .dmg 文件,打开后将 Talon 拖入「应用程序」文件夹即可。

    从源码构建

    环境要求:Rust 工具链、Node.js ≥ 18 、pnpm

    # 安装依赖
    pnpm install
    
    # 开发模式(热更新)
    pnpm tauri dev
    
    # 打包正式版 → src-tauri/target/release/bundle/
    pnpm tauri build
    

    macOS 提示「已损坏,无法打开」

    由于 Talon 尚未通过 Apple 开发者证书签名,下载后 macOS Gatekeeper 可能会弹出无法打开的错误:

    方法一:移除隔离属性(推荐)

    打开终端,执行:

    sudo xattr -r -d com.apple.quarantine /Applications/Talon.app
    

    之后正常启动 Talon 即可。

    方法二:通过系统设置放行

    1. 尝试打开 Talon ,macOS 会拦截并弹出提示。
    2. 打开系统设置 → 隐私与安全性
    3. 在「安全性」区域找到 Talon 的拦截记录,点击「仍要打开」
    4. 在弹出的确认框中再次确认。

    macOS Sequoia ( 15+)可能不显示「仍要打开」按钮,请使用方法一。


    初次使用配置

    点击主面板右上角的齿轮图标,或右键菜单栏图标选择「 Settings 」,进入设置窗口,切换到 Connection 标签页。

    1. 填写 Gateway URL — 默认为 ws://localhost:18789,如果 OpenClaw 部署在其他机器,填写对应的地址。
    2. 填写 Gateway Token — OpenClaw 的认证 Token 。
    3. 点击 Save Changes
    4. 在部署了 OpenClaw 的机器上执行设备授权:
      openclaw devices approve
      
    5. 重启 Talon — 重启后将自动完成连接。

    使用说明

    操作 方式
    显示 / 隐藏窗口 点击菜单栏 Talon 图标
    发送消息 在输入框输入后按 Enter
    展开完整聊天记录 点击气泡右上角展开图标(↗)
    切换 Agent 会话 设置 → Agents → 点击对应会话的 Switch
    新建 Agent 会话 设置 → Agents → New Agent
    删除 Agent 会话 设置 → Agents → 选中会话 → Delete

    技术栈

    层级 技术
    前端 React 19 + TypeScript + Vite
    桌面壳 Tauri 2.0 ( Rust )
    样式 Tailwind CSS 4.x + shadcn/ui ( Radix UI )
    动画 DotLottie
    AI 后端 OpenClaw WebSocket 网关
    认证 Ed25519 密钥对签名
    持久化 @tauri-apps/plugin-store

    开发命令

    pnpm dev            # 仅启动 Vite 开发服务器
    pnpm tauri dev      # Tauri + Vite 完整开发模式(含热更新)
    pnpm build          # 构建前端
    pnpm tauri build    # 打包 .app / .dmg
    pnpm format         # Prettier 格式化(含 import 排序和 Tailwind class 排序)
    pnpm lint           # ESLint + TypeScript 检查
    

    推荐开发环境

    VS Code + 插件:

    目前尚无回复
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1182 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 17:34 · PVG 01:34 · LAX 10:34 · JFK 13:34
    ♥ Do have faith in what you're doing.