# @fungi\.computer/parakeet 中文文档

规范地址：https://npmcn.com/package/%40fungi.computer/parakeet/

版本：0\.12\.0
npm 元数据更新时间：2026-11-15T21:55:51.033Z
中文译文更新时间：2026-11-15T18:02:36.217Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：1.5 MB，155 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：23 个
- peer 依赖：react ^18\.2\.0 \|\| ^19\.2\.0，react-dom ^18\.2\.0 \|\| ^19\.2\.0，@tanstack/react-query ^5\.102\.8
- 首次发布：2026-10-16T18:05:32.687Z
- 最新版本发布：2026-11-15T21:55:50.834Z
- 近 30 天下载量：15518（2026-10-16 至 2026-11-14，npm 官方下载统计）
- 已发布版本数：61（近 12 个月 61 个）

## 中文简介

对已键入的Shiitake 会话进行独立反动作曲

## 安装

```sh
npm install @fungi.computer/parakeet
```

也可以使用：`pnpm add @fungi.computer/parakeet`、`yarn add @fungi.computer/parakeet`、`bun add @fungi.computer/parakeet`

## README

# 鹦鹉( Parakeet )`@fungi.computer/parakeet`(中文(简体) )

Parakeet从打入的Shiitake会话中调出一个代理谈话. 浏览器 主机使用它的反应视图;终端主机使用它的无头钩来渲染 同样的历史,作曲和地位 通过他们自己的UI.

网站主机挂载相同 `Parakeet` 在孤立的iframe中组件。 A 类 访问者会议适配器提供访问者范围会议阅读、观看和 即时命令; 证书和录取仍由主机保存 . `markdownPolicy="visitor"` 在不加载图像的情况下使Markdown链接 不安全的目的地。 记录了人类的迅速回归 `status: "recorded"`, (中文(简体) ), 不是伪造的代理工作接受书。 关闭视图停止观察,而不是 探员的工作 过 `visitor={{ agentName: "Front Desk" }}` 隐藏模型, 使用和指挥控制。 斜线前缀文本仍为正常访问者 消息; 访问者模式不登记或执行斜线命令.

## 设置

安装 `@fungi.computer/parakeet` 从npm。 它需要兼容的反应和 反应 DOM 配对, TanStack 查询和由主机提供的授权会话. 该表支持18.2或19.2反应,以及后来在这些主要版本内.

```sh
npm install @fungi.computer/parakeet react react-dom @tanstack/react-query
```

浏览器主机导入 `@fungi.computer/parakeet/styles.css` 一次 一次吗 它包括 Caps/Stipe基金会和对话设施。 不同时装入 `@fungi.computer/caps/styles.css` 在该文件。 导入 Caps 中 `fonts.css` 当使用捆绑的字体时,由您的捆绑者处理字体 URL.

一个主机正在编译它自己的 Tailwind 公用设备 `/tailwind.css` 来源 转而供应自己的 `@source`。构建的样式表无法扫描您 主持人的附加课.

## 在浏览器中快速启动

说明:您的主机提供授权 `ParakeetSession` 和浏览器 处理CSS的捆绑工. 此组件拥有其查询缓存, 并打开 卸载。 它不创建代理,在工具上签名或授予工具.

```tsx
import { useEffect, useState } from "react";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import { Parakeet, type ParakeetSession } from "@fungi.computer/parakeet";
import "@fungi.computer/parakeet/styles.css";

export function Conversation({ session }: { session: ParakeetSession }) {
  const [queryClient] = useState(() => new QueryClient());
  useEffect(() => () => queryClient.clear(), [queryClient]);
  return (
    <QueryClientProvider client={queryClient}>
      <Parakeet session={session} />
    </QueryClientProvider>
  );
}
```

Parakeet从未读取消息的主机元数据本身. 为了显示谁写了台词, 通过 `authorOf`: 您将元数据读取为 `ParakeetAuthor` (单位:千美元)`{ id, name }`) (中文(简体) ). 真菌的应用程序通过 `messageAuthor` 从 `@fungi.computer/agar/agents`;没有它,行显示没有作者.

该观点介绍了会议所观察的历史、现场工作、作曲家和 错误。 屏幕阅读器获得与作曲页脚相同的会话状态 透过隐藏的礼貌活区;流出记录符就在外 区域。 会话运输仍由呼叫者拥有. 发表观察意见 不取消接受的工作或关闭借用的代理人。 替换 a 会话,提供新手柄,而不是将快照复制到另一个 可写作的商店.

在触摸主设备时, 输入插入一行并提交发送按钮 草案。 在桌面上, Enter 提交和 Shift+Enter 插入一条新行.

这个 [独立作曲测试](https://npmcn.com/package/%40fungi.computer/parakeet/test/standalone-composer.test.tsx) 练习 提供商、查询缓存、观察和迅速录入的有打字装置. 浏览器合同使用带有固定会话的真实组件. 一个假的 会话检查组件,而不是主机认证或模型提供者.

## 共享作曲家

`ComposerShell` 是共享聊天和一代作曲的表面. 它拥有 卡片、字段套装、高度限制和一行非包装控制;呼叫器 提供它们的字段、控制器、托盘内容和动作,而不是另一个工具栏 设置. `useComposerTextareaSize(ref, value)` 生长在其中任一领域 共享限制。 完整样式表包括此布局; 主机汇编其 拥有 Caps 工作表导入 `@fungi.computer/parakeet/composer-shell.css` 并行 完成菜单样式表.

真正的Grove/Prints工作室证明是 `pnpm --filter @fungi.computer/grove test:composer-parity`。它要求两者 工作间( 0)`GROVE_WORKBENCH_URL` 编号 : `PRINTS_WORKBENCH_URL`)和检查平等 几何学,一个右尖端的Send键,两个主题中390px没有包接的控制. `COMPOSER_PARITY_SHOTS` 可选择保存六个匹配的相邻图像.

## 核心概念

| 表面 | 它拥有的 |
| --- | --- |
| `Parakeet` | 浏览器的对话,包括提供者和视图. |
| `ParakeetProvider` 编号 : `ParakeetView` | 当主机需要在同一对话范围内的自定义控制时,单独组成. |
| `useTimeline()` | 持久历史和可替换的活尾巴,有界限的历史呼喊和模型/使用演示. |
| `useComposer()` | 草案、提交、待工、取消和重试控制. |
| `useStatus()` | 被观察的工作和连接状态,包括目标控制. |
| `useMarkdown(content)` | 解析自定义和终端渲染器的聊天 Markdown. |

两种组成形式都需要主机 `QueryClientProvider`。 。 。 . `Parakeet` 拿着 `session` 直接说 单独组成,通过 `session` 改为 `ParakeetProvider` 设置 `ParakeetView` 和习惯钩消费者 在它下面. 过 `commands` 和向视图展示道具,而不是提供者.

`Parakeet` 财务报告和审定财务报表 `ParakeetView` 共享这些可选演示文稿道具 :

| Prop | 合同 |
| --- | --- |
| `composerActionVariant` | `"primary"` 或者说 `"outline"`。 。 。 . |
| `renderToolActions` | 已完成动作的主机 `ToolItem`。 。 。 . |
| `renderAssistantAttachment` | 接收已解决的原始回复文本. |
| `formatAssistantText` | 更改显示的回复文本而不更改附件输入 . |
| `onLink` | 接收文本 URL; 返回 `true` 以防止浏览器导航. |
| `empty` | 替换空对讲内容. |

从 `/headless` 在终端。 那个条目 避免装入 DOM 演示文稿、 Caps 和 Sprite 关闭 。 根出口 同样的钩子 对于浏览器呼叫者。 他们分享了会场的 TanStack 查询 缓存。 衍生原子选择观察到的值而不是重复会话 事实 历史页面按会话地址共享主机缓存并幸存 提供者重新挂载到缓存到期 。 Page 保留了 4 个100 个消息 页面中,带边框返回光标的会话前仅读取 API. 跳转到最近取消未完成的历史 历史之窗;直播观察仍相隔.

工具调用在共享预测中分组. 浏览器和终端渲染器 接收相同的打入式摘要、错误首节并编辑 diff . 披露状态属于视图. 入球行显示承诺入球; 浪费它让当前被接受的工作运转。 闲聊状态确实如此 不是说目标完成了.

## 命令和错误

一个主机可以提供它的Whistle运行时间通过 `commands`。帕拉基特构建 该主机的斜线登记册,其内置和广告的扩展目录. 它拥有解析,完成,稳定的请求身份和交互状态. 浏览器和终端提供同样的问题、选择和通知. `/model` 财务报告和审定财务报表 `/thinking` 使用交互路径.

`ParakeetProvider` 接受 `onToast` 暂时命令信息。 东道主 透过它现有的烤面包店主: 终端共享的烤面包 风景或树林 `ui.showToast`。 。 。 . `ParakeetInteractions.toast` 财务报告和审定财务报表 `subscribeToasts` 暴露出相同的渲染器中性接缝。 普通第一顺位 复声是沉默的,包括在对话完成后。 进展、问题和 交割在活动时仍保留在互动中;失败保留重试 或注意UI而不是作为信息过期.

之后 再试一次,最后的信息 或成功通知留在里面 交互是现有的结果行, 直到 Done/ 关闭, 没有额外的祝词 。 A 类 提供无完成通知的生产者不会得到捏造的结果.

账户命令是中立的。 东道主的账户所有人和政策 决定可用的登录方法。 演示文稿层没有获得 认证存储或发布命令授权.

排队时间行提供取消通过 `useTimeline().cancelQueued(commandId)`。行会立即消失,同时 现有会话所有者决定仅待决取消。 这从不 停止运行回合或恢复给作曲者的文本。 太迟或太晚 未经证实的反应产生警告,并恢复任何仍报告为 已队列; 接受的响应会通过已队列的快照隐藏到 车主的投影赶上了 只有一个排队的手势等待它的主人 一个时间,切换对话框会丢弃其演示文稿状态。 回顾 仍然是单独的恢复到组合的姿态.

作曲家通过请求身份来调和乐观的提示和所有者的事实. 立即提交草案,并增加一个已淡出的信息. 接受会恢复正常的强调;所有者排队的消息仍然会淡出. 若为 注册失败, 准确提交的文本返回给作曲者和主机 收到一个错误的祝词。 任何更新的草稿先留下,然后是空白行 和已恢复的文本; 接受永远不会清除更新的打字。 一个不确定 承认时保留其请求身份,而所有者解决。 一个接受的 解析确认已接受的命令或记录条目;仅确认 撤回恢复草案并允许以新的请求身份重试, 因为旧身份是永久的 重试失败或中断 持久工作还提交新的请求身份, 保存失败的提示 文本和图像货物,包括活页拆迁后的仅图像提示. 这个 不消耗更新的未经同意的草稿。 显示连接失败 失败; 重新连接无法证明未完成或重新提交 自动。 输入的命令错误仍然可见并可以重试 。 东道主 仍然负责会话运输、当前权限和操作员 诊断.

一个所有者接受的取出收据可以命名一个可运行的收录条目: `receipt.commandId === message.id` 虽然 `message.commandId === null`。 。 。 . 该收据证实了持久的记录,而不是取消或模式接纳。 A 类 翻译主机在其持久的元数据中保留了原始作曲身份 并预测为 `messages[].requestId` 或者说 `pending.prompts[].requestId`; 其编号 内部录取的钥匙不是那个身份.

## API 和实例

使用 [生成 API 引用](https://npmcn.com/package/%40fungi.computer/parakeet/docs/api/README.md) 财务报告和审定财务报表 [出口](https://npmcn.com/package/%40fungi.computer/parakeet/package.json)。根拥有浏览器组件, `/headless` 拥有 共享的钩子, `/slash` 拥有命令语法,以及 `/agent-head` 拥有代理 出庭合同.

[转写故事](https://npmcn.com/package/%40fungi.computer/parakeet/workbench/transcript.stories.tsx) 显示已确定, 流出 和失败的答复. [工具组故事](https://npmcn.com/package/%40fungi.computer/parakeet/workbench/tool-groups.stories.tsx) 显示 共同预测. [斜线等同测试](https://npmcn.com/package/%40fungi.computer/parakeet/test/slash-parity.test.tsx) 检查 共同互动合同. [无头表面试验](https://npmcn.com/package/%40fungi.computer/parakeet/test/headless-surface.test.ts) 检查那个非浏览器 进口独立于 DOM 视图.

## 贡献和许可证

在最近的对话,命令或渲染测试中添加固定大小写. 从 仓库根 :

```sh
pnpm --dir packages/parakeet run test
pnpm --dir packages/parakeet run browser:contract
pnpm --dir packages/parakeet run docs
```

浏览器合同需要存储器配置的浏览器工具. 单位 检查不能取代这个证据。 Parakeet 持有麻省理工学院许可证;参见 [自由主义](https://npmcn.com/package/%40fungi.computer/parakeet/LICENSE)。 。 。 .

## 类型脚本消费者依赖性

安装 `@modelcontextprotocol/sdk@1.25.2` 编译时与此软件包并列 其完整的公开声明。 共享提供者 SDK 导入这些类型 通过一个可选的同伴;包装的消费者明确供应. 这个可以 不需要供应商账户或提供商打电话.

## 包装的消费者准备状态

运行 `pnpm run build`, (中文(简体) ), `pnpm run pack` 财务报告和审定财务报表 `pnpm run stranger` 本包中. 保存的陌生人证明只安装了包裹 tarball 到新鲜npm 消费者,检查准确的运出文件,运行公共运行时间固定和 编译每个 JavaScript 入口, 严格节点Next 且没有库检查 跳过。 此资格不发布 npm 发布或推动仓库 分页.

见 [自由主义](https://npmcn.com/package/%40fungi.computer/parakeet/LICENSE) 许可证和清单 仓库目标.

## 常见问题

### @fungi\.computer/parakeet 是什么？

对已键入的Shiitake 会话进行独立反动作曲

### 如何安装 @fungi\.computer/parakeet？

在项目目录运行 npm install @fungi\.computer/parakeet，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：react（^18\.2\.0 \|\| ^19\.2\.0）、react-dom（^18\.2\.0 \|\| ^19\.2\.0）、@tanstack/react-query（^5\.102\.8）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @fungi\.computer/parakeet 支持 TypeScript 吗？

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

### @fungi\.computer/parakeet 支持 ESM 还是 CommonJS？

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

### @fungi\.computer/parakeet 可以商用吗？

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

### @fungi\.computer/parakeet 的下载量有多少？

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

### @fungi\.computer/parakeet 还在维护吗？

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

