@itookit/cells-driver

中文文档
0.4.3发布于 2026/11/01MITTypeScriptES Module

独立于平台的单元驱动程序,将信息和代理集成到NestOS中的智能节点。

中文使用文档
文档目录15 节
  1. 文件与进程接口
  2. 独立开发与发布
  3. 只读状态与搜索
  4. 原生管理与附件
  5. 本机使用
  6. 目录主体和公共访问(0.2)
  7. 本地命令目录
  8. 本地模式选择
  9. 本机命令输出和提交的结果错误
  10. 命名
  11. 共享事件传输
  12. 独立本地消去
  13. 从本地历史中恢复完成
  14. 精简会话分析接口
  15. 执行结果未知时的人工恢复

@itookit / cells-driver

连接 细胞 的平台无关客户端。细胞寓意蜂房中的单个巢室,是将信息与代理集成到NestOS的单个智能节点;本包统一封装文件访问,项目管理,同步,进程与原生AI利用会话。源码仓库:cells-driver。

Web,金牛座,CLI createCellsDriver(),共用连接和运行期凭据。vfsdriver-agent src/files(1)、修订、修正、修正、修正、修正、修正、修正、修正。HTTP /sync 驾驭;驾驭 /harness MCP SDK 2.0.0, 2026-07-28。Codex应用服务器、Claude Code SDK

pnpm add @itookit/cells-driver
import { createCellsDriver } from '@itookit/cells-driver';

const adapter = createCellsDriver();
adapter.setCredential('workstation', password);
const connection = { endpoint: 'http://127.0.0.1:8787', username: 'owner', credentialRef: 'workstation' };
const harness = adapter.harness(connection);
const { profiles } = await harness.profiles();
const sessions = await harness.list(profiles[0].id);
await harness.close();
await adapter.dispose();

setCredential 返回恢复先前凭据的函数;密码不进入持久连接记录。凭据解析器可以异步注入;工厂第二个参数为利用的获取注入点。三个能力分别管理生命周期;sync() 返回句柄由消费者关闭,dispose() 供应商(provider)【翻译 interrupt()。

ProjectClient.remount(project, access) 调用 project_remount(2) ro/rw 权限。对,对,对,对,对,对。此方法为新增可选能力,旧服务返回不支持时由宿主保留原绑定。响应丢失后先 read 核对当前权限与版本,不盲目重复提交。

文件统计在同一微任务批次按路径去重,响应分发给各订阅者;重复的VFS祖先路径校验不会在同HTTP批一次重复提交。每个订阅者保留独立取消与期限,最后一个订阅者取消才中断共享请求。不跨批次缓存属性或不存在结果,外部文件更新仍在后续读取重新查询。

【翻译】【中文译文】、【中文译文 operation() 确认收据。【中文翻译】:中文翻译:每个概要文件保留至多1024条收据,不淘汰仍可能被查询的记录,达到上限拒绝新的修改。

当前支持法典与克劳德的代码会话分页,历史,新建,继续,消息,增量输出,中断,命令/文件审批和用户问题;法典另外声明分支,重命名和归档能力。其他利用通过服务端HarnessPlugin / HarnessDriver扩展,不改变宿主连接入口。配置和使用见 细胞的自述。

验证:pnpm --filter @itookit/cells-driver test、typecheck;CELLS_HARNESS_TEST=1 pnpm --filter @itookit/cells-driver test tests/network.test.ts 锈斑锈斑、锈斑锈斑、锈斑锈斑等。

“”。应用程序-核心单元格 server/discover._meta['itookit/cells'],获得同源文件HTTP端点,fileProtocol, serverId和利用能力;旧服务只调用已声明的能力工具,普通MCP不发专用探测。测试、保存和改名复用验证结果,连接身份变化重新验证。原服务根地址只作为发现结果供文件/同步访问,用户填写完整 /mcp 地址。认证解析器也注入通用MCP客户端,每次请求读取当前凭据;API键使用MCP配置存储,项目只保存引用。

驱动程序 discover() 时也优先消费SDK已连接的标准发现元数据,避免额外能力调用;无元数据时调用cells_capabilities,失败直接返回具体原因。元数据不合法时拒绝,不绕过校验。

projects(connection) 提供服务端目录项目的根/ /读/注册/配置/ exec列表。register({alias,path,name,access,createDirectory:true}) 在已有父目录下创建一个目录并注册;不创建所有父目录。项目客户端的 harness(project,{readOnly}) “工作空间”。projectProcess 复用原进程取消与回收逻辑,启动时改走服务端项目授权。文件打开传入serverProjectId serverProjectRevision /访问后添加项目上下文头;普通文件与旧服务访问保持兼容。

方案及部署见 项目模型。

目录物化在发现返回时可用 directorySync: true. 使用 projects.directorySync() 将已发布的文件数据集绑定到现有的 可写的项目目录,预览,然后执行返回的计划ID。保持 绑定ID稳定。上传完成和目录应用程序是分开的 结果。超时或部分失败时,查询 status 并恢复保留的 计划;永远不要更换 applying 计划。不包括删除和项目挂载。

【中文翻译】:http://www.tingclass.cn/cn/ http://www.tingclass.cn/cn/】旧服务器只能执行其声明支持的单向能力。itookit/cells。链接本文:http://www.chinese.com/vfs -sync manifest

文件与进程接口

包根保留 HttpFSBackend、openHttpFileSource、createHttpSourceProvider、HttpTransport、HttpProcessSession 和 HttpSeqClient。NPM @itookit/vfsdriver-agent 改为 @itookit/cells-driver;这些接口的所有权和文件协议保持一致。统一装配优先使用 createCellsDriver()。

HttpFSBackend 实现 FileStorageBackend,由 FileStorageAdapter vfs。(1)、(2)、(3)、(3) open() 返回独立释放句柄。订阅者取消不会中断其他读取,最后一个引用释放后关闭来源。http://www.qqqq.com http://www.qqqq.com release(),,,,,,,,,,,,,,,,,,,,,,,,,,

src/files/protocol 负责响应校验,transport 负责认证、预算、取消和错误映射,provider/source-pool 负责共享生命周期。网络错误不转成不存在,损坏的写入响应属于未知结果,携带操作ID,不自动重放写入。内部模块不作为发布子路径导出。

原生历史支持 read(profile, session, {cursor}) 分页,inspect 只读元信息。HarnessConversation.loadEarlier 加载更早消息,branches 按原生父会话链接列出同一项目中的分支,fork(name) 创建原生分支并返回新会话身份,交给宿主切换。只读,空历史,活动或待确认会话不能创建分支;未知结果先查询收据,不重复创建。会议、会议、会议、会议、会议、会议。

HarnessSession.createdAt 与 updatedAt 分别表示创建及最后修改的Unix毫秒时间,缺失为零;createdAt为可选字段以兼容旧服务。“原生的”,“原生的”createdAt:。空标题可回退native.name /预览,展示层使用未命名会话兜底,原生ID继续用于路由与操作。

会话消息保留原生 turnId 和毫秒 timestamp,内容数组中的所有请求,回复均按顺序展开;用户文字项还通过contentParts保留边界,展示层在项间插入减价分隔线,纯文本预览保持原格式。服务提供 contentItemKinds 时,驱动校验数量和类型后按文本展平规则映射为 contentPartKinds,不推断缺失来源、不改变原文,由宿主决定上下文折叠。branchName 【翻译】HarnessConversation 为历史和事件请求 toolDetail: 'summary',工具仅保留名称、操作、首个非空命令行(最多 240 个字符)和目标路径,忽略工具输出增量;旧服务的详细工具数据也在驱动内转换为摘要。loadEarlier (1)、(1)、(1)、(1)、(1)、(1)、(1)、(1)、(2)。itookit在历史顶部提供按需分页入口,点击才读取更早记录,保留加载进度及失败重试入口。1万兆/32兆,。降价,降价,降价驱动不生成产品界面或改写原生历史。

独立开发与发布

git clone https://github.com/mushuanli/cells-driver.git cells-driver
cd cells-driver
pnpm install --frozen-lockfile
pnpm typecheck
pnpm test
pnpm build
pnpm pack

TypeScript itookit。发布仅包含 dist,自述/harness、/sync ESM、CommonJSpublishConfig 【中文译文】

锈。Linux操作系统

CELLS_MANIFEST=/path/to/cells/Cargo.toml pnpm exec vitest run tests/files/network.test.ts
CELLS_MANIFEST=/path/to/cells/Cargo.toml CELLS_HARNESS_TEST=1 pnpm exec vitest run tests/network.test.ts

Itookit tools/cells。文件进程隔离测试还需 CELLS_PROCESS_TEST=1【翻译】电池单元

只读状态与搜索

不支持,不支持。我想要的是,我要的是,我要的是,我要的是。回应有独立于转/命令的回执记录,允许在启动响应返回前回答审批;未知结果只核对原requestId,恢复记录不存回答正文。应用宿主应让事件读取和回复穿过等待中的启动调用,普通写操作仍保持串行。

原生历史可携带 eventCursor: {after, eventEpoch},表示快照已包含的事件边界。HarnessConversation从该边界读取后续增量,事件缺口修复后不倒退游标;旧服务未提供该字段时沿用原有兼容路径。《古典》、《古典》、《古典》、《古典》、《古典》。

已接纳队首缺少精确把终态时,即使事件读取失败,也会独立尝试原生历史核对(最多每15秒一次);不以缓存的活跃状态阻止重启后的核对。核对成功仍保留事件故障提示并阻止新派发,仅持久结算原转的已确认终态;无终态,其他转或读取失败均保留队列,不重放输入。turn.history.reconcile 的 events_fallback 已确认/未确认/失败。

多关键字查询以空格/制表符分隔,按不区分大小写,顺序不限的字面和匹配;文件内容以命中行为单位,原生会话内容以消息为单位。发现元数据 searchKeywords: true 驱动程序,驱动程序,驱动程序显式换行保留原有字面多行语义。

adapter.observeHarness(projects.harness(project, {readOnly: true}), false) 创建共享 HarnessStatusObserver刷新配置文件/会话 HarnessObservation;;;;;;执行、执行、执行、执行。close() “turn”,“turn”。

第三个参数 {watchFiles: false} 可关闭文件目录观察,让会话状态读取与文件刷新独立。目录版本只返回服务端真实版本;覆盖不足不再拼接随时间变化的版本号。是否继续轮询由应用层按活动轮次和展示订阅决定,本驱动不启动定时器。

目录监听故障只保留最近目录版本,不改变会话在线状态。http://www.qqqq.com, http://www.qqqq.com stale 和 refreshError: {stage, code} 返回,连接失败证据或原生断开事件才标记 offline。成功的空事件响应也能恢复传输状态;原生进程断开仍需原生状态或权威快照确认恢复。错误期间不开放中断/响应控制;诊断只记录阶段、身份和安全错误码,并按阶段去重。

服务描述 fileSearch 【中文】 projects.search(project, {query, mode: 'name' | 'path' | 'content', directory?}).profile.capabilities.search harness.search(profileId, {query, mode: 'title' | 'content' | 'prompt', archived})。两者返回匹配/截断/ nextCursor;当前nextCursor = null,超限明确部分结果。原生命中保留sessionId / turnId / itemId;文件命中使用相对路径和行号。查询只读、默认字面匹配,调用方继续核验授权身份、取消及结果时效。

原生管理与附件

抄本配置文件:重命名/存档/取消存档。harness.rename 修改原生标题,harness.archive(profile, session, true|false) 归档或恢复;均使用修改回执,未知结果不自动重发。【翻译】HarnessConversation 输出管理可用性、归档标记及标题通知。

turn 选项: attachments(kind/name/content/mimeType):中文:中文:中文:中文:中文:UTF-8,中文:PNG/JPEG/WebP。最多5个,文本每64个简约,图片解码每256个简约,编码内容合计512简约;不传宿主路径或HTTP URL。http://www.qqqq.com (http://www.qqqq.com)HarnessStatusRow.fileVersion ◆◆◆→→→→→→→→→→→→→→→→→→→→→→→→

HarnessClient.subscribeDirectory() 【参考翻译】directorySnapshot() 只读取本地最近版本;subscribe(profile, listener) 和 eventSnapshot(profile, cursor) 同样分离通知与本地回放。真实网络订阅按节点,凭据引用和授权版本共享;增加或移除主题会携带当前游标重新建立流,不重放任何修改。传输断线退避重连,错误按主题隔离;旧节点明确提示升级,0.4不保留事件或目录轮询RPC。中文:截断的齐平的齐平的齐平的齐平的齐平的齐平的齐平的齐平的齐平的齐平。HarnessStatusObserver.fileVersion() 与会话列表分离,零会话项目也能观察文件。线程。

重命名/存档/取消存档/删除。永久删除沿用时代/ requestId /收据,客户端持久化删除标记,恢复时先核对删除回执,避免重放或读取已删除历史。没有加载,没有加载,没有加载。

HarnessSession.archiveAllowed 是可选的本地管理资格,与附件所有权分开。 harnessArchiveAllowed 将此提示与空闲/存档保护结合起来;会话还需要可写访问、配置文件支持和当前连接。旧节点保留保守的“已卸载或已拥有空闲”规则。主机可以在导航菜单中重用帮助器,而不需要在控制类型上进行分支;服务器在提交存档时重新检查权限和本机状态。

HarnessConversation.snapshot().submittedTurnId 保留本视图最近一次已确认发送的原生轮次身份,历史尚未回显时也可供界面替换临时卡片;开始新发送时重置。只有转变成功或对应提交回执才设置,简历/创建成功不算消息已提交。原生 HARNESS_SESSION_BUSY turn(转)。

【中文】、【中文】、【中文】、【中文】、【中文 not-committed,不能留下待确认的消息提交。【中文译文】:http://www.chineseproject.com/ /epoch中文:提交 code,使跨视图核对后仍能展示原生写锁原因。

本机使用

HarnessSession.usage 会话快照携带来自细胞0.1.5+的经过验证的原生转录使用。 HarnessClient.usage(profileId, sessionId) 直接查询只读工具;普通的查看器可以重用承载在历史/检查上的用法。不受支持的旧服务器使其无法使用。客户端验证会话标识、安全非负令牌计数、唯一条目和匹配总数。输入/缓存桶是不相交的,推理已经是输出的一部分。此包没有模型目录,定价回退或计费策略;主人可以用他们自己的估计来装饰快照。

目录主体和公共访问(0.2)

连接可以显式设置 anonymous: true 访问公共只读导出。在这种模式下,驱动程序省略了Authorization并且永远不会解析凭证;通过身份验证失败的请求永远不会退回到匿名访问。通过身份验证的连接继续使用主机提供的承载或基本凭据。

发现公开了可选的 authorization 快照(principalId, anonymous, revision). 在连接上传递它,以阻止后续的HTTP和MCP请求到相同的身份并授予修改权。源池包括该快照和匿名模式。更改的授权需要显式发现并刷新绑定;它不能静默地重用其他用户的视图。纯 @itookit/cells-driver/authorization 条目在不加载MCP运行时的情况下验证快照。

项目为文件读/写、执行和会话控制提供了可选的有效功能。当服务器单独授予执行权限时,只读文件挂载可以允许本地会话控制。没有这些字段的服务器保留主机的保守遗留行为。驱动程序实现传输和验证;目录ACL策略和用户到凭据绑定分别属于服务器和主机。

文件名与目录范围要求服务发现 fileSearchVersion >= 2(1)目录:.、..),搜索包含其子目录。驱动程序:http://www.geonge.com http://www.geonge.com searchPrompts内容,提示:“哎呀!”“哎呀!”

本地命令目录

个人资料可以做广告 capabilities.slashCommands. HarnessClient.commands(profileId, sessionId) 读取驾驭会话的目录; command(profileId, sessionId, name, args, options) 使用现有的epoch/ requesttid突变收据。 HarnessConversation.commands() 和 command(name, args) 向主机公开相同的功能。命令可以在不创建模型转弯的情况下完成;DSH结果成为本机系统记录,而普通发送保持分离。

命令需要初始化的本机会话。编目是有界的并经过验证的,客户端工具名称开关不会猜测可用的命令。如果没有该功能,旧节点将不会收到新的编目请求。未知命令永远不会触发自动模型回退。在重新开业期间,仍然存在未知的命令收据;接受原始命令将保留较新的草稿文本和附件。

本地模式选择

个人资料选择加入 capabilities.models. HarnessClient.models(profileId, sessionId?) 返回一个有界的、经过验证的 HarnessModelCatalog:不透明的id,显示标签,每个模型推理选项,以及可选的默认/当前选择。 HarnessConversation.models() 返回旧节点的空目录,而不发出新的RPC。客户端中没有硬编码模型列表或推理枚举。

HarnessConversation.send(text, attachments?, selection?) 和 HarnessClient.turn(..., {selection}) 捕获 {modelId, reasoningEffort?} 对于提交的文件。无效组合在入场前失败;模型发现是只读的,不授予会话控制。本机适配器重复验证。提示类型的命令接受相同的选择 command(name, args, selection);操作命令保留本地语义。丢失的突变响应保持现有的接收/协调行为,并且永远不会触发自动重播。

HarnessConversation.command(name, args?, selection?, inputText?) 将原始编写器文本与解析后的参数分开保存。提示命令通过与消息相同的路径惰性地准备会话;会话操作被禁用,直到本地会话存在。恢复捕获修订草案和原始文本,因此确认的收据不能删除后来的编辑,包括恢复为相同文本的编辑。最近的命令结果(最多64个,UTF-8预览限制为64 KiB)在刷新和重新打开后仍然有效。 活动命令和提交的结果错误不会被窗口驱逐。具有相同命令ID的本机历史记录更新其状态,同时保留先前冻结的输出引用。失败的处理程序仍然可以有已提交的收据,并且不能重播。

本机命令输出和提交的结果错误

capabilities.commandOutputs 在命令执行和接收读取时启用参考投影。客户端发送 outputMode: 'reference' 只有经过积极的谈判;较老的节点接收其原始请求形状。结果可能包含 outputRef: {version: 1, epoch, requestId, bytes, sha256, mimeType: 'text/plain'} 加上有界预览。整个主体保留在节点的原始纪元接收中。 HarnessClient.readCommandOutput(profileId, ref, {offset, limit, signal}) 每页最多读取65536字节,保留原始项目授权和epoch。页面需要规范的base64,匹配不可变的元数据,精确的偏移量和前进进度。

HarnessConversation.readCommandOutput(commandId, options) 只解析保留的结果引用; loadCommandOutput(commandId, {maxBytes, signal}) 冻结整个读取的引用,检查最终字节数和SHA-256,并返回一个ArrayBuffer。缺省值为8 MiB,最大显式预算值为32 MiB。读取从不重复本机命令或重新加载完整的本机历史。失败的下载位于请求输出的本地,并且不会禁用发送。输出引用不会自动保存节点epoch;这个API不是永久的工件存档。

结果大的信息携带 commandOutput: {commandId, ref?, unavailable?, truncated}. 返回超大内联输出的旧节点产生有界预览 unavailable.code=HARNESS_COMMAND_OUTPUT_TOO_LARGE;该驱动程序保留本机接受和完成,但不声明可以下载完整的旧输出。节点引用和预览保留了精确id的本地历史和事件回声。

一个匹配的 committed 即使接收结果无法解码,接收仍保持提交状态。命令标识/完成错误单独保存为 snapshot.resultError 具有原始操作ID和epoch;输入被接受,传输挂起被清除,冲突的分派保持阻塞。读查询和队列接受仍然可用。无法将受影响的队列项作为新的执行重试。对账只读取原始收据,可以修复投影,而不会消耗后来的草稿或重新签发的副作用。永远不会将无效的结果体复制到诊断或恢复记录中。

命名

包名为 @itookit/cells-driver,工厂为 createCellsDriver(),类型为 CellsDriver / CellsDescriptor,源码仓库为 mushuanli/cells-driver。导入、导入、导入、导入、导入。

共享事件传输

驱动程序POST /v1/events 。http://www.org.cn/cn/cn/或http://www.会话视图接收通知后合并刷新,不再执行200 ms轮询;远程进程通过终态订阅等待,状态得到仅保留恢复查询。放开;放开;放开

独立本地消去

HarnessConversation.interrupt({sessionId, turnId, operationId}) 冻结一个精确的本机目标,并在分派之前写入一个独立的控件收据。 reconcileControl(operationId) 查询原始操作和纪元而不重放取消。 snapshot().controls 分离 receipt (unknown, accepted, rejected)从观察到的 effect (unconfirmed, completed, failed, cancelled). 确认并不证明终止。恢复使用现有的日志,保留输入草稿和待处理的发送,并在重新打开时保留准确的终端观察。

挂起的发送应答不会阻止队列编辑或本机取消。取消本身不会暂停队列;主机可以在请求取消之前保持显式队列暂停。没有终端证据的未知控制和确认控制防止调度冲突。主机在协调UI操作时必须通过显式操作标识,并且必须保持本机功能和所有权检查。暂停和转向是独立的功能。积极协商 capabilities.steer, conversation.steer(text, turnId, attachments, submissionId) 将上下文附加到确切拥有的活动回合。其稳定请求ID、目标和草案修订使用现有的恢复日志;未知的结果无需重播即可和解。转向保留排队指令和后来的作曲家编辑。重命名本机元数据不需要空指令队列。

从本地历史中恢复完成

终点站的历史转折可能会延续 submissionEvidence 版本1 requestId, promptSha256, startSequence, endSequence. 服务器得到了这个证据 从完整有序的本地翻页中返回;客户端从不推断 完成从助理消息文本或本机闲置单独。旧节点可以省略它。

对于已经承认的,无附件的提示,其原始回合标识等于 其请求ID; HarnessConversation 与此匹配保留的指令 在记录其最终结果之前的出处。不匹配会话,输入摘要, 不能重复请求证据,不正确的边界或附件输入 解除旧的索赔。普通回合id和原生完成事件保持存在 的意思。证据不会创造另一种执行,不会改变本地历史,也不会消耗 下一稿。

reconcile(originalId) 可以坚持解决承认的头。它不调度 仅排队的指令、重播未知操作或稍后开始排队 工作。保留队列暂停。遗失的旧历史需要明确 loadEarlier 和 另一个和解;没有引入无界自动扫描。失败的和解 Write使原始索赔可收回。不再仅仅完成辅助项目 替代终端转事实。

历史刷新只能在相同的回合ID下重用记录的终端结果。 没有结果的新lastTurnId不能继承上一个回合的完成。

排队执行永远不会拥有当前编写器草稿。调度使用相同的验证 本机输入路径作为直接发送,但都不会用队列输入替换草稿 也不会在本地录取时消耗草稿。挂起的日志存储 consumeDraft: false 所以重开和迟收和解保留了这个界限, 即使下一稿有相同的文本。遗留的直接发送保持它们的存在 修改和输入匹配规则。队列准入和主机OperationLedger保持不变 使用提交的编辑稿的权限。

中文翻译 code,并以 remoteCode 传递经过格式校验的服务端原因(如 METADATA_IO)。只有状态码或服务端错误码时,默认提示包含二者,便于区分网络连接失败与已送达的服务端异常。

原生指标与成绩单总数和主机定价是分开的。积极协商 capabilities.metrics 使 conversation.refreshMetrics() / client.metrics(profileId, sessionId). 只读查询验证会话标识、边界和数值,并删除未知字段。观察包括上下文容量/最后占用、本地配额窗口/重置时间/信用单位和可选的本地成本估算。缺失的值仍然是未知的。度量查询不消耗草稿,获取提交槽或更改失败时的执行观察; metricsError 在指标显示的本地。

enqueue(text, attachments, selection, submissionId, delivery) 默认为 next-turn. 显式的 auto 交付允许普通排队输入,以补充协商转向时拥有的主动转向;模型改变、命令、暂停和下一个回合之前的项目保留了它们的障碍。转向收据确认入场,而不是转向完成。如果目标回合已经结束,Claude可能会在一个新的本地回合中确认输入; targetTurnId 保留请求的目标和 turnId 标识实际的转弯。未确认的收据不再重播。

精简会话分析接口

正向协商 profile.capabilities.sessionDigest 后可调用 digest(profileId, sessionId, {cursor?, expectedRevision?, metadataOnly?})。 该接口不调用模型,只返回来源明确的用户提示词和可见助手正文,排除自动上下文、推理和工具。omittedUnclassified 大于零表示存在无法确定来源的用户记录,分析调用方不得把它当作完整输入。metadataOnly 不读取历史;分页绑定 revision,源变化明确报错。旧节点不回退全量历史。http://www.tingclass.cn/cn/ http://www.tingclass.cn/cn/ http://www.tingclass.cn/cn/ http://www.tingclass.cn/cn/

执行结果未知时的人工恢复

原生事件另投影 observation.activity(阶段turnId updatedAt),仅用于展示思考,工具执行,回复输出,上下文整理或等待下一次输出。空正文推理项目也可更新阶段;旧轮次和倒序事件不能更新当前轮次。该字段不改变执行状态,队列屏障或终态;updatedAt来自实际事件,不能用检查,心跳或本地计时刷新。

食典委的 session.historyRevision 独立于本运行时的事件游标,表示原生持久文件的版本。既有15秒检查发现版本变化时,外部会话补读历史;内部空闲会话在没有近期内容事件时也补读,内部执行中的流式事件路径保持不变。成功读取后才更新 observation.historyRevision,失败保留原消息、原版本并显示具体错误。事件故障的历史核对也覆盖没有队首的会话,不接管原生执行、不重发输入。

【中文】:http://www.chinac.cn/cn/】协商 capabilities.executionRecovery 【翻译 session.executionRecovery , PID,正在运行/分离/未知。只有原生会话notLoaded,未被本节点接管,没有activeTurnId且写锁确认为未举行时才声明分离;PID或锁文件缺失本身不充当把终态。

已接纳队首等待超过 60 秒仍没有精确终态时,队列投影提供 recovery.id。界面经二次确认调用 editInstructionQueue({action:'recover',id,expectedRevision}):先读原生历史并重新检查,不依赖httpd缓存;真实终态正常结算,否则仅允许分离的普通已接纳把结束等待。原生仍运行、写锁占用/未知、未决提交或控制操作、命令及身份冲突均拒绝。恢复决策以=结果未知,原/尝试,节点证据和时间存入原日报的instructionQueue.recoveries(最多64项,不自动淘汰),已接纳输入同时保存可用的原运行时证据;保存失败不移除队首。

食典委推出的终态可能以仅含id /状态,项目为空的轮次返回;客户端仍按精确id结算,不要求有助手正文。重开会话不能把缺失终态当完成;人工未知恢复和后续暂停均从原日报恢复,保存失败保留原队首。

恢复不产生完成/取消,不重发旧输入,不清除后续草稿;后续队列暂停,用户检查已有修改后发送新的继续指令。检查/resume会话。正常中断只针对单个会话/转;当前共享食品应用服务器的强杀会影响同一执行器的其他会话,本接口不将其包装为单会话重启。

项目客户端公开 executionSettings(project) 和 setExecution(project, {profile, variables}). 这些谈判 projectExecutionEnvironment 在调用新节点协议之前。配置文件摘要只包含ID、名称和执行用户名;环境源和挂载留在节点上。更新使用原始的项目修订,并且永远不会自动重试突变。

版本与发布记录

@itookit/cells-driver 共发布 2 个版本,首次发布于 2026/11/01;过去 12 个月发布了 2 个版本。

版本发布日期距今
0.4.3latest2026/11/012 天前
0.0.0-stage2026/11/012 天前

关于 @itookit/cells-driver 的常见问题

@itookit/cells-driver 是什么?

独立于平台的单元驱动程序,将信息和代理集成到NestOS中的智能节点。

如何安装 @itookit/cells-driver?

在项目目录运行 npm install @itookit/cells-driver,或使用 pnpm add / yarn add / bun add。

@itookit/cells-driver 支持 TypeScript 吗?

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

@itookit/cells-driver 支持 ESM 还是 CommonJS?

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

@itookit/cells-driver 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@itookit/cells-driver 可以商用吗?

@itookit/cells-driver 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@itookit/cells-driver 还在维护吗?

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