# @draftline/client 中文文档

规范地址：https://npmcn.com/package/%40draftline/client/

版本：0\.11\.0
npm 元数据更新时间：2026-11-05T22:14:11.505Z
中文译文更新时间：2026-11-13T04:57:04.136Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：149 kB，5 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：1 个
- 首次发布：2026-06-26T07:50:46.913Z
- 最新版本发布：2026-11-05T22:14:11.177Z
- 近 30 天下载量：2275（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：27（近 12 个月 27 个）

## 中文简介

Tauri 主机应用程序的草稿客户端.

## 安装

```sh
npm install @draftline/client
```

也可以使用：`pnpm add @draftline/client`、`yarn add @draftline/client`、`bun add @draftline/client`

## README

# 草稿客户端

`client/` 包含Workbench和主机应用程序使用的TypeScript命令客户端. 包着陶里 `invoke` 调用和镜像可序列的形状 `draftline::tauri_contract`。 。 。 .

客户端还曝光了稳定 Draftline 工作空间事件通道,用于 配置 Tauri 主机 :

```ts
const client = createDraftlineClient();
const unlisten = await client.subscribeWorkspaceEvents((event) => {
  if (event.kind === 'history_changed' || event.kind === 'dirty_changed') {
    // Refresh product UI from inspectWorkspace.
  }
});
```

远程合并流程使用相同的 DTO 类型 `draftline::tauri_contract`。 。 。 . 打电话 `preflightMergeIncoming` 首先;如果它返回冲突,并带有一个符号 `can_merge_cleanly: false`,使用时 `createMergeConflictViewModel` 将提交 文件/字段组和 `createWholeFileUseContentResolutions` 当产品UI 提供全文件“使用我们/他们/基地”的动作。 那些援助者 `use_content` 解析结果, 使提交的有效载荷与用户的内容匹配 审查:

```ts
await client.mergeIncomingWithResolutions({
  workspace_path: workspacePath,
  remote: 'origin',
  label: 'Resolve teammate changes',
  token: preflight.token,
  resolutions: createWholeFileUseContentResolutions(preflight, 'theirs'),
});
```

对于主机代码, `createDraftlineHostFacade` 将客户端绑定在一个工作空间路径上 并暴露产品级业务,例如: `save`, (中文(简体) ), `selectedSave`, (中文(简体) ), `diffWorkspaceFile`, (中文(简体) ), `previewWorkspaceFile`, (中文(简体) ), `fetchRemote`, (中文(简体) ), `mergeIncoming`, (中文(简体) ), `mergeIncomingWithResolutions`,本地变量合并 (单位:千美元)`preflightMergeVariation`, (中文(简体) ), `mergeVariation`, (中文(简体) ), `mergeVariationWithResolutions`, (中文(简体) ), 恢复 修复/回滚,和远程变异的采用而不重复请求 DTO 每个部件都有管道.

## 工作空间图集成

`@draftline/client` 直接导出图表 DTO 和 助手返回类型, 包括 `WorkspaceGraph`, (中文(简体) ), `WorkspaceGraphNode`, (中文(简体) ), `WorkspaceGraphRef`, (中文(简体) ), `WorkspaceGraphActionHint`, (中文(简体) ), `WorkspaceGraphBoundary`, (中文(简体) ), `WorkspaceGraphSearchResult`, (中文(简体) ), `WorkspaceGraphPath`, (中文(简体) ), `WorkspaceGraphNodeDetail`,以及 `WorkspaceGraphCompareSummary`。 。 。 .

首选边框图要求产品UI:

```ts
const facade = createDraftlineHostFacade({ workspacePath });

const overview = await facade.workspaceGraphOverview({
  max_nodes: 80,
  recent_nodes: 40,
});
const refs = await facade.workspaceGraphRefs();
const focus = await facade.workspaceGraphNeighborhood(versionId, 2);
```

使用 `workspaceGraphRefs` 便宜的补丁/补丁, `overview` 或者说 `workspaceGraphForVariation` 默认面板,以及 `workspaceGraphAroundVersion`, (中文(简体) ), `workspaceGraphNeighborhood`, (中文(简体) ), `searchWorkspaceGraph`, (中文(简体) ), `workspaceGraphPath`,以及 `workspaceGraphCommonAncestor` 专注扩张。 准备全部 `workspaceGraph` 要求明确扩大历史观点.

将图表节点ID视为不透明 。 使用路径/ 常见祖先帮助来图 关系而不是解析ID。 确定的结果可以是局部的;使用 `was_pruned`, (中文(简体) ), `has_more`, (中文(简体) ), `next_cursor`,每个节点的 `boundary` 字段改为 变成隐藏的边缘。 布局提示是稳定渲染的咨询 图表快照。 节点和参考 `action_hints` 包括稳定的动作ID,命令 名称、工作空间切换/版本创建旗帜和 `disabled_reason` 当 行动是不安全的.

从寄存器根构建 :

```powershell
npm run client:build
```

## 常见问题

### @draftline/client 是什么？

Tauri 主机应用程序的草稿客户端\.

### 如何安装 @draftline/client？

在项目目录运行 npm install @draftline/client，或使用 pnpm add / yarn add / bun add。

### @draftline/client 支持 TypeScript 吗？

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

### @draftline/client 支持 ESM 还是 CommonJS？

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

### @draftline/client 可以商用吗？

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

### @draftline/client 的下载量有多少？

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

### @draftline/client 还在维护吗？

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

