@kaleidorg/mind)是面向多 L2 比特币钱包的本地优先代理式推理与工具调用引擎。它是一个纯库:负责代理循环的 Engine、支持可插拔 ToolSource 的 ToolRegistry、一个 SkillRegistry,以及注入式的 LLMProvider,在手机和笔记本上的运行方式完全一致。
它的设计出发点是一个硬性约束:本地端的小模型在多步规划上既慢又不可靠。KaleidoMind 索性不让它们做这件事。
KaleidoMind 不会独立运行,它是一个由宿主嵌入的库:Rate 移动钱包(React Native,完全本地端 QVAC)、桌面应用的 Tauri sidecar,或者一套评测与基准测试框架。KaleidoAgent 目前并未使用这个库,它有自己独立的代理循环。详见下文与 KaleidoAgent 的关系。
分层漏斗
大多数请求根本不会到达模型。- T0,快速通道。 确定性模式匹配,零推理。余额查询、地址、现货价格。
- T2,recipe 引擎。 由 skill 承载有序的执行计划(解析、定价、换算、确认、发送),模型只负责填充参数槽。这让多步流程即使在约 0.6B 参数的模型上也足够可靠,而不是要求模型自己规划整条链路。
- T1,完整代理循环。 其余全部请求,范围限定在该 skill 自己的工具清单内,这样小模型永远不必一次性面对全部工具。发现类流程(例如 merchant-finder)则有意更多依赖模型的自然语言理解能力。
统一的工具契约,多种传输方式
模型在任何地方看到的工具名称和 schema 都完全相同,只有工具如何执行会因接入方式而异:
规范的工具契约以
ToolDef[] 的形式定义在 core 中,其 spend 标记会映射为 requiresConfirmation: true。每个会动用资金的工具都带有这个标记,Engine 会在执行前暂停并调用宿主的 onConfirm,因此模型永远无法绕过花费把关。确认面板上的复述文本是确定性的、以语音优先方式生成(例如 “Send 4,800 sats to bob over Spark. Confirm?”),由已解析的调用内容拼装,而不是由模型生成,所以单位或收款方写错时会显示出来,便于被发现。
各分层的钱包工具
此外还有跨层的路由工具:
get_balances(layer?)、resolve_contact(name)、get_price(asset?, fiat?)、fiat_to_sats(amount, currency)、get_swap_quote/execute_swap,会自动选择结算通道的统一 send_payment(asset, amount, to, layer?),以及与之对应的收款工具 create_invoice(asset?, amount?, layer?)。
KaleidoSwap 交易与 LSPS1
DEX 交易(kaleidoswap_get_quote、kaleidoswap_place_order、kaleidoswap_atomic_init/execute/status)与不绑定特定 LSP 的通道订单(lsp_get_info、lsp_get_network_info、lsp_estimate_fees、lsp_create_order、lsp_get_order)各有独立的契约。原子交换链路以单个需确认的 recipe(kaleidoswapAtomicRecipe)运行:先报价,用户确认一次后在做市方一侧初始化,读取节点的 pubkey,以接单方身份把 HTLC 加入白名单,然后执行。
Skills
Skills 是符合 Agent Skills 规范的操作手册(SKILL.md 加渐进式披露),用于限定哪些工具可见,并且在代理层级中还承载手册本身。内置的 skills 包括各钱包的操作手册(spark-wallet、rgb-lightning-node)、交易与通道(kaleido-trading、kaleido-lsps、flashnet-swaps、channel-manager、liquidity-optimizer)、投资组合自动化(portfolio-manager、dca)、消费与数据(bitrefill、paid-data、wallet-assistant),以及一个更依赖模型的商户发现 skill(merchant-finder,通过可插拔的嵌入选择器结合地理位置与 BTC Map)。支付与收款流程以 T2 recipe 而非 skill 的形式提供。
QVAC:本地端推理
LLM、嵌入、语音转文字和文字转语音推理全部通过 QVAC SDK 完成,默认在本地端运行,较重的任务也可以委托给用户明确配对并自行掌控的桌面端。它以@kaleidorg/mind/qvac 子路径发布,使该 SDK 保持为 peer 依赖,而不是 core 的硬性依赖。记忆与 RAG(长期回忆、钱包历史检索、商户发现)同样走 QVAC 的嵌入能力,并通过近重复内容合并来避免记忆膨胀。
运行环境
最快的体验方式是桌面应用。下载最新版本,然后按照安装指南操作。
与 KaleidoAgent 的关系
KaleidoAgent 是一个独立的常驻 Node.js 服务(Nanobot 运行时、定时调度、Telegram),它早于 KaleidoMind 的Engine,并且尚未迁移到该引擎上,而是直接对接 Anthropic 或 OpenAI 运行自己的代理循环。两者在概念上是同一个思路(在工具注册表之上运行带确认把关的代理循环)的两次实现。让二者收敛 —— 即由 KaleidoAgent 承载 KaleidoMind 的 Engine 而不再用自己的循环 —— 是一条已知但尚未启动的整合路径;在那之前,请把它们当作两个都消费 kaleido-mcp 的独立系统。
发布与子路径
从packages/core 以 @kaleidorg/mind 发布,包含这些子路径:./mcp(MCP 工具源辅助函数)、./skills(skill 加载器)、./logger 和 ./qvac(本地端推理适配器)。npm 上还有 apps/provider,即桌面应用嵌入的 Tauri 桌面 sidecar,包名为 @kaleidorg/mind-provider。apps/cli 中的 CLI 供仓库内的终端与评测使用,不对外发布。