# @apeira/session 中文文档

规范地址：https://npmcn.com/package/%40apeira/session/

版本：0\.0\.8
npm 元数据更新时间：2026-08-08T16:01:43.151Z
中文译文更新时间：2026-11-06T09:01:22.929Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40apeira/session
原文对照：https://npmcn.com/package/%40apeira/session/?lang=original
项目主页：https://github.com/moeru-ai/apeira
源码仓库：https://github.com/moeru-ai/apeira

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：21.5 kB，5 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：@apeira/core 0\.0\.8
- 首次发布：2026-06-19T11:33:25.696Z
- 最新版本发布：2026-08-08T16:01:42.804Z
- 近 30 天下载量：93352（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：3（近 12 个月 3 个）

## 中文简介

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

## 安装

```sh
npm install @apeira/session
```

也可以使用：`pnpm add @apeira/session`、`yarn add @apeira/session`、`bun add @apeira/session`

## README

# @apeira/ 会话

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

## 使用量

```ts
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()` 更改当前标题 :

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

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

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

## 分支

```ts
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` 直接与会话存储工作 :

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

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

## 常见问题

### @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 和提交记录判断。

