# @estiva-app/conversation 中文文档

规范地址：https://npmcn.com/package/%40estiva-app/conversation/

版本：0\.42\.0
npm 元数据更新时间：2026-11-13T21:27:34.715Z
中文译文更新时间：2026-11-13T23:03:09.585Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40estiva-app/conversation
原文对照：https://npmcn.com/package/%40estiva-app/conversation/?lang=original
项目主页：https://github.com/estiva-app/estiva-foundation#readme
源码仓库：https://github.com/estiva-app/estiva-foundation

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

- 包体积（解压后）：1 MB，144 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=20
- 运行依赖：0 个
- peer 依赖：@estiva-app/protocol \>=0\.58\.0
- 首次发布：2026-09-30T13:33:46.832Z
- 最新版本发布：2026-11-13T21:27:34.415Z
- 近 30 天下载量：7638（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：47（近 12 个月 47 个）

## 中文简介

Estiva SPEC 的对话规则(§6.2–§6.8,§11):评论并提及长处,线程,消息和线程的一形状,解决线程,线程规则,编辑,反应和附件折叠,NIP-22 评论和回覆构建者,draf

## 安装

```sh
npm install @estiva-app/conversation
```

也可以使用：`pnpm add @estiva-app/conversation`、`yarn add @estiva-app/conversation`、`bun add @estiva-app/conversation`

## README

# @stiva-app/对话

谈话规则 [Estiva SPEC 计划](https://github.com/estiva-app/estiva-docs/blob/main/protocol/SPEC.md) §6.2–§6.8 对于一个不愿自己执行的应用程序. 皮克,飞船 和estiva -agent读 通过它的对话.

**方便,从不要求.** SPEC §9的对话检查 (C10-C18)是写作的,所以应用程序可以从规格中构建对话 单枪匹马,这个包的测试就是那些检查 (单位:千美元)`test/conformance.test.ts` 用于C10-C16, `test/membership.test.ts` 用于C17和C18, `test/textMentions.test.ts` 页:1 如果您发现这个包与 SPEC,包裹错了.

```bash
npm install @estiva-app/conversation @estiva-app/protocol
```

`@estiva-app/protocol` 是一个同行。 这里什么都没有打开插座,拿着 证书或触摸浏览器全局:中继读取为 `QueryFn` 你们 通过,钟是 `createdAtMs` 你通过, 和草稿拿走他们的存储.

## 里面有什么东西

|  | SPEC( SPEC ) | 出口 |
| --- | --- | --- |
| 评论或提及 | 第6.4节 | `isCommentOn`, (中文(简体) ), `strengthOn`, (中文(简体) ), `threadStrength`, (中文(简体) ), `anchorsOf`, (中文(简体) ), `isReply`, (中文(简体) ), `namedInBody` |
| 线程 | 第6.4节 _答复_ | `parentOf`, (中文(简体) ), `groupThreads` |
| 每个应用程序都有一个形状,用于一个消息、一个答复和一个线程:一个顶级消息,显示,删除或不返回 | 第6.3-6.8节 | `foldThreads`, (中文(简体) ), `Message`, (中文(简体) ), `Thread` |
| 解析线索: 在其信件文件夹中的最新计数 | 第6.4节 _解析线程_,C51 数据 | `resolutionOf`, (中文(简体) ), `resolutionsByTarget`, (中文(简体) ), `resolutionTargetOf` |
| 在信件行所画的地方: 仅其行上的链接就是其文件行 | 第13.2条,第13.6.2条,C21 | `placeLines`, (中文(简体) ), `writtenUrlOf`, (中文(简体) ), `urlNames` |
| 写作 | 第6.4节,第13.6节 | `buildComment`, (中文(简体) ), `buildReply`, (中文(简体) ), `placeOf`, (中文(简体) ), `referenceTagsFor`, (中文(简体) ), `mentionTagsFor` |
| 作曲家的挑剔写道 | 第13.1节 | `mentionText`, (中文(简体) ), `messageReference`, (中文(简体) ), `urgentTagsFor`, (中文(简体) ), `URGENT_TAG` |
| 共享的评语框所持有的内容,如它所写的,然后返回 | 第13.1节 | `composerText`, (中文(简体) ), `composerDocument`, (中文(简体) ), `withoutNewUrgency`, (中文(简体) ), `composerDraft` |
| 当一个注释被写出或编辑时,一个框在它下面显示什么:一个文件的卡(一个编辑自己的卡,带有它的qq)和每个块链接的部分,以及 `embed` 发送或编辑 | 第13.6.1节,第13.6.2节 | `boxReadOf`, (中文(简体) ), `boxLinksOf`, (中文(简体) ), `embedsToSend`, (中文(简体) ), `embedsToEdit`, (中文(简体) ), `namedBefore`, (中文(简体) ), `withoutCard`, (中文(简体) ), `linkTargetOf` |
| 什麽 `[` 提供,并按什么顺序:文件,然后是信息,由它自己的单词找到的信息 | 第13.1节 | `rankReferences`, (中文(简体) ), `referenceSectionsOf`, (中文(简体) ), `messageCandidate`, (中文(简体) ), `referenceMatch`, (中文(简体) ), `fileReference`, (中文(简体) ), `referenceSearch`, (中文(简体) ), `MESSAGE_TIER`, (中文(简体) ), `FILE_TIER`, (中文(简体) ), `REFERENCE_CAPS` |
| 作为预览行的一条消息会说它,它所命名的链接; 它被找到的词 | 第13.1节,第13.6.2节 | `openingWords`, (中文(简体) ), `referenceWord`, (中文(简体) ), `messageWords` |
| 命令 | §6.2, 第6.3节 | `trustedTs`, (中文(简体) ), `orderingMs`, (中文(简体) ), `byOrder` |
| 编辑和附件 | 第6.8节 | `editTargetOf`, (中文(简体) ), `foldEdits`, (中文(简体) ), `foldAttachments` |
| 反应 | 第6.6节 | `REACTION_HORIZON`, (中文(简体) ), `reactionHorizon`, (中文(简体) ), `reactionTargetOf`, (中文(简体) ), `reactionEmojiOf`, (中文(简体) ), `foldReactions` |
| 对一个人的反应 | 第6.6节、第11.8节 | `reactionsToMeFilter`, (中文(简体) ), `reactionTakeBackFilter`, (中文(简体) ), `keepReactionToMe`, (中文(简体) ), `reactionsToMe`, (中文(简体) ), `reactionStreamOf`, (中文(简体) ), `newReactionsIn`, (中文(简体) ), `reactionsSeenWrites` |
| 上面全部读作 | 第6.6节,第6.8节 | `decorationsOf` |
| 提供哪些控制 | 第6.5节 | `offersEditAndDelete` |
| 草稿 | —— 说 | `createDraftStore`, (中文(简体) ), `draftKeys` |
| 成员 | 第11.8节 | `membershipOf`, (中文(简体) ), `membersOf`, (中文(简体) ), `streamOf`, (中文(简体) ), `membershipFilters`, (中文(简体) ), `candidateFilesOf`, (中文(简体) ), `buildMembershipChange` |
| 变音 | 第11.8节 | `parseMutedBlob`, (中文(简体) ), `serializeMutedBlob`, (中文(简体) ), `buildMutedEvent`, (中文(简体) ), `mutedFilter`, (中文(简体) ), `mutedFromFollowed` |
| 地点和以下 | 第11.8节 _地点和以下_ | `followingOf`, (中文(简体) ), `placeKindOf`, (中文(简体) ), `placeFilters`, (中文(简体) ), `unreadOnPlace`, (中文(简体) ), `isUnreadOnPlace`, (中文(简体) ), `buildLevelChange`, (中文(简体) ), `parseTeamsBlob`, (中文(简体) ), `serializeTeamsBlob`, (中文(简体) ), `buildTeamsEvent`, (中文(简体) ), `teamsFilter` |
| 已读状态 | 第11.1-11.6节 | `channelContext`, (中文(简体) ), `fileContext`, (中文(简体) ), `threadContext`, (中文(简体) ), `loadSlotIdentity`, (中文(简体) ), `advanceContexts`, (中文(简体) ), `fetchReadState`, (中文(简体) ), `publishReadState`, (中文(简体) ), `createReadStateQueue`, (中文(简体) ), `watchDwell`, (中文(简体) ), `mergeSlots`, (中文(简体) ), `effectiveReadAt`, (中文(简体) ), `THREAD_RULE_FROM`, (中文(简体) ), `REPLY_FLOOR_CONTEXT`, (中文(简体) ), `capReadStateContexts`, (中文(简体) ), `reactionsContext`, (中文(简体) ), `REACTIONS_FLOOR_CONTEXT`, (中文(简体) ), `reactionsSeenOf`, (中文(简体) ), `isCarriedContextId` |
| 未读 | 第11.3节,第11.8节 | `unreadIn`, (中文(简体) ), `isUnread` |
| 在文件中提及 | 第11.8节,第13.1节 | `mentionAddsFor`, (中文(简体) ), `newlyNamedPeople`, (中文(简体) ), `peopleNamedInText` |

聊天、编辑、反应和删除用 `@estiva-app/protocol`是因为 `buildMessage`, (中文(简体) ), `buildEdit`, (中文(简体) ), `buildReaction` 财务报告和审定财务报表 `buildDeletion`。 。 。 .

读状态像其它环境一样使用它的环境:槽存储和随机性 (单位:千美元)`loadSlotIdentity`),中继查询,签名和NIP-44(`fetchReadState`, (中文(简体) ), `publishReadState`) (中文(简体) ). 何时写作也可以从这里来: `createReadStateQueue` 是读取的标签标记的队列( 跳出,在每一个小块发布前 读取它自己的插槽 后退,换人),以及 `watchDwell` 标记屏幕上留下的 `READ_DWELL_MS`. 船舶和叶子都使用;一个应用软件可能仍然会写自己的.

**从您已经装入的文件点亮一个点, 而不是仅仅从发现.** A 类 文件的会员来自 `membershipOf` 对于文件本身的事件 一个应用程序已经保存了它显示的任何文件. `membershipFilters` 用于列入名单 "你的档案" 一个忙人的结果 被接力的限制缩短了 (每个过滤器在2026-10-01年的90天内为一人返回了2000起事件. A 类 仅根据发现而建的点会错过一个已取消的限制的文件.

## 里面没有什么

观点 (CON-18),作曲家的编辑及其作品 `@`, (中文(简体) ), `!@`, (中文(简体) ), `[` 财务报告和审定财务报表 `/` 菜单`@estiva-app/ui/editor`,它通过 `mentionText` 财务报告和审定财务报表 `messageReference` 上),一个文件夹的花名册(中继器) `kind:39002`),任何只需要一个应用软件的东西.

## 常见问题

### @estiva-app/conversation 是什么？

Estiva SPEC 的对话规则\(§6\.2–§6\.8,§11\):评论并提及长处,线程,消息和线程的一形状,解决线程,线程规则,编辑,反应和附件折叠,NIP-22 评论和回覆构建者,draf

### 如何安装 @estiva-app/conversation？

在项目目录运行 npm install @estiva-app/conversation，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@estiva-app/protocol（\>=0\.58\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @estiva-app/conversation 支持 TypeScript 吗？

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

### @estiva-app/conversation 支持 ESM 还是 CommonJS？

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

### @estiva-app/conversation 需要什么版本的 Node\.js？

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

### @estiva-app/conversation 可以商用吗？

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

### @estiva-app/conversation 的下载量有多少？

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

### @estiva-app/conversation 还在维护吗？

最新版本 0\.42\.0 发布于 2026/11/14（今天）；至今共发布 47 个版本，其中过去 12 个月发布了 47 个；首次发布于 2026/09/30。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

