# @assertlabs/cli 中文文档

规范地址：https://npmcn.com/package/%40assertlabs/cli/

版本：0\.1\.22
npm 元数据更新时间：2026-08-02T03:05:29.681Z
中文译文更新时间：2026-11-07T00:21:09.235Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：213 kB，9 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=18
- 运行依赖：0 个
- 首次发布：2026-06-26T01:24:13.690Z
- 最新版本发布：2026-08-02T03:05:29.330Z
- 近 30 天下载量：8480（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：19（近 12 个月 19 个）

## 中文简介

# 

![logo](https://raw.githubusercontent.com/Assert-Labs/cli/main/assets/logo.png?v=1)  
显示

从任何编码代理共享会话数据 .

## 安装

```sh
npm install @assertlabs/cli
```

也可以使用：`pnpm add @assertlabs/cli`、`yarn add @assertlabs/cli`、`bun add @assertlabs/cli`

## README

# 

![logo](https://raw.githubusercontent.com/Assert-Labs/cli/main/assets/logo.png?v=1)  
显示

从任何编码代理共享会话数据 .  
[关于](https://npmcn.com/package/%40assertlabs/cli/#readme-about) • 妇女 [安装](https://npmcn.com/package/%40assertlabs/cli/#readme-installation) • 妇女 [会话格式](https://npmcn.com/package/%40assertlabs/cli/#readme-session-format) • 妇女 [支助代理人](https://npmcn.com/package/%40assertlabs/cli/#readme-supported-agents) • 妇女 [文档](https://docs.assert.dev/)

[![npm version](https://img.shields.io/npm/v/@assertlabs/cli.svg?v=1)](https://www.npmjs.com/package/@assertlabs/cli) [![license](https://img.shields.io/npm/l/@assertlabs/cli.svg?v=1)](https://github.com/Assert-Labs/cli/blob/main/LICENSE) [![ci](https://github.com/Assert-Labs/cli/actions/workflows/ci.yml/badge.svg)](https://github.com/Assert-Labs/cli/actions/workflows/ci.yml) [![release](https://github.com/Assert-Labs/cli/actions/workflows/release.yml/badge.svg)](https://github.com/Assert-Labs/cli/actions/workflows/release.yml) [![discord](https://img.shields.io/badge/Discord-%235865F2.svg?logo=discord&logoColor=white)](https://discord.gg/YqKKrBmam)

## 关于

从任何代理编码工具中捕获 AI 代理会话, 作为您仓库历史的一部分, 并在代码审查时引用它们 .

## 如何运作

1.  **全球钩子** 在每个代理配置目录中初始化.
2.  随着代理工作,每个事件(快感,工具呼叫,响应)都被捕获 到你的货柜外的一家中央商店.
3.  在每一个转弯边界, 转弯的事件被写成 `.sessions/` 作为 新JSONL文件——每转一圈,在一个会话目录内. 文件已经 所以捕捉只会增加你的工作树.
4.  Repo 在代理更改其中的文件和会话之前一无所获 横跨数个重担的字写在它所碰到的每个重担上.

## 安装

> \[注\] 现在,只支持MacOS/Linux操作系统.

**原生安装( 建议 ):**

```bash
curl https://assert.dev/install -fsS | bash
```

**乡人:**

```bash
brew install assert-labs/tap/assert
```

**国家预防机制:**

```bash
npm install -g @assertlabs/cli
```

**资料来源:**

```bash
git clone https://github.com/Assert-Labs/cli.git
cd cli
pnpm install
pnpm build
npm install -g .
```

### 初始化钩子

```bash
# Initialize hooks for all supported agents
assert init
```

恢复您的代理( 或重新装入其插件) `assert init` 所以它会恢复 新安装的钩子.

**安装命令不重要.** `assert init` 安装钩子 支持的特工——包括你尚未安装的特工——进入该特工的 标准插件目录。 您安装的代理 _待会_ 自动发现钩子 在它的第一跑步, 不需要再动。 你还可以重新运行 `assert init` 任意 刷新钩子的时间(例如升级后坚持,或拾取代理 ),或 `assert init <agent>` 只能装一个.

### 所需资源

-   macOS 或 Linux, x64 或 arm64( 尚未建立 Windows 或 Alpine/ musl )
-   `git` 可用在您的路径上 —— CLI 弹壳在运行时显示
-   如果通过国家预防机制或从来源安装: `Node.js 18 or later`

## 会话格式

会话是JSONL:每行一次JSON事件,无论哪个都用一个计划 特工制造出来的 每个事件都带有 `type`页:1 `sessionId`,以及一个ISO `timestamp`。 。 。 .

Claude Code读过一个文件 `Read {file_path}`打开代码 `read {filePath}`,皮带 `read {path}`,以及 编码器编辑方式, 将整个补丁块通过下面 `command`。每个代理的适配器 确定在捕捉时间, 所以每一个 `tool_call` 带克南克 `action` 与工具的自有名称并列 :

```jsonc
{
  "type": "tool_call",
  "timestamp": "2026-07-20T10:00:03.000Z",
  "sessionId": "…",
  "turnId": "…",
  "toolCallId": "…",
  "toolName": "apply_patch", // the agent's name for the tool
  "action": {
    // the canonical, cross-agent view
    "kind": "edit",
    "paths": ["src/a.ts"], // repo-relative, POSIX
  },
  "input": { "command": "*** Begin Patch…" }, // the agent's raw payload
}
```

`action.kind` 这是其中之一 `read`, (中文(简体) ), `edit`, (中文(简体) ), `write`, (中文(简体) ), `delete`, (中文(简体) ), `search`, (中文(简体) ), `web`, (中文(简体) ), `command`, (中文(简体) ), `task`, (中文(简体) ), `todo`,或 `other`,与 `paths`, (中文(简体) ), `command`, (中文(简体) ), `query`,以及 `url` 携带细节。 适配器无法识别的工具(新工具) 内置, MCP 工具)报告为 `other` 而不是猜测.

读取 `action`; 处理 `toolName` 作为显示标签和 `input` 作为调试 细节. `@assertlabs/cli/core` 曝光情况 `parseSession()`,该返回 有链接的转折和提示的模型(并填写) `action` 用于记录 在它存在之前).

## 支助代理人

| 探员 | 插件位置 |
| :-- | :-- |
| [![Claude Code](https://raw.githubusercontent.com/Assert-Labs/cli/main/assets/agents/claude-code.svg)](https://claude.com/claude-code) | 克劳德代码 | `~/.claude/skills/assert/` |
| [![Codex](https://raw.githubusercontent.com/Assert-Labs/cli/main/assets/agents/codex.svg)](https://openai.com/codex) | 代码 | `~/.codex/config.toml` |
| [![Cursor](https://raw.githubusercontent.com/Assert-Labs/cli/main/assets/agents/cursor.svg)](https://cursor.com/) | 光标 | `~/.cursor/plugins/local/assert/` |
| [![OpenCode](https://raw.githubusercontent.com/Assert-Labs/cli/main/assets/agents/opencode.svg)](https://opencode.ai/) | 打开代码 | `~/.config/opencode/plugins/assert.ts` |
| [![Pi](https://raw.githubusercontent.com/Assert-Labs/cli/main/assets/agents/pi.svg)](https://pi.dev/) | Pi | `~/.pi/agent/extensions/assert.ts` |

-   代码支持需要 **现代代码 CLI** (用钩子搭建的锈; 遗产) `@openai/codex` (单位:千美元)`0.1.x`没有钩子支撑,而且 `assert init` 当它只找到这个版本时警告.
-   如果您想要为特定代理添加支持,请查看 [捐款额](https://npmcn.com/package/%40assertlabs/cli/CONTRIBUTING.md) 并看看是否很快会增加这个代理 [问题](https://github.com/Assert-Labs/cli/issues) 财务报告和审定财务报表 [拖动请求](https://github.com/Assert-Labs/cli/pulls)。 。 。 .

## 图标

```bash
assert init [agent]         # Initialize hooks globally (all agents if none specified)
assert sessions             # List sessions in current directory (--all for central storage)
assert show <session-id>    # Show session details
assert blame <file>         # Show line-by-line agent attribution (like git blame)
                            #   [--json | --ndjson] [--range <start>:<end>]
assert blame --diff <a>..<b> # Attribute only a diff's added lines (PR review)
assert trace [ref]          # Export agent-trace attribution for a revision (default HEAD)
assert status               # Show current status
assert private              # Keep capturing, but stop writing sessions into this repo
assert public               # Resume writing sessions into this repo (default)
assert sync                 # Publish local-only sessions into the repo + rebuild blame index
assert cleanup              # Mark stale still-open sessions ended (default idle > 24h; --hours <n>)
assert redact <target>      # Redact current-turn, last-tool-input, or last-tool-output
assert disable              # Pause capture (hooks stay installed)
assert enable               # Resume capture
assert help                 # Show help
```

## 控制捕获

会话数据被写入 repo 中 `.sessions/` 当代理工作,所以它 出现于 `git status` 像任何其他文件一样,你亲自表演并投入.

-   **跳过文件 :** 添加一个 `.assertignore` 到 repo 根( gitignore 样式) 模式,例如:. `dist/`, (中文(简体) ), `*.log`) (中文(简体) ). 只触摸被忽略路径的更改不会 触发抓取或出现在会话数据中.
-   **持续关闭 :** `assert disable` 暂停抓取( 停止) )直到运行 `assert enable`。 。 。 . `assert status` 显示当前 状态.
-   **关闭一个会话 :** 设定 `ASSERT_DISABLE=1` 在环境中,你 探员进来了.
-   **保留本地会话 :** `assert private` 继续捕捉到中央商店 但是不要写到这回波 `.sessions/`· ; `assert public` (默认) 简历. `assert sync` 将任何本地会话发布到 repo 和 重建指责索引——在切换分行后或公开后方便.

## 代理追踪

抓取会话可导出为 [代理追踪](https://agent-trace.dev/) 记录——AI代码归属的开放标准 (单位:千美元)[光谱参考](https://github.com/cursor/agent-trace)) (中文(简体) ). `assert trace` 产生符合性 `TraceRecord` 从您承诺的届会开始的修订 数据(将行划入贡献模型),因此,任何工具都可以消耗 属性 :

```bash
assert trace            # agent-trace record for HEAD
assert trace <ref>      # for a specific commit
```

## 许可证

此寄存器根据 [MIT 许可证](https://github.com/assert-labs/cli/blob/main/LICENSE)

## 常见问题

### @assertlabs/cli 是什么？

显示 从任何编码代理共享会话数据 \.

### 如何安装 @assertlabs/cli？

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

### @assertlabs/cli 支持 TypeScript 吗？

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

### @assertlabs/cli 支持 ESM 还是 CommonJS？

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

### @assertlabs/cli 需要什么版本的 Node\.js？

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

### @assertlabs/cli 可以商用吗？

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

### @assertlabs/cli 的下载量有多少？

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

### @assertlabs/cli 还在维护吗？

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

