实现方案
注册阶段由 schema.derive 从类型注解产生输入和输出 schema,支持标量、容器、枚举、dataclass 与 Pydantic v2 模型;不支持的注解在注册时报告。首参数 Context 被剔出业务 schema,由宿主注入调用者和调用标识。typed stub 用签名绑定补默认值,类上的 stub 去掉 self,使已有代码组织方式可以继续用于远程接口。
执行统一经过常驻 HostServer。普通函数的一个结果和生成器的多帧输出共享 host_stream 宿主通道,公开描述仍分别是 RPC 和服务端流。模型对象因而可以留在进程中,同时避免为带上下文的函数另造执行路径。当前绑定默认采用九秒 lease、三秒续租周期;首个部署确认便加入同一续租 worker。续租带安装和激活标识,失败会关闭宿主,新旧启动代际隔离,防止旧进程干扰替代实例。
媒体使用 StreamFrame(payload, content_type),在本地宿主到 daemon 的 binary_v1 通道直接传递原始字节,省去逐帧 base64。帧长度有上限,序号、媒体类型和字节共同进入滚动摘要,终态只允许产生一次。对连续图像或音频,这既保留内容,也给接收方一个明确的完成判断。
组合分两种任务形态:函数内部临时依赖其他能力,用带父回执锚点的 Context 子调用;预先知道“取数再摘要”的流程,用 Pipeline 引用前序输出、声明超时和失败策略,再编译为 EAL。执行交给运行时,Python 侧保留步骤与实际子调用事实的核对能力。对每晚生成报告的任务,维护者能检查取数与摘要是否实际执行、是否调用预期能力,而不只看到一个总体完成标记。
网络库安装器读取显式 manifest,生成接口代码、.pyi、py.typed 和锁文件;按发布者组织导入名,并保留 descriptor 绑定。导入仅访问本地文件,实际函数调用才联网。因此编辑器补全、签名检查和程序启动不必等待远端发现,团队也有一份可检查的接口分发物。
No comments yet

