Rna SDK
SDK 概览
@rna-agent/sdk 是 Rna 自有的执行内核:模型请求、持久会话、工具、技能、MCP 和主动循环。
当前版本 0.59.0。@rna-agent/sdk 只使用 Node.js 标准库实现,没有第三方运行时依赖。Pi、DeepSeek Harness 和 Headlong 是它的代码研究和设计来源,但 SDK 不导入 Pi SDK。
SDK 暂未发布到 npm,请在仓库内直接 import。需要 Node.js 22.19.0 或更高版本。
cd packages/sdk
node --test test/*.test.mjs模块
| 接口 | 能力 |
|---|---|
createSession | 流式会话、工具循环、插话与排队、停止与恢复、自动和手动压缩、可恢复的 JSONL 日志 |
streamCompletion / buildRequest | OpenAI Chat Completions 兼容与 Anthropic Messages 的 SSE;视觉模型可接收图片 |
CapabilityRegistry / loadSkill | 可信能力目录、静态 SKILL.md、工具 schema 校验、按项目授予 |
CapabilityInstaller | 本地或 Git 技能包、固定版本的 npm 包、MCP 配置导入;stage、validate、commit、rollback |
createWebTools | web_search 与 web_fetch:FastCRW、Firecrawl、Tavily、Brave、智谱、博查六种服务之一;只提供搜索的服务由 fetchPageDirect 在本机读取网页 |
createWorkspaceTools | 默认只读;显式加入 hash 校验的写入、精确编辑、可取消的执行 |
McpClient | stdio 与 Streamable HTTP;工具发现、调用、取消 |
bootstrapProject | 从项目标题和介绍生成初始状态、里程碑和能力分配 |
InitiativeCoordinator | 根据项目证据选择 wait、work、share、learn,不需要目标;workCheck 钩子可在工作入队前挡下重复的工作 |
createDelegationTools / agentMergeTool | 子代理分派(scout、planner、reviewer、worker)与 worker 改动的合并(merge、show、take、resolved、drop) |
LearningCoordinator | 持久的学习积压、真实经验反思、冻结实验与未知结果对账 |
EvolutionCoordinator | 项目候选生成、冻结基线对照、门槛、试用、晋升与回滚 |
宿主与 SDK 的分工
SDK 负责请求、会话日志的单写者锁与完整性链、工具调用与副作用恢复。宿主负责选择状态目录、保护工具的执行环境、保存项目资料、预算准入和权限。
几条贯穿全部接口的约定:
- 不确定结果的写操作不会自动重试,宿主必须先提供
toolResolutions。 - 没有真实模型时返回
blocked,不会用模板冒充生成结果。 - 候选模型自己的评分不算评测;SDK 不会自动扩大权限,也不会自动采用新版本。