一天一个开源项目(第63篇):lil agents - 住在 macOS Dock 上的迷你 AI 伙伴

0 阅读6分钟

引言

“Tiny AI companions that live on your macOS dock.”

这是「一天一个开源项目」系列的第 63 篇文章。今天介绍的项目是 lil agentsGitHub)。

很多人把 AI 编程助手放在 IDE 里(Cursor / VSCode 插件),或者放在终端里(Claude Code / Codex / Gemini CLI)。但有时候你只想“随手点一下就能问一句”,而不是切窗口、开新 Tab、找对命令。lil agents 的思路很轻:把两个小角色(Bruce / Jazz)放在 macOS Dock 上方来回走动,点击角色就弹出一个带主题的 AI 终端,并且能在 menubar 里一键切换不同的 AI CLI(Claude、Codex、Copilot、Gemini)。

它更像一个“桌面小挂件”:不替代你现有的 CLI,而是把它们变得更“随手可用”、更有情绪价值。

你将学到什么

  • lil agents 的产品定位:用“桌面角色 + popover 终端”把 CLI 体验变轻
  • 支持的 AI CLI:Claude Code / OpenAI Codex / GitHub Copilot CLI / Google Gemini CLI 的切换方式
  • 交互细节:主题、slash commands、复制按钮、thinking bubbles、音效、onboarding
  • 隐私与边界:本地运行、对话由所选 CLI 进程处理、更新机制会发送哪些信息
  • 面向开发者的构建方式:Xcode 打开工程直接运行

前置知识

  • 你在 macOS 上使用过至少一种 AI CLI(Claude Code / Codex / Copilot / Gemini CLI)
  • 了解基本的终端安装方式(npm / brew / curl 脚本)
  • 如果要自己构建:会用 Xcode(可选)

项目背景

项目简介

lil agents 是一个 macOS 应用:在 Dock 上方渲染两个小角色,让你通过点击角色打开一个“AI 终端 popover”。它不直接提供模型服务,而是把你本机安装的 AI CLI(Claude Code、Codex、Copilot CLI、Gemini CLI)作为后端能力,提供更轻便、更具玩味的桌面交互方式。

从 README 的措辞你能明显感觉到它在追求一种体验:角色会走路、会“思考”、会“vibe”。对很多开发者来说,这类“轻交互 + 低打断”的工具,反而更容易融入日常。

作者/团队介绍

  • 作者:Ryan Stephen(仓库维护者)

项目数据

  • ⭐ GitHub Stars: 909
  • 🍴 Forks: 0(以 GitHub 页面展示为准)
  • 📦 版本:持续更新中(以 Releases 为准)
  • 📄 License: MIT
  • 🌐 官网/下载:https://lilagents.xyz

主要功能

核心作用

把“终端里的 AI CLI”变成“随手点一下就能聊的桌面组件”:

  • Dock 上方常驻:小角色在 Dock 上方行走,存在感很轻
  • 点击即用:点击角色弹出 AI 终端 popover(带主题)
  • 多 CLI 一键切换:Claude / Codex / Copilot / Gemini 在 menubar 切换
  • 补齐交互细节:slash commands、复制按钮、thinking bubbles、音效、onboarding

使用场景

  1. 碎片化提问

    • 写代码时突然想问一句 API 用法/报错含义,点一下就问,不用切到大窗口。
  2. 多模型/多 CLI 对照

    • 同一个问题在 Claude Code / Codex / Gemini 上各问一次,快速对比输出风格。
  3. 把“状态”做得更可感知

    • thinking bubbles + 音效,让“AI 在工作”这件事更具反馈感。
  4. 轻量桌面工作流

    • 你不想把聊天塞进 IDE,也不想一直开终端窗口:popover 形态很合适。

快速开始

先安装任意一个支持的 CLI(至少一个)。以下命令来自项目 README:

# Claude Code
curl -fsSL https://claude.ai/install.sh | sh

# OpenAI Codex
npm install -g @openai/codex

# GitHub Copilot CLI
brew install copilot-cli

# Google Gemini CLI
npm install -g @google/gemini-cli

然后在 https://lilagents.xyz 下载 macOS 版本并运行。

核心特性

  1. Dock 上的动画角色

    • 透明 HEVC 视频渲染动画角色,走动自然且不占太多 UI 空间。
  2. Popover 终端交互

    • 点击角色打开一个带主题的 AI 终端 popover。
  3. Menubar 切换引擎

    • 在 Claude、Codex、Copilot、Gemini CLI 之间一键切换。
  4. 主题系统

    • Peach、Midnight、Cloud、Moss 四种视觉主题。
  5. Slash Commands

    • 在输入框支持 /clear/copy/help
  6. 复制体验优化

    • 标题栏提供“复制上一条回复”按钮。
  7. 反馈与情绪化细节

    • thinking bubbles(工作时的气泡短句)+ 完成音效 + 首次引导。
  8. 自动更新

    • 通过 Sparkle 实现自动更新。

项目优势

对比项lil agents纯终端 CLIIDE 内置聊天
入口成本✅ 点击即聊⚠️ 需要切到终端/命令✅ 快捷键/面板
打断程度✅ 低(popover)⚠️ 中(窗口/Tab)⚠️ 中(IDE 焦点变化)
多 CLI 切换✅ menubar 一键⚠️ 手动切换命令/环境⚠️ 受 IDE/插件限制
情绪化反馈✅ 角色/气泡/音效❌ 基本没有⚠️ 有但偏严肃
隐私边界✅ 本地 App,不收集项目数据✅ 依 CLI 而定⚠️ 依产品实现而定

为什么选择它?

  • 你已经在用 AI CLI,但想要一个更“随手”的入口
  • 你需要快速切换不同 CLI/模型对照输出
  • 你喜欢“轻工具 + 轻交互”的桌面工作流

项目详细剖析

交互设计:把 CLI 变成桌面小挂件

lil agents 的关键不在于“又一个 Agent 框架”,而在于把交互入口做到了 Dock 附近:

  • Dock 是 macOS 用户最频繁扫视的位置之一
  • 角色动画提供了“在线/工作”的存在感
  • popover 让对话不抢占屏幕主空间

依赖策略:本机 CLI 作为能力层

它支持的不是“某个模型”,而是“某类 CLI”:

  • Claude Code(安装脚本)
  • OpenAI Codex(npm 全局包)
  • GitHub Copilot CLI(brew)
  • Google Gemini CLI(npm 全局包)

这种设计的好处是:lil agents 不需要管理 provider API key 的差异化逻辑(至少对外表现如此),而是把“对话”和“鉴权/计费/条款”交回给你选择的 CLI 与 provider。

隐私与数据边界

项目在 README 中明确了隐私边界:

  • 应用本身不收集/上传你的项目数据、文件路径或聊天内容
  • 对话由你选择的 CLI 进程处理,发送给 provider 的内容遵循各自条款
  • 更新检查通过 Sparkle,仅发送 app 版本与 macOS 版本

如果你在团队环境落地,建议把“各 CLI 的企业合规要求”和“provider 侧的数据策略”单独作为评估项。

构建方式

项目提供了非常直接的开发者路径:

  • 用 Xcode 打开 lil-agents.xcodeproj,点击 Run 即可。

项目地址与资源

官方资源

相关资源

适用人群

  • 想把 AI CLI 变成“随手点一下就能用”的 macOS 开发者
  • 喜欢桌面小工具、状态可视化与轻交互的用户
  • 需要在多个 AI CLI 之间快速切换、对照输出的重度使用者

欢迎来我中的个人主页找到更多有用的知识和有趣的产品