# @einsia/agent-git 中文文档

规范地址：https://npmcn.com/package/%40einsia/agent-git/

版本：0\.2\.51
npm 元数据更新时间：2026-11-12T15:22:19.893Z
中文译文更新时间：2026-11-13T09:54:03.652Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：180 kB，13 个文件
- TypeScript 类型：未声明
- Node.js 要求：\>=20
- 运行依赖：0 个
- 首次发布：2026-08-08T14:01:51.500Z
- 最新版本发布：2026-11-12T15:22:19.273Z
- 近 30 天下载量：6549（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：58（近 12 个月 58 个）

## 中文简介

代理会话的版本控制——Claude Code,Codex,OpenCode和Cursor的Agit CLI外加技能/hooks/MCP接线. 特工吉特枢纽单独部署.

## 安装

```sh
npm install @einsia/agent-git
```

也可以使用：`pnpm add @einsia/agent-git`、`yarn add @einsia/agent-git`、`bun add @einsia/agent-git`

## README

# 激动

[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://npmcn.com/package/%40einsia/agent-git/LICENSE) [![Built with Rust](https://img.shields.io/badge/built%20with-Rust-orange?logo=rust&logoColor=white)](https://www.rust-lang.org/)

每个代理会话的无损失版本控制:可发布,可恢复. 与克洛德代码,Codex,OpenCode,和Cursor合作.

在磁盘上,会话只是JSONL文件,可以被覆盖,压缩,和 随时清理. `agit` 把快照和版本放在上面, 因此,"上周三的对话 终于打破了虫子"变成了 你可以找到的东西,继续, 并交给一个队友.

```text
agit                              choose a session to continue
agit new                          choose a repo and name a fresh conversation
agit import                       choose an existing runtime conversation to adopt
agit log                          choose a session and browse its history
agit push                         choose a saved session to publish
agit share                        choose a session and review link settings
agit run owner/repo@ref           open a saved source, forking when needed
```

这些光线命令在人类终端打开它们的接口. `agit resume` 继续同一会话,永远不要叉; `agit run` 可以启动新的可写文件 从标签、历史点或其他作者的源头.

在通过的一个代理会议, `agit commit` 保存已完成的回合和 `agit push` 发布会议。 对于脚本,通过目标明确, 比如说 `agit push owner/repo@branch --json`。目录分支指针不会 选择目标 `commit`, (中文(简体) ), `push` 或者说 `share`。 。 。 .

在用户界面启动时, `agit` 检查更新版,最多一天一次,打印a 提醒到 stderr; 它永远不会自动升级 。 JSON/quiet/CI和内钩/MCP路径 跳过此提醒 .

采用和记录第一个版本是一个命令——中间 状态("链接,但未经编辑")对任何人无意义. 标记会话 (例如离线),通过 `--link-only`。 。 。 .

使用完整的本地会话ID,以及明确的运行时间和目的地来发现世系. 终端提供经核实的本地基地,独立进口,或取消. 非交互式 调用不写入的返回选择; 通过 `--onto <ref>` 或者说 `--independent` 来选择路径. `--propose-lineage` 在不通过会话的情况下打印只读的报告. 检查现有寄存器中的分系需要 NUL-framed Git worktree 输出, 通常以2.36吉特或更新版本提供。 不支持的 Git 报告 `git_worktree_format`· ; 明确 `--onto`, (中文(简体) ), `--independent`,以及 `--link-only` 进口保留其普通支票.

`agit clone` 本地获取仓库历史 。 使用 `agit run` 或者说 `agit resume` 开始运行时间。 一个克隆是 **默认只读** 在枢纽上: 没什么 以您的名义创建 `origin` 点在源. `agit clone --mine` 创建您的副本, 重点 `origin` 并记住源是 `upstream`。 。 。 .

完整命令列表在 `agit --help`。 。 。 .

## 安装

### 用户: npm

```sh
npx -y create-agit@latest          # one-shot: installs agit + wires skills/hooks/MCP
# or as a global package:
npm install -g @einsia/agent-git --allow-scripts=@einsia/agent-git
agit --version
```

两条路线都安装了预建的二进制——不需要Rust工具链. 无 选择匹配您的平台子包 `os`编号 :`cpu`; 在没有的平台上 预建二进制( 如 FreeBSD) 运行 `agit` 打印创建源的食谱. 细节和环境变量: [`npm/README.md`](https://npmcn.com/package/%40einsia/agent-git/npm/README.md)。 。 。 .

Windows x64软件包包括原生的对等的RC守护进程. 在Windows、Linux和macOS上运行 `agit login` 接下来是 `agit rc start --detach` 以注册设备并允许您自己的 从工作空间控制它。 Windows 拥有者 RPC 使用本地命名管限制 到当前用户。 RC状态需要一个私有,用户拥有的目录.

全局包从安装脚本中取出电线技能,钩子和MCP. 中午12点及以后 跳过未允许的安装脚本, 也就是说 `--allow-scripts` 以上为:; 组织政策`strict-allow-scripts`, (中文(简体) ), `ignore-scripts`)也可以阻挡或跳过. 下 小时( pnpm )`pnpm add -g @einsia/agent-git`)安装脚本则不配置任何内容。 如果安装 脚本未运行, 未运行 `agit setup` 曾经是你自己 它建立了运行时间 安装在当时, 所以在安装另一个后再运行它.

Linux的艺术品是 **粘接静态连接**因此,没有最小的glibc—— 释放管道在高山/亚马逊 Linux 内部运行每个 Linux 二进制 Debian / Ubuntu 容器矩阵在发布前.

预建的二进制包括 Git 和 Git LFS, 首先提取到私人缓存 使用时。 您的外壳 PATH 和全球 Git 配置保持不变 。 来源构建 使用系统 Git; `AGIT_USE_SYSTEM_GIT=1` 在预建的二进制中选择它 . 见 [运行时间配置和源先决条件](https://npmcn.com/package/%40einsia/agent-git/docs/01_setup.md)。 。 。 .

> 不安装 `@einsia/agentgit` (无连字符)——这是前作重写 CLI;其协议与这个分支不相匹配,也不会奏效.

### 贡献者/热心用户:来源

```sh
git clone https://github.com/Einsia/agent-git
cd agent-git
./setup.sh
```

`setup.sh` 检查工具链(rustc, a C 编译器),构建和安装 二进制为 `~/.local/bin/agit`。共同旗帜:

```sh
./setup.sh --debug      # no LTO, much faster while hacking
./setup.sh --test       # run cargo test --lib before installing
./setup.sh --help
```

构建一个二进制中枢是中转部署的二进制,设置建设时间默认值 当然 运行时间 `AGIT_HUB_URL` 财务报告和审定财务报表 `agit config hub.url ...` 仍然优先:

```sh
AGIT_DEFAULT_HUB_URL=https://staging.agent-git.com cargo build --release --locked
```

GitLab 内部管道包已承诺处理 `dev` 财务报告和审定财务报表 `staging` 使用此设置构建 内嵌。 他们 `agit --version` 输出包括信道和源输入,以及 `agit upgrade` 被禁用,所以接受测试二进制不能沉默地变成公开发布. 只有已存在的 GitHub `agit-v*` 标签生成 `prod` 频道. 标签驱动运行“释放” 工作流程自动; 操作员也可以通过工作流程选择相同的已审查标签 手动生产输入以重试失败的释放而无需创建不同的文物身份.

要求数 **生锈 = 1.88** 和 C 编译器`rusqlite` 使用该 `bundled` 特性,所以 sqlite 的 C 源是在构建过程中编译的 。 其原因为何 工具链地板在 [`docs/01_setup.md`](https://npmcn.com/package/%40einsia/agent-git/docs/01_setup.md)。 。 。 .

两种路径都安装了相同的二进制. npm是用于"不想碰的用户" 生锈"; `setup.sh` 是用来"改变代码的人"和"运行的人" 未发行版本".

## 文档

| 目标 | 何处 |
| --- | --- |
| 构建、 运行后端、 签名、 调试 | [`docs/01_setup.md`](https://npmcn.com/package/%40einsia/agent-git/docs/01_setup.md) |
| 如何在本地存储会话 | [`docs/02_session_store.md`](https://npmcn.com/package/%40einsia/agent-git/docs/02_session_store.md) |
| 人类的终端接口 | [`docs/07_tui.md`](https://npmcn.com/package/%40einsia/agent-git/docs/07_tui.md) |
| 登录/ 符号力学 | [`docs/commands/auth.md`](https://npmcn.com/package/%40einsia/agent-git/docs/commands/auth.md) |
| 本地低强度秘密过滤 | [`docs/05_global_secret_filter.md`](https://npmcn.com/package/%40einsia/agent-git/docs/05_global_secret_filter.md) |
| 可撤消存储库密钥占位符 | [`docs/06_repository_secret_dictionary.md`](https://npmcn.com/package/%40einsia/agent-git/docs/06_repository_secret_dictionary.md) |
| 每个运行时间的预留存储格式 | [`docs/mechanism-probing/`](https://npmcn.com/package/%40einsia/agent-git/docs/mechanism-probing/) |
| npm 软件包行为和env vars | [`npm/README.md`](https://npmcn.com/package/%40einsia/agent-git/npm/README.md) |
| 公布文物命名合同 | [`.github/RELEASE_ARTIFACTS.md`](https://npmcn.com/package/%40einsia/agent-git/.github/RELEASE_ARTIFACTS.md) |
| 每一版的变化 | [`CHANGELOG.md`](https://npmcn.com/package/%40einsia/agent-git/CHANGELOG.md) |

服务器( E)**探员吉特**)是一个单独的存储库,单独部署.

## 释放

`Cargo.toml` 是版本的单一源; 每个 npm 显示必须 同意它(`node scripts/check-version.js` - 在CI和之前运行 `npm pack`) (中文(简体) ). 为了移动版本,改变一个镜头中的每个位置:

```sh
node scripts/bump-version.mjs 0.1.0    # Cargo.toml + Cargo.lock + all npm manifests
```

释放笔记在现场 [`CHANGELOG.md`](https://npmcn.com/package/%40einsia/agent-git/CHANGELOG.md)他们先来,写下 版本的 `## [x.y.z]` 区域,然后是凸起. `bump-version.mjs` 拒绝触摸文件 版本没有一节,以及 `check-version.js` 拒绝一个在CI和之前 `npm pack`。 。 。 . 该部分成为了 GitHub 释放体(`scripts/release-notes.mjs` 把它提取出来 `release.yml`,在放出标签上贴上存储库-相对链接)和船舶在内 页:1 `@einsia/agent-git` 软件包.

只有释放分支( E)`release/<version>`)编辑 `CHANGELOG.md`合并 请求在描述中每对用户可见的更改设置一行,或 `Changelog: none`数字 :

```text
Changelog: Added|Changed|Fixed|Security: <one sentence for users>
```

发行分会将这些行收集入版本的分会. 线人 `changelog:released` 失败更改文件的任何其他合并请求: 它添加的行 下级 `## [Unreleased]` 可以在不发生冲突的情况下合并到已发布的区域.

发行后合并请求通过CI后,将其合并到GitLab `main` 当它的头 包含 `main`'tip, 在标签存在之前不要合并其他任何内容 。 等着 输油管 `mirror:github`,然后运行其手册 `release:github-tag` 任务。 CI拒绝 释放其树不是释放合并请求的头部 已录入源到映射并创建 `agit-v<version>` 在公众镜子上 承诺 释放标记是不可改变的;一个已失效的管道在任一标记之后都无法发布 `main` 移动.

`mirror:github` 不等待着 `main` 管道的Windows建设. 视窗是 检查每个合并请求 `rust:test:windows`,对于释放运行 在 npm 之前再次通过 GitHub 发布工作流程.

镜像重写会承诺ID,所以来源SHA不是释放SHA. 别 将释放标记直接推到 GitHub 。 CI 创建的标签启动 GitHub 发布 工作流程,构建和检查每个目标的二进制,Windows包括, 然后触发 npm 发布.

通过npm登记册向用户分发:每艘目标船舶作为 平台子软件包(`@einsia/agent-git-linux-x64` 和朋友,门由 `os`编号 :`cpu` —— npm 只安装匹配的, 和主 `@einsia/agent-git` 把他们拉进来 `optionalDependencies`。 GitHub 软件 释放出油管花球 `SHA256SUMS` (单位:千美元)[合同](https://npmcn.com/package/%40einsia/agent-git/.github/RELEASE_ARTIFACTS.md)) (中文(简体) ).

发布到 npm 是 **npm 发布** 工作流程。 自动运行 一旦发布工作流程完成绿色(并可手动发送)—— 行动 npm 发布——供重审, `next` 审判,或 `dry_run`) (中文(简体) ). 它以抚养顺序出版全家——平台包 `@einsia/agent-git` → `create-agit` ——真正在全球安装主机 通过 npm 信任的出版进行认证 (OIDC,没有存储的代号). 等效的本地倒计时 :

```sh
gh release download agit-v0.1.0 -p 'agit-*.tar.gz' -D /tmp/agit-dist
node npm/publish.mjs /tmp/agit-dist        # platform packages → main → create-agit
```

`npm/create-agit/` 是后面的一发安装器 `npx -y create-agit@latest` - 这个 取决于主软件包,并将 npx 缓存副本转换为耐用 `~/.local/bin/agit`,然后通过 `agit setup`。这里有 故意不使用未瞄准的别名包 : `agit` npm 属于无关的 npm 的打字规则块 `agent-git` 作为一分 离开第三方 `agentgit`。 。 。 .

版本预告( A)`GET /api/cli/version` )和 `agit upgrade` 两者都读取 npm 登记册;完整性核查使用登记册的 SRI (sha512) (英语). 内部叉口集线器 `AGIT_BACKEND_CLI_REPO` 整个链条恢复到 GitHub 路径.

`@einsia/agent-git` 是一个没有已有用户的新软件包名称, 因此 第一次发布直接到 `latest` - 不用躲起来 `next` 先说. (旧的) `@einsia/agentgit` 留在原地;它指向前重写 CLI。 )

## 常见问题

### @einsia/agent-git 是什么？

代理会话的版本控制——Claude Code,Codex,OpenCode和Cursor的Agit CLI外加技能/hooks/MCP接线\. 特工吉特枢纽单独部署\.

### 如何安装 @einsia/agent-git？

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

### @einsia/agent-git 支持 TypeScript 吗？

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

### @einsia/agent-git 需要什么版本的 Node\.js？

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

### @einsia/agent-git 可以商用吗？

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

### @einsia/agent-git 的下载量有多少？

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

### @einsia/agent-git 还在维护吗？

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

