@cherrystudio/remote-protocol

中文文档
0.7.0发布于 2026/10/22TypeScriptES Module近 30 天下载 1.4万

樱桃工作室远程访问协议计划 和代理回收合同.

中文使用文档
文档目录7 节
  1. 连接地址
  2. 失败的结果
  3. 互动和工作空间增加
  4. 信件使用情况
  5. 对齐地址
  6. 页面信件摘要
  7. 备用代理附件

远程协议

由桌面和移动公司共同拥有的可移植化学和纯剂回收功能. 根拥有JSON-RPC和连接合同. 代理和配置传输 具有单独的导出;既不拥有套接字、密钥、持久性,也不重新连接. 根还拥有共享的发现服务类型, TXT 格式和固定 WebSocket 路径。 这些是樱桃同行互操作性合同,而不是听众或路由政策.

发表于 @cherrystudio/remote-protocol 通过寄存器的更改器发布 工作流程。 软件包版本独立于谈判的电线协议跟踪 版本。 仅凭建构或通过包件测试,并不能对桌面,博览会或中继互操作性进行限定.

运行 pnpm --filter @cherrystudio/remote-protocol test, (中文(简体) ), typecheck 财务报告和审定财务报表 build。 。 。 . 外部消费者通过包出口进入,从未 src/ 深度进口.

事件会减少缓存, 将文本字节长度逐一缩短, 无需添加线条 字段。 仅在初始长度计算后追加新文本编码; 恢复或替换 部件计算自己的长度。 制片人读取 part.append 通过出口抵消 textByteLength,因此发送并验证一个附件共享一个缓存条目。 完成后仍检查全部内容摘要并确实 不继承流快照的缓存 。 旧的快照仍然可以独立使用 用于原子恢复; 其被弱控的缓存项随这些物体而消失.

连接地址

connection.hello.connectionEndpointsVersion: 1 广告 connection.endpoints。 。 。 . 请求中指定一个已经核准的域名; 桌面重新检查其当前授权 准备答复前后。 结果包含桌面身份和 最多32个直接终点,没有邀请或VPN证书. 客户端给 身份,保持建议短暂性,并且只坚持经过明确核实的选择. 没有这种可选能力的同行保留了现有的对接和人工地址流动.

失败的结果

./failure 拥有由活执行和消息共享的已绑定的执行失败快照 历史 信件带有明确的待处理/成功/错误/被搁置状态。 执行失败需要 失败和终端消息身份。 终端持续性或随消息持久 和历史修改,或 不可持久,单独持续失败。 RPC 授权错误 并且指令性收款仍然独立于执行结果.

connection.hello.agentFailureVersion: 1 广告本合同。 新客户需要它给特工 只访问; 配置和配对保留其现有的协议。 旧处决 error 字段 仍然是相容性投影。 缺少所需字段的旧缓存预测重建自 a 检查站。 上游未知原因分类为: unknown; 电线快照验证 版本理性词汇,不重写检查站文摘使用的字节.

互动和工作空间增加

  • 互动摘要可声明 kind: question; 完整的问题保留在版本输入中 资源与使用 questionInputSchema反应是明确批准、否定和不选择的理由, 或用问题键值回答。 对照当前相互作用验证完整性 主机; 方案验证形状和界限。 问题文本密钥必须是独一无二的.
  • 工作空间目录广告 systemWorkspace; 创建接受明确的系统或注册 选择。 主机拥有目录分辨率并返回真实的工作空间ID和类型.
  • 遗产平原 decision 财务报告和审定财务报表 workspaceId 变异仍被接受,包括日记回收. 申请必须选择一种形式。 新客户对已有客户使用遗留表格 操作和添加的明确表格; 旧目录并不意味着系统支持.
  • 命令身份包括完整答案或工作空间选择. 使用相同的ID重试 而不同的输入则是一种自相矛盾,从不是一种替换操作.

代理目录可选择包含 emoji (非空Unicode文本,最多64个UTF-16单位). 它显示的是元数据,而不是文件路径或 URL 。 与旧主机兼容; 客户保持正常回落。 图像传输在本字段合同之外.

信件使用情况

AgentMessage.usage 是一个可选的可实现摘要。 它带有非负数的符号数, 缓存/理由分类账、按货币计价和要求计价以及完成运行时间 期限。 缺席意味着未知,而不是零。 它故意排除了按要求进行的会计科目 和运行时间跨数组。 信息拥有快照,所以历史反应,消息更新, 检查点/重放时使用一个方案。 年长的同龄人可能忽略它;配对能力门不变.

可选的公开模型摘要(modelId, (中文(简体) ), providerId, (中文(简体) ), name) 由信件快照共享 和代理目录条目。 一个消息记录其生成模式; 目录记录当前 配置 (null 对未配置,对旧主机省略。 也不带供应商的秘密 或要求接收设备安装模型.

对齐地址

pairingQrSchema 接受遗留 v2 IP/ port 邀请和 v3 邀请并完成 endpoints (单位:千美元)host, (中文(简体) ), port, (中文(简体) ), security) (中文(简体) ). fixtures/pairing-qr.json 也由 Mobile的轻量级启动计划. 更改电线合同时保持固定副本对齐. parseDirectEndpoint 接受HTTP(S)输入作为WS(S)的同名词,保留TLS和显式端口. 固定路线还在 /v1/remote/connect; 广告终点使用 advertisedEndpointSchema 拒绝回转和通配符目的地.

页面信件摘要

connection.hello.agentMessageSummariesVersion: 1 广告可选 agent.messages.list 参数 partsMode: 'paged'只发送此参数 在观察能力后 没有答复,答复仍然完整 partIds。 。 。 .

页面答复中包含 AgentMessageSummary 项:信息身份、修订、, 角色、地位和可选用途/模型/失败元数据 partsMode: 'paged' 没有 partIds。通过 agent.parts.list 使用信件 身份证和审校: nextCursor 直到无效。 省略的索引不是 空消息来. 历史和部分修订检查保持不变.

AgentMessageListItem 是完整的信息/摘要结合。 摘要只列出; 事件、检查站和减少人员仍需要全部 AgentMessage 示意图. 没有能力的同伴保持现有的请求和响应形状.

响应预算返回中不可分割的列表项目 RESOURCE_EXHAUSTED 与 details: { kind: 'ITEM_TOO_LARGE', itemBytes, budgetBytes, retryable: false }。 。 。 . 同样的请求和数据无法通过等待恢复. 其他资源已用尽 错误保留其语义;遗留客户端可能忽略其他细节.

备用代理附件

connection.hello.agentUploadsVersion: 1 制作/获得/恢复/完成/取消和二进制DATA/ACK记录. 上传身份被限定为设备和代理授权,独立于套接字和会话. 一个持久 committedOffset 这是唯一的恢复位置. resume 使用同位素还原ID 和预期的作家时代; 老作家不能推进替换上传。 DATA携带由噪声AEAD认证的生字节,每个块后有一个可耐用的ACK. 桌面在发布现成的管理下的参考文献前计算完整文件SHA-256. 可选 agentUploadChecksum: 'sha256' hello 能力支持独立的源验证 : 准备修正 checksumAlgorithm,完整的用品 expectedSha256返回实际 sha256。不匹配会变成持久的失败状态 CHECKSUM_MISMATCH; 磁盘/出版物出错 使用情况 VERIFICATION_FAILED。修改记录的文摘或模式是一种偶应冲突. 缺席-模式上传保留了遗产行为. 新的移动散列 其保留不可改变的来源 本土 与正常 DATA 传输并行; 恢复在恢复写入前比较保存的文摘.

限制:1个GiB/file,2个GiB/message,8个文件,1个MiB区块和2个未决区块. 24小时闲置后失效或共计7天,4个GiB/device和8个GiB/Global 保留。 上传权限和到期后会独立于电文收据进行再检查. 发送接受文本,文件,或两者兼有. 客户端冻结持久发送中的上传引用 命令,然后在提交和查询该命令在不确定结果之后的接收. 它们绝不能在已经提交的命令中替换过期的上传引用 .

上传的文件历史使用一个有修订约束的内容引用,从不使用桌面文件系统路径. 内容页在目前的代理赠款下阅读,并与完整的摘要核对.

版本与发布记录

@cherrystudio/remote-protocol 共发布 7 个版本,首次发布于 2026/09/24;过去 12 个月发布了 7 个版本。

版本发布日期距今
0.7.0latest2026/10/2218 天前
0.6.02026/10/2020 天前
0.5.02026/10/1327 天前
0.4.02026/10/1030 天前
0.3.02026/09/301 个月前
0.2.02026/09/291 个月前

关于 @cherrystudio/remote-protocol 的常见问题

@cherrystudio/remote-protocol 是什么?

樱桃工作室远程访问协议计划 和代理回收合同.

如何安装 @cherrystudio/remote-protocol?

在项目目录运行 npm install @cherrystudio/remote-protocol,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:zod(^4.3.4)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@cherrystudio/remote-protocol 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@cherrystudio/remote-protocol 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@cherrystudio/remote-protocol 可以商用吗?

@cherrystudio/remote-protocol 使用 未声明 许可。package.json 没有声明许可证。没有许可证的代码默认保留全部权利,商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括,不构成法律意见,请以许可原文为准。

@cherrystudio/remote-protocol 的下载量有多少?

根据 npm 官方下载统计,@cherrystudio/remote-protocol 在 2026/10/10 – 2026/11/08 这 30 天内被下载 13,840 次,日均约 461 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@cherrystudio/remote-protocol 还在维护吗?

最新版本 0.7.0 发布于 2026/10/22(18 天前);至今共发布 7 个版本,其中过去 12 个月发布了 7 个;首次发布于 2026/09/24。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。