[分享] CallRabbit:本地优先的 AI Agent 桌面平台(开发内测中)
最近折腾了一段时间,把自己日常用的一套「本地 AI 工作台」整理成了一个桌面应用,叫 CallRabbit,主要目标是:
让 AI 不只是聊天,而是能像一个「可编程助手」那样,真正替你干活。
一句话概括:
桌面端 + 多模型 + 工具调用 + Agent + 记忆系统 + 自我学习规划决策,完全本地可控。
本地应用例子:
最新进展:
P1:
p2(内测阶段,全网都在养虾,这里一键0帧上手领一只兔子来养虾~hahaha)
为什么做这个项目?
这两年各种 AI 聊天网页、客户端很多,但我实际用下来一直有几个痛点:
- 只能聊天,很难直接操作本地环境(文件、命令、定时任务之类)
- 基本没有像样的「记忆系统」,每次都要重复描述背景
- 多模型、多供应商切换不方便,本地模型和云端模型很难统一在一个界面里用
- 一些客户端是闭源的,数据怎么流转、权限怎么控制看不见
所以就动手做了 CallRabbit,希望满足这些需求:
- 以桌面应用为载体,本地优先,数据默认留在本机
- 有完整的工具系统,让 AI 能真正执行任务
- 有记忆和「自学习」机制,越用越懂你
- 开源,可扩展,可自己改
CallRabbit 是什么?
CallRabbit 是一款跨平台的本地 AI Agent 桌面应用,目前支持 Windows / macOS / Linux。
核心能力大致包含:
- 多家模型供应商和本地模型的统一接入
- 可配置的 Agent(相当于不同角色的「小助手」)
- 内置 30+ 工具(Shell、文件、网络、消息通知等)
- 长期记忆和偏好学习
- 细粒度的权限控制和操作审计
你可以把它理解成一个「本地 AI 中控台」,平时所有跟 AI 相关的事情尽量都在这一个入口完成。
主要特性概览
1. 多模型统一管理
- 支持接入:OpenAI / Claude / DeepSeek / Ollama / 以及任意 OpenAI 兼容端点
- 前端一键切换模型和供应商,无需改配置文件
- 本地模型(通过 Ollama)可以完全离线运行,数据不出本机
2. Agent 中心:你的 AI 小团队
- 可以创建任意数量的 Agent,每个 Agent 有独立的:
- 角色提示词(系统指令)
- 技能组合(可以使用的工具集合)
- 执行策略和头像
- 在聊天窗口中可直接
@AgentName召唤指定 Agent - 支持多 Agent 协作完成复杂任务(例如:一个负责查资料,一个负责写总结)
3. 工具系统:让 AI 真正「动手」
目前内置了 30+ 工具,大致分为几类:
- 网络相关
- 网页抓取(读取网页内容)
- 截图
- 打开 URL
- 文件相关
- 读取文件
- 写入文件
- 列出目录
- 文件内容搜索
- 系统相关
- 执行 Shell 命令
- 查询系统信息
- 桌面通知
- 调度相关
- 创建/列出/取消定时任务(支持
5s、10m、every 30s等)
- 创建/列出/取消定时任务(支持
- 记忆相关
- 保存、搜索、删除长期记忆
- 第三方平台
- 钉钉 / 飞书 / Slack / Discord / Telegram 消息发送
这些工具都是通过一个「工具调用层」暴露给模型,模型可以自动选择是否调用,每次调用都会在 UI 里有可展开的记录,方便追踪。
4. 记忆系统与自学习
CallRabbit 内部有一个多层次的记忆结构:
conversation:当前会话上下文session:近期交互摘要semantic:从对话中抽取出来的长期知识user_profile:你的偏好和习惯(比如你常用的技术栈)global:通用事实类信息
特性:
- 支持全文搜索和筛选
- 会根据 Token 预算智能选取相关记忆注入上下文
- 支持 TTL 过期清理,避免数据库无限膨胀
同时,内置一个简单的「自学习」机制,会定期从对话中抽取关键信息写入记忆层,让系统慢慢更了解你。
5. 安全与权限控制
由于 CallRabbit 可以执行 Shell、读写文件,所以安全必须放在前面:
- 三档全局策略:
- 允许全部工具
- 逐一询问确认
- 拒绝全部工具
- 精细到单个工具级别的规则配置
- 工具调用需要审批时,若超过一定时间未处理则自动拒绝
- 所有工具调用都有完整审计日志
- API Key 等敏感信息本地加密存储,不经过任何第三方服务器
界面与交互体验
UI 尽量做得既简洁又有一点「工作台」的感觉。主要页面包括:
- 聊天:多会话管理、工具调用折叠面板、流式输出
- Agent 中心:创建 / 管理不同 Agent
- 技能(Skill):管理技能包和技能市场(社区技能)
- 角色(Role):预设不同人格,如编程助手、文案助手、数据分析师等
- 记忆:浏览、搜索和管理长期记忆
- 集成:配置钉钉、飞书、Slack 等平台
- 安全:工具权限规则配置
- 模型配置:供应商、API Key、默认模型等
- 设置:主题、语言、学习策略等偏好
支持浅色 / 深色 / 跟随系统三种模式,以及多套主题色预设。
动态超时与任务复杂度估算
在实际使用中,有的请求很轻量(聊两句),有的请求很重(分析长文档、跑一堆工具)。
CallRabbit 会根据你的输入自动估算「任务复杂度」,动态调整:
- Agent 的最大迭代轮次(上限 30 轮)
- 单次任务的超时时长(上限 600 秒)
简单说:
- 字数多、要求「详细分析」「完整报告」之类的,会自动给更多轮次和时间
- 包含「执行」「安装」「部署」「搜索」等关键词的任务,也会适当放宽时间
你不需要手动调参数,但需要的话也可以在配置里自己改。
快速体验(以 Linux 为例)
环境要求
- Node.js ≥ 18
- pnpm ≥ 8
规划
等看看实际情况再进行开源哈
初次配置流程
- 启动应用,进入左侧「模型配置」
- 添加你的模型供应商(OpenAI / Claude / DeepSeek / Ollama 等)
- 填写对应的 API Key / 本地端点
- 设置默认模型
- 回到聊天页面,就可以开始用了
适用场景举例
- 个人效率:查资料、写说明、整理文档、自动执行本地脚本
- 开发者:代码阅读、调试、运行测试、部署脚本、日志分析
- 团队协作:通过钉钉/飞书等平台让 Agent 自动推送日报/周报
- 研究 / 学习:多 Agent 协作做文献检索、数据分析和报告生成
- 内容创作:借助角色系统和记忆,让输出风格更统一
现状与计划
当前状态:
- 基础功能已经可用:多模型、多 Agent、工具系统、记忆系统、权限控制等
- 已在 Windows / macOS / Linux 上日常使用了一段时间
后续计划(欢迎一起讨论):
- 更友好的插件化机制,让大家更容易写自己的工具 / 技能
- 更丰富的技能市场(Skill Hub)
- 更细粒度的记忆可视化和调试工具
- 针对特定场景的预设模板(例如「代码审查模式」「运维助手模式」)
最后
感谢阅读我的这些想法,这个作品目前处于“自我开发”阶段中哦






