关于 Recued
Recued 是可自托管的服务端与 Web 客户端,用作 AI 与邮件、日历、文件及账户之间的受控中介,适合希望将数据和密钥留在自己设备或服务器上的个人与组织。它支持 MCP Agent、聊天和定时或事件触发的配方,并默认要求批准写入或删除操作。
主要功能
- 01按 Agent 合约授权工具
- 02写入或删除操作默认需批准
- 03在自有服务器保存账户密钥
- 04本地保存邮件、联系人和 CRM 记录
- 05通过配方运行定时或事件任务
- 06向模型提供数据前替换个人信息
适用场景
- 01让 AI Agent 在审批机制下操作账户
- 02定时处理邮件或新记录触发的任务
- 03通过聊天查询保存的业务记录
- 04编排涉及 API、CLI 或 SaaS 的固定流程
MCP 相关
AI Agent 可使用合约密钥通过 MCP 连接,并只能调用合约允许的工具。Recued 也可通过 MCP 提供配方;每次调用都会经过权限检查、记录和审批门控。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://{recued_host}/mcpclaude mcp add --transport http com-recued-recued https://{recued_host}/mcp{"mcpServers":{"com-recued-recued":{"type":"http","url":"https://{recued_host}/mcp"}}}在 Cursor 中打开{"servers":{"com-recued-recued":{"type":"http","url":"https://{recued_host}/mcp"}}}在 VS Code 中打开{"mcpServers":{"com-recued-recued":{"type":"http","url":"https://{recued_host}/mcp"}}}{"mcpServers":{"com-recued-recued":{"serverUrl":"https://{recued_host}/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://{recued_host}/mcp需要授权工具
详细介绍
Recued
Recued 是一个由你自行运行的服务。它位于 AI 和你的账户之间。 你的邮件、日历、文件和 CRM 记录都保留在你掌控的机器上。
它有两种工作方式。你已在使用的 AI Agent 可以通过 MCP 接入, 遵循一份明确列出它可以执行哪些操作的契约。或者由 Recued 自己完成工作:你 可以在它的聊天中提出请求,也可以让配方按计划运行,或在事件发生时运行。 无论哪种方式,每项操作都会经过同一道关卡。默认情况下,任何写入或 删除操作都要等你确认。
Recued 不会取代你使用的 AI。Claude、ChatGPT、Codex 或本地 模型仍负责思考。Recued 是这些思考与你的数据和账户相遇的地方, 并遵循你设定的规则。这就是它所处的位置:你与 AI 之间。
这个仓库包含完整的可自托管服务和网页客户端。它 也包含构建它们所用的工作区包。
Recued 作为网关
- 每个 Agent 都有专属入口。 你可以为每个 AI Agent 创建一份契约:Claude、 Codex、OpenClaw 或你自己的 Agent。契约会列出该 Agent 可以使用的工具。 Agent 使用契约密钥通过 MCP 连接。
- 每次调用都要过一道关。 关卡会先检查契约,并在调用会写入数据时征求 你的同意。它会记录调用,然后才执行。未知的调用方会被拒绝。一个开关即可 暂停所有操作。
- 高风险操作须经你同意。 默认情况下,任何写入、发送 或删除操作都要等你确认。你可以批准单项操作、批量操作或整个会话。
- 密钥留在本地。 你的账户密钥保留在自己的服务上,或交由 你选择的代理管理。Recued 的云端绝不会保存这些密钥。Agent 只能使用 契约授予的工具,永远拿不到这些工具背后的密钥。
Recued 自己执行任务
- 向它提问。 Recued 有自己的聊天功能:可在网页应用中使用,也可通过电子邮件、 Slack 和 Telegram 使用。它会优先根据你保存的记录作答。像“玛雅的电子邮件地址 是什么?”这样的查询完全不需要 AI。当问题确实需要 AI 时,Recued 会替换掉个人详细信息,并附上相关事实,让模型在开始回答前就能获取这些信息。 在演示中回放玛雅的问题。
- 让它自动运行。 配方是 Recued 自行执行的一项任务,可按计划运行, 也可在事件发生时运行。有关包裹、账单、预订、订单或潜在客户的邮件都可以 触发配方。新记录也可以。只有确实需要判断时,它才会调用模型。
- 同一道关卡。 Recued 自己的任务与外部 Agent 一样,都要经过同一道关卡。默认 情况下,写入或删除数据的步骤仍要等你确认。
Recued 不是什么
- 不是编码 Agent。
- 不是通用聊天应用。它的聊天功能是为你自己的记录和账户设计的。
- 不是用于运行
SKILL.md文件的执行器。Recued 无法运行这些文件。 - 不适合需要长时间、多步骤才能完成的开放式问题。
Recued 是什么
- 一个服务,一个所有者。每个 Recued 服务都独立运行,代表一个人或一个组织(公司、团队、家庭等)。
- 它可以连接任何提供商和任何 API,也能让你的命令行工具可供访问。
- 任何 AI Agent 都能通过 MCP 连接:Codex、Claude、OpenClaw 和其他 Claw 变体,或你自己的 Agent。
- 它会在本地保存邮件、联系人和 CRM 记录的副本,因此读取速度很快。
- 在 AI 看到你的任何仓库数据之前,它会尝试替换其中的个人信息,包括姓名、电子邮件、组织、电话号码和地址,并用安全的替代信息取而代之。这就是 PII 别名。它会尽力做好,安全可靠,而且可以还原。替代信息仍会显示区域(城市、州、国家),也会显示哪些人员和地点属于同一组织,让模型能够据此推理。
- 它会加密静态数据(即存储在磁盘上的数据)。24 词恢复密钥是唯一的访问途径。
- 没有第三方从中插手。没人从你的收入中抽成,也没人转发你的数据。
- 它适用于任何 AI 提供商,无论是托管式还是本地提供商。你有两个默认槽位,另外还有一个可轮换使用的额外提供商槽位池,数量不限。
- 每项有风险的操作都可以设置门控,只有你确认后才会执行。
- 免费运行,不会锁定任何功能。
安装
只需一条命令。它会获取适用于你平台的已签名二进制文件,也就是带有标记的程序文件,让你确认它确实来自 Recued。安装程序会用发布密钥验证它,将 recued 放到你的 PATH 中,这样你就能在任何位置运行它。它还会将其设置为在你登录时启动。
# Linux and macOS
curl -fsSL https://recued.com/install.sh | sh
# Windows — in PowerShell
irm https://recued.com/install.ps1 | iex
安装程序也会启动服务。因此,安装完成时服务已经在运行。要配对浏览器,请运行 recued pair。它会输出配对码和 Web 客户端链接。打开链接并输入配对码。如果在该终端中找不到 recued,请打开一个新终端。
不希望它在登录时启动?请将 RECUED_AUTOSTART=0 放在 sh 前面:
curl -fsSL https://recued.com/install.sh | RECUED_AUTOSTART=0 sh。要是放在 curl 前面,只有 curl 能看到它。在 PowerShell 中,先单独运行一行 $env:RECUED_AUTOSTART=0,然后手动运行 recued serve 启动服务。它会输出配对码。安装位置、发布渠道及其他选项见 INSTALL.md。
无头 Linux 设备没有屏幕或桌面环境。在这类设备上,开机启动需要 root,也就是管理员账户。请使用 sudo 运行安装程序,配对时也使用 sudo。安装程序会输出准确的命令。原因如下:没有桌面密钥环时,只有一种方法可以将密钥文件绑定到这台机器上。该方法需要读取只有 root 才能读取的主机密钥。Linux 桌面会话会安装用户级单元,无需 root。
Pack
Pack 是一个 JSON 文件,用来说明如何连接任何资源:CLI、SaaS、REST API 或 MCP。你可以为每项操作设置权限。默认情况下,每项写入、管理和破坏性操作都需要你手动批准。现成的 pack 可在 https://recued.com/packs 免费获取。你可以使用内置编辑器创建自己的 pack,也可以直接用 JSON 编写。
SKILL.md 和配方
技能会告诉模型如何处理某件事。模型会在运行时决定每个步骤。配方则是具体的步骤,以 JSON 编写,并在运行前固定下来。服务会执行配方,只有在确实需要判断的地方才会调用模型。
它们并非相互排斥。Recued 通过 MCP 提供配方。因此,负责判断今天早上值得看看什么的技能可以把工作交给配方。唯一的问题是,一项工作中的哪一部分该交给哪一方。
一个实践示例
每周一早上:从 Google Trends 获取上周搜索热度上升的词条,然后判断是否有值得围绕它们销售的商品。
难点在第一步,而且这不是查询。趋势搜索词提到的是人物、队伍和赛事:bmw championship payout、chapecoense vs são paulo、hurricanes weather。这些都不是商品。高尔夫锦标赛意味着手套和测距仪;风暴意味着电池供电的灯笼。而且很多词条根本不值得关注。判断这一点需要判断力。这是这项工作中模型必须完成的唯一部分。后续都是简单的数学运算:查询商品目录,了解每个关键词能卖什么;查出这些点击的竞价成本;做减法;排序。
按步骤计算,这一流程有 36 步,其中两步会调用模型。一次调用将趋势词条转化为商品关键词,另一次调用撰写采购简报。两次调用之间的所有操作,对于相同输入始终会给出相同答案。这类工作不需要上下文窗口(模型的工作记忆)。619KB 的导出文件、110 次商品目录获取,以及它们返回的 1,249 行商品数据,都不会进入上下文窗口。按照设计,两次模型调用的规模都是固定的。因此,无论模型选出 32 个还是 58 个关键词,输入端都保持在约 3,000 个 token。Token 是模型计数的文本小片段。即使给它一个 6MB 的导出文件和一个包含 10,000 件商品的目录,这个数字也不会改变。
把同一项工作做成技能,并不是故意设置一个较弱的版本来衬托对比。最强的版本根本不会读取导出文件。给 Agent 一个 shell,它就能直接把文件获取到磁盘。然后用随附脚本解析。因此,这些字节不会进入上下文窗口,接收它们也无需花费任何成本。但看看它变成了什么:一个套着自然语言外壳的程序。它需要自己的密钥、重试机制和速率限制;需要一个存放文件的地方;还需要一种在周二运行的方式,因为那时没人会开启会话。Recipe 就是这个程序,只不过运行在一个早已具备这些条件的服务器上。
完整说明见 examples/。其中包含 Recipe 本身,也包含盲写的对照技能;说明了哪些内容是真实的,哪些是模拟的;还讲述了提示词中的一句话写错后发生了什么。
在 Recued 上可以为日常生活和业务做什么
- 通过公开接待页面接受预订、预约、大文件上传和自定义信息收集表单。
- 使用 AI 回答有关产品的问题。答案会以你导入的知识和问答内容为依据。
- 通过 Stripe 销售。
- 对你发布的 MCP 工具按订阅或使用量收费。
- 对你通过 LLM 网关提供的知识按订阅或使用量收费。
- 快速制作原型,将创意变成可用的应用。
- 随心扩展 Recued。编写自己的 packs 和 recipes,或从 Recued Marketplace 安装免费内容。
具体示例
我构建了一些真实的业务应用,展示 Recued 能做什么:
- Ledger Book:会计、复式记账、预算和记录。
- Fleet Money:分配工作并支付工作人员报酬,涵盖从报价到结算的全过程。
- Queue Desk:取号排队。访客在公开的接待表单中选择服务类型,就会获得一个号码和一个链接,用来查看前面还有多少人。工作人员可通过任意配对设备呼叫下一位。
- DeepTutor Records:教育和辅导领域的订阅业务。它管理学生、测评、答案、材料和成绩单。其中包含九个开箱即用的工作流,可用于为学生注册、发送测评、收集答案和评分。生成问题需要 DeepTutor pack。它在你自己的计算机上运行。更改数据的操作会使用 Recued 的审批控制。DeepTutor 是 HKUDS 的开源项目。
- Rental Book:房产、房东、分类账和记录。
- Federated Projects:项目管理、联合协作、记录和工作实体。它展示了多个 Recued 服务如何通过 Federated Project Peer 联合起来协同工作。
- Social Publishing:安排向 Mastodon、X、Facebook 和 Bluesky 发布帖子。
文档
https://recued.com/docs 介绍如何安装、配对和连接,也涵盖配方和 pack 的编写、发布、AI 聊天和 MCP,以及架构参考。
本仓库中的文档:
- INSTALL.md:如何安装发行版、发行版选项,以及如何从克隆版本构建
- ARCHITECTURE.md:代码的组织方式
- CONTRIBUTING.md:构建、测试和提交拉取请求
从源代码运行
在 Linux 和 macOS 上:
npm ci
npm run build
npm run build:server
npm run build:webclient
RECUED_WEBCLIENT_DIR="$PWD/apps/webclient/build" npm start
在 Windows 的 PowerShell 中:
npm.cmd ci
npm.cmd run build
npm.cmd run build:server
npm.cmd run build:webclient
$env:RECUED_WEBCLIENT_DIR = "$PWD\apps\webclient\build"
npm.cmd start
请输入 npm.cmd,而不是 npm。默认情况下,PowerShell 会阻止普通 npm 所运行的脚本。npm.cmd 是同一个 npm,只是不通过该脚本运行。
服务会监听端口 7717。打开 http://localhost:7717/webclient/。
你也可以使用稳定版静态 webclient:https://app.recued.com/。
完整详情(包括各平台所需的前置条件)见 INSTALL.md。
仓库内容
backend/server/:可自托管的 Recued 服务和 CLIapps/webclient/:本地 webclientpackages/:构建上述两者所用的工作区模块community/:Day-1 基础 pack 及其配方,作为编写指南的示例
根目录的 package.json、锁文件和 TypeScript 构建图由工具生成,而非手动编写。它们准确涵盖了本仓库所依赖的全部包。浏览器桥接、云服务、市场以及 Recued 自己的内部工具各自独立,不属于本仓库。
源代码是从 Recued 源代码树的一个已审核检查点筛选而来。该检查点对应一个 git 提交。文件 .recued-public-export.json 记录了所选提交、排除的内容及原因。本 README、安装指南、更新日志和贡献者须知直接保存在此处。
许可证
Recued 采用 GNU Affero 通用公共许可证,仅限第 3 版(AGPL-3.0-only)授权。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。