# @diffohq/diffo 中文文档

规范地址：https://npmcn.com/package/%40diffohq/diffo/

版本：0\.23\.0
npm 元数据更新时间：2026-11-09T15:09:54.918Z
中文译文更新时间：2026-11-12T13:03:08.268Z
软件包许可：Apache-2\.0

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

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

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

- 包体积（解压后）：11.3 MB，160 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=24
- 运行依赖：2 个
- 首次发布：2026-08-25T13:43:15.882Z
- 最新版本发布：2026-11-09T15:09:54.581Z
- 近 30 天下载量：2432（2026-10-12 至 2026-11-10，npm 官方下载统计）
- 已发布版本数：32（近 12 个月 32 个）

## 中文简介

本地的 AI 时代的活代码审查 —— 读一下代理写的东西,然后直接反馈, 或者在你身后审查一个 GitHub 拖拉请求

## 安装

```sh
npm install @diffohq/diffo
```

也可以使用：`pnpm add @diffohq/diffo`、`yarn add @diffohq/diffo`、`bun add @diffohq/diffo`

## README

[![Diffo: the human way to review agent-written code](https://npmcn.com/package/%40diffohq/diffo/assets/readme-hero.svg)](https://diffohq.github.io/diffo/)

叫你的经纪人来审查一下 你得到零钱 **层**按顺序排列 读取,以及 **每条评论的另一端的代理**: 它在线上回答并修正 你读的时候。 把它交给一个拉取请求, 它读在你旁边,并发送你的 向 GitHub 检讨.

[快开始](https://npmcn.com/package/%40diffohq/diffo/#readme-quick-start) • 妇女 [谈话](https://npmcn.com/package/%40diffohq/diffo/#readme-talk-to-the-agent-on-the-line) • 妇女 [层](https://npmcn.com/package/%40diffohq/diffo/#readme-read-it-in-layers) • 妇女 [调取请求](https://npmcn.com/package/%40diffohq/diffo/#readme-review-a-pull-request) • 妇女 [文档](https://npmcn.com/package/%40diffohq/diffo/#readme-docs) • 妇女 [捐款](https://npmcn.com/package/%40diffohq/diffo/#readme-contributing)

[![CI](https://img.shields.io/github/actions/workflow/status/DiffoHQ/diffo/ci.yml?branch=main&label=CI&style=flat-square)](https://github.com/DiffoHQ/diffo/actions/workflows/ci.yml) [![npm](https://img.shields.io/npm/v/%40diffohq%2Fdiffo?label=npm&style=flat-square&color=1f883d)](https://www.npmjs.com/package/@diffohq/diffo) [![License](https://img.shields.io/badge/license-Apache--2.0-1f883d?style=flat-square)](https://npmcn.com/package/%40diffohq/diffo/LICENSE) [![Docs](https://img.shields.io/badge/docs-diffohq.github.io-1f883d?style=flat-square)](https://diffohq.github.io/diffo/)

![The Diffo loop. In the agent's terminal you type /diffo and the review opens beside it. You ask a question on line 14, and it flies to the agent; the agent fixes the code and answers, and the answer and the fix fly back, landing in the thread and in the diff you are reading.](https://npmcn.com/package/%40diffohq/diffo/docs/assets/readme-demo.svg)

整个循环: 类型 `/diffo`回答和修补 回到你正在读的diff.

* * *

## 快开始

要求数 **节点 · 24** 财务报告和审定财务报表 **gi**粘贴到 Claude 代码、 Cursor、 Codex 或 您已经使用的代理 :

```text
Run `npx skills add DiffoHQ/diffo --skill diffo -g` and open the diffo review
```

这是整个安装。 从此以后,任何会话中都有一个命令:

| 运行 | 和代理审查 |
| --- | --- |
| `/diffo` | 刚刚写的,在事情发生之前 |
| `/diffo main` | 自从你分道扬镳以来的一切 `main` |
| `/diffo <PR link>` | a GitHub 拖取请求, 在自己的工作树上查看; 您的检讨完成后返回 GitHub |

每一次,代理打开审查并交给你URL. 都运行在你身上 机器,不需要先犯或先推 牵引请求需要 [GitHub 缩写](https://cli.github.com/) 签入。 否则你唯一留下的 机器是两起匿名小事件 每一次评论, [全部列入清单](https://diffohq.github.io/diffo/telemetry) 关闭 `diffo telemetry off`。 。 。 .

新来的? [**你的第一次回顾,结束到结束**](https://diffohq.github.io/diffo/tutorial) 大约五分钟.

## 跟线上的人谈谈

**我们用LLM写代码. 我们单独审查一下.**

写作变成了一个对话:你和模型在同一窗口,交易背景直到 事情是对的。 从没有审查过 密码落地了,谈话结束,你走 一个人读四百行 在一个为世界而建的观赏器里 已经走了.

迪福通过评论保持对话开放. 判决还是你的 你刚刚 别一个人看书了.

-   **随时问.** 在线条中写代码答案的代理商 当形状需要时用图表。 标记线程 a **问题** 并解释它 (单位:千美元) **变动** 它会编辑,所以一个问题永远不会变成一个没有要求的重构.
-   **在你读的书里修地道.** Diff 在光标下更新,以及 a 哼,你已经读到说 _从你读起就变了_,所以第二次通行证停留 诚实.
-   **是地图 不是判决.** 在一个多文件或微妙的更改中,代理打开审查 并给出一个关于变化作用的评论。 从来没有预先审查: 没有判决, 没什么好说的 这种判断是它不能做的.

## 分层读取

Diff按字母顺序到达,这几乎从来不是读取的顺序. 问,和 代理员额 **层**: 更改为命令步骤,每个步骤都有标题、摘要及其 文档。 你一次读一个层次, 按照代理解释的顺序; `]` 步骤 下一个 任何特工在张贴后接触的东西 _从你审查以来_ 层, 所以计划之外没有什么能隐藏的.

![Layers in Diffo. The header chip reads agent · suggests layers and the reviewer accepts. The request crosses to the agent's terminal, which outlines the 13-file change as four ordered steps and posts them with diffo layers. Four layers land in the rail; the first layer's card draws its diagram, its files are read and ticked, and \] steps to the second and third layers.](https://npmcn.com/package/%40diffohq/diffo/docs/assets/readme-layers.svg)

十三个文件,字母顺序,成为四个步骤,按顺序阅读.

## 审查拉动请求

当拉起请求降落 __ 桌子,给你的经纪人链接。 检查公关 在自己的工作树上, 所以你的退房 从来没有触摸过, 打开它一样 检讨:描述和GitHub线程随同来,代理读取旁边 你作为一个副驾驶 它没有写代码。 每条评论都有两个分页. **关于 PR 的评论** 给作者,作为你完成的一次评论. **询问代理** 留在你的机器上: 代理可以进行测试 并用证据回答, 它从来没有张贴到 GitHub.

![A pull request in Diffo: you hand the PR link to your agent and it is checked out in a worktree of its own; a Private question on line 13 crosses to your agent, which runs the tests and answers in the thread; a PR comment waits as a draft until Submit review, and then the review crosses to GitHub, while the private thread stays on your machine.](https://npmcn.com/package/%40diffohq/diffo/docs/assets/readme-pr.svg)

两个目的地:a **私营** 问题交给你的经纪人 永远不要离开你的机器 **公关评论** 等待作为草稿,并在提交时前往 GitHub .

## 合适的话

迪福不是AI评论员. 它没有分级你的diff 或留下生成的niticks: 你 读取,代理在那里 回答,解释,和修复.

|  | **迪福** | AI 审查器机器人 | 纯拉动请求审查 |
| --- | --- | --- | --- |
| 谁读的代码 | **你们** | 一个模型 | 你们 |
| 谁回答你的问题 | **代理,在线,现在** | 没人 | 作者,当他们得到它 |
| 何时 | **当代理商写作时,或者当公关着陆时** | 你推车后 | 你推车后 |
| 出来的东西 | **diff 中的修正, 或 GitHub 上的检讨** | 评论意见清单 | 关于 GitHub 的回顾 |

## 如何运作

![Diffo's architecture: your agent writes the code and opens the review; a local Diffo server watches the changeset and serves it to your browser; your comments and Finish review return to the agent through diffo poll, and its answers and fixes land back in the review live.](https://npmcn.com/package/%40diffohq/diffo/assets/how-it-works-light.svg)

一个过程在你的机器上,注定要回回回:没有帐号,没有云,也没有模型 API. 它报道的一件事是 [匿名使用数据](https://diffohq.github.io/diffo/telemetry), (中文(简体) ), 每个评论中有两个事件, 从来没有代码或路径, 关闭一个命令。 迪福产下没有毒剂 你已经说过要通过 `diffo` CLI,这样 您的评语会出现在相关时段 。 查看器本身是一个真正的 diff 查看器,统一和分割,键盘第一,与 GitHub的公约. CLI,旗帜, 和罩下的一切 都在文件.

## 文档

|  |  |
| --- | --- |
| [**你的第一次回顾**](https://diffohq.github.io/diffo/tutorial) | 整个循环结束,大约五分钟 |
| [**开始**](https://diffohq.github.io/diffo/guide/getting-started) | 安装, 在每个代理设备被接通的地方 |
| [**审阅循环**](https://diffohq.github.io/diffo/guide/the-loop) | 阅读、评论和代理人收到的物品 |
| [**层**](https://diffohq.github.io/diffo/guide/layers) | 特工的读取计划: 命令步骤,一次一个 |
| [**审查拉动请求**](https://diffohq.github.io/diffo/guide/pr-review) | 工作树上的GitHub公关 你的经纪人在你旁边 你对GitHub的评论 |
| [**如何运作**](https://diffohq.github.io/diffo/guide/how-it-works) | 组件和服务器生命周期 |
| [**代理人方面**](https://diffohq.github.io/diffo/agents) | 代理协议:每个命令,每个有效载荷 |
| [**建筑**](https://diffohq.github.io/diffo/architecture) | Diff 管道、 交付队列、 SQLite 状态 |
| [**国 际**](https://diffohq.github.io/diffo/reference/cli) 财务报告和审定财务报表 [**键盘快捷键**](https://diffohq.github.io/diffo/reference/keyboard-shortcuts) | 参考文献 |
| [**财务问题**](https://diffohq.github.io/diffo/faq) | 简短的答案 |

## 打开核心

这个寄存器中的所有东西都是核心,核心保留了Apache-2.0:本地审查 代理循环,牵引请求审查,CLI,代理技能. 脱机,一个 审校,永远免费 已经计划了东道团队的级别, 并且不需要 付费墙背后的现有核心特征 : **任何在你的机器上运行的 审校是核心.**

## 捐款

Diffo为前1.0:这个repo每天随它审查,边缘仍然在移动. `pnpm check` 开着五道门 CI跑道 一个硬规则: **`skills/diffo/SKILL.md` 实值 生成** 从 [`src/skill.ts`](https://npmcn.com/package/%40diffohq/diffo/src/skill.ts); 编辑源并运行 `pnpm build:skill`。 。 。 . [捐款额](https://npmcn.com/package/%40diffohq/diffo/CONTRIBUTING.md) 剩下的,还有.. [行为守则](https://npmcn.com/package/%40diffohq/diffo/CODE_OF_CONDUCT.md), (中文(简体) ), 页:1 [变化](https://npmcn.com/package/%40diffohq/diffo/CHANGELOG.md),则 [洛杉矶](https://npmcn.com/package/%40diffohq/diffo/CLA.md) 一个机器人询问第一次贡献者 签名,一个回复.

发现安全隐患了吗? 请不要公开讨论 这个 [安全政策](https://npmcn.com/package/%40diffohq/diffo/SECURITY.md) 说何处寄出及所入范围.

[![Contributors](https://contrib.rocks/image?repo=DiffoHQ/diffo)](https://github.com/DiffoHQ/diffo/graphs/contributors)

## 许可证和商标

Diffo 是打开源 [Apache 许可证 2.0](https://npmcn.com/package/%40diffohq/diffo/LICENSE)整个,今天。 A 类 [迪福企业许可证](https://npmcn.com/package/%40diffohq/diffo/ENTERPRISE-TERMS.md) 已存在但目前覆盖 **没有文件 全部**它被写下来 所以开放的核心边界 在需要它之前就解决了 承诺Apache-2.0在发布版本中不会在以后移动.

这个 **迪福** 名称和标志是Diffo的商标: [许可证覆盖代码,而不是名称](https://npmcn.com/package/%40diffohq/diffo/TRADEMARK.md).欢迎叉子 以你自己的名义.

## 常见问题

### @diffohq/diffo 是什么？

本地的 AI 时代的活代码审查 —— 读一下代理写的东西,然后直接反馈, 或者在你身后审查一个 GitHub 拖拉请求

### 如何安装 @diffohq/diffo？

在项目目录运行 npm install @diffohq/diffo，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 diffo，可以用 npx diffo 直接运行。

### @diffohq/diffo 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/diffohq\_\_diffo 是否存在。

### @diffohq/diffo 支持 ESM 还是 CommonJS？

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

### @diffohq/diffo 需要什么版本的 Node\.js？

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

### @diffohq/diffo 可以商用吗？

@diffohq/diffo 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @diffohq/diffo 的下载量有多少？

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

### @diffohq/diffo 还在维护吗？

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

