@apeira/session

中文文档
0.0.8发布于 2026/08/09MITTypeScriptES Module零依赖构建来源已验证近 30 天下载 9.3万

阿皮拉特工们的树形耐久会议.

中文使用文档
文档目录4 节
  1. 使用量
  2. 代理状态同步
  3. 分支
  4. 自定义语义条目

@apeira/ 会话

阿皮拉特工的树形耐久会议历史.

使用量

import { createAgent, mem } from '@apeira/core'
import { createSession } from '@apeira/session'

const session = createSession({
  defaultRef: 'main',
  sessionStorage: mem(),
})

const agent = createAgent({
  // ...
  storage: session.storage,
})

session.sessionStorage 包含完整的仅附加日志. session.storage 是核心所使用的活动分支视图.

代理状态同步

登记册 session.plugin 与代理保存 agent.state 同步与 活动分支 checkout(), (中文(简体) ), fork() (附离职),或 rebase() 更改当前标题 :

const agent = createAgent({
  // ...
  plugins: [session.plugin],
  storage: session.storage,
})

插件还在代理频道上播放分支更改作为 session.checkout, (中文(简体) ), session.fork,以及 session.rebase 活动 save: false,因此其他订阅者可以在不持续额外条目的情况下作出反应.

agent.subscribe('session.checkout', ({ ref, state, targetId }) => {
  // ...
})

分支

await session.fork('experiment')
await session.checkout('main')
await session.rebase('experiment', 'main')

const input = await session.buildInput('experiment')
const state = await session.buildState('experiment')

字符串解析为先由 refs 解析,再由 enter ids 解析. checkout() 没有目标 创建脱去的空上下文.

自定义语义条目

除生命周期事件和会话控制条目外,每个条目都是语义 分支节点。 接收插件定义条目 parentId,推进活动 分支,通过路径、再基和克隆操作保存 特定会话配置.

譬如说, @apeira/plugin-compact 直接与会话存储工作 :

const agent = createAgent({
  // ...
  plugins: [compact({ compactAgent: { runner: summaryRunner } })],
  storage: session.storage,
})

会话将紧凑项存储为普通语义节点. 该插件拥有 如何将该条目预测为模式背景.

版本与发布记录

@apeira/session 共发布 3 个版本,首次发布于 2026/06/19;过去 12 个月发布了 3 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.0.8latest2026/08/092 个月前
0.0.72026/07/143 个月前
0.0.62026/06/194 个月前

关于 @apeira/session 的常见问题

@apeira/session 是什么?

阿皮拉特工们的树形耐久会议.

如何安装 @apeira/session?

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

@apeira/session 支持 TypeScript 吗?

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

@apeira/session 支持 ESM 还是 CommonJS?

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

@apeira/session 可以商用吗?

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

@apeira/session 的下载量有多少?

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

@apeira/session 还在维护吗?

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