@aptivus/connector

中文文档
0.1.12发布于 2026/10/30SEE LICENSE IN LICENSE.mdTypeScriptES Module近 30 天下载 2328

Aptivus Claude Code 的连接器:钩子,局部的拼接,去除,冲出.

中文使用文档
文档目录12 节
  1. 平台支持——安装前读取此内容
  2. 窗口
  3. 它装了什么,在哪里
  4. 删除连接器告诉组织
  5. 一台机器上有几个账户
  6. 机器留下的东西
  7. 管道的运行情况
  8. 关联
  9. 兼容性矩阵
  10. Auth 服务器合同
  11. 托肯存储
  12. 开发

@ aptivus/ 连接器

克劳德密码的阿普蒂武斯特工 二进制 : aptivus。运行于开发者的 机器是Aptivus中唯一一个看到未编辑文本的组件.

npx @aptivus/connector login      # authorize this machine in the browser
npx @aptivus/connector install    # add the hooks; prints exactly what it wrote

平台支持——安装前读取此内容

链接 支持和核实结束.

马科斯 支持; 由DIR在2026-10-23的真机上验证.

窗口 通过 窗口的 Git,并且是一个平台 尚未由一个人管理:它是根据有文件证明的 git Bash的行为,通过注射在Linux上进行单位测试(D-052)。 见 窗口 说明需要什么以及如何检查.

任何其它平台均通过 aptivus install 而不是给钩子 永不开火的条目; --force 超越那些对谁想 (D-046,D-052) (中文(简体) )

窗口

钩子还是一样的 POSIX sh 脚本; 在 Windows 上, 它运行在下面 击打Git给Windows飞船, 克劳德代码在Windows上要求. aptivus install 发现 bash.exe 并登记每个钩子条目为

"C:/Program Files/Git/bin/bash.exe" "C:/Users/<you>/.aptivus/bin/aptivus-hook" prompt

双引号,因为 cmd.exe 无法读取单行本. 向前划去,因为每个政党都参与.. cmd.exe(掌声) 反弹是剧本中的逃生角色 路径 脚本持有( e)C:/Users/<you>/.aptivus) 准确命名节点目录 边到 C:\Users\<you>\.aptivus· ; ~/.aptivus/current 编辑 每张相片都一样.

何处 install 寻找 bash.exe,按顺序排列——需要存在的第一个:

  1. CLAUDE_CODE_GIT_BASH_PATH,变量克洛德代码本身 荣誉
  2. where bash.exe,只保留用于 Windows shash (C:\Windows\System32\bash.exe 是 WSL 的发射器并被跳过)
  3. git --exec-path走到安装处 bin\bash.exe
  4. %ProgramFiles%\Git\bin\bash.exe
  5. %ProgramFiles(x86)%\Git\bin\bash.exe
  6. %LOCALAPPDATA%\Programs\Git\bin\bash.exe (每个用户安装)

如果没有找到, install 拒绝, 说明如何为 Windows 安装 Git (单位:千美元)winget install --id Git.Git -e --source winget),并写作无. 如果吉特语 生活的地方不寻常,设置 CLAUDE_CODE_GIT_BASH_PATH 通向完整路径的 bash.exe 并重新运行. aptivus status 财务报告和审定财务报表 aptivus doctor 打印平台 钩子被打穿; config.json 记录为 bash_path。 。 。 .

Windows上的文件模式 . NTFS 没有 0700编号 :0600。表格中的模式 以下为书面和忽略 credentials.json 联 合 国 日 刊 spool 依赖于用户配置文件的 ACL, 它保存 C:\Users\<you> 给那个 用户、管理员和系统. doctor 将这些条目报告为“用户” profile ACL" 而非失败无法通过的检查.

基特·巴什需要什么数字 : tr, (中文(简体) ), cut, (中文(简体) ), date, (中文(简体) ), cat, (中文(简体) ), mv, (中文(简体) ), mkdir, (中文(简体) ), nohup 和效法者 /dev/null 全部运出 基特巴什没有 setsid,所以冲水器开始于 nohup … &,脚本已经存在 倒计时。 WSL, Cygwin 和一款裸体的MSYS2 即使在存在时也不使用.

Windows 机器上第一次运行的检查列表 (DIR,待定):

  1. 为 Windows 安装 Git ()winget install --id Git.Git -e --source winget),然后打开一个新的PowerShell.
  2. npx @aptivus/connector@latest install - 它必须打印 "…bash.exe" "…aptivus-hook" 输入它写的,然后 npx @aptivus/connector login。 。 。 .
  3. 打开 Claude 代码, 发送一个提示, 运行 aptivus status: spool收件箱数到1,在回复后, aptivus flush (或脱去的冲浪器)发送——会话出现在app中.

它装了什么,在哪里

aptivus install 打印此列表; 在此复制, 以便您阅读 在运行任何东西之前.

下面的一切 profiles/<name>/ 属于一个账户. <name> 这是 活动简介 - 见 一台机器上有几个账户。 。 。 .

路径什麽模式
~/.aptivus/bin/aptivus-hook缩写 sh 剧本. 读取 current 要找到活性剖面, 将钩子有效载荷附加到该剖面的 spool, 退出 0。 节点, 无网络0755 (英语)
~/.aptivus/current活动配置文件的名称0600 时
~/.aptivus/unattributed/钩子无法归属于任何配置文件的事件 。 从不自己送0700 (英语)
~/.aptivus/profiles/<name>/spool/inbox/每个钩子事件一个小文件, 由脚本编写0700 (英语)
~/.aptivus/profiles/<name>/spool/outbox/正在等待发送的已编辑批次0700 (英语)
~/.aptivus/profiles/<name>/spool/quarantine/攻击服务器以无效方式拒绝, 冲洗器无法读取的收件箱文件 。 两者在降落之前都经过编辑(无法编辑的收件箱文件被删除,从不保存在清晰处);从未重新检查,保存在检查室)0700 (英语)
~/.aptivus/profiles/<name>/spool/state.json序列计数器、语录光标、这些光标所属的账户以及快速文本(用于加入钩子和语录提示)的sha256散列。 无文本0600 时
~/.aptivus/profiles/<name>/credentials.json那个账户是设备代号0600 时
~/.aptivus/profiles/<name>/config.jsonURL, org, 捕获模式. 没有秘密0600 时
~/.aptivus/profiles/<name>/device.json那个档案 install_id0600 时
~/.aptivus/profiles/<name>/logs/connector.log计数,规则编号,出错. 永远不要提示文本、 令牌或密钥0600 时
~/.claude/settings.json5个钩子条目,以下列举. 文件内的其他所有内容都未被更改;先写出一个时间标记的备份. 在 Windows 上,每个条目名称 Git Bash 明确(参见 窗口(中文(简体) )—— 说

添加了 Hook 项( 每个项都以不同的参数运行相同的脚本 ) :

活动参数超时剧本做什么
UserPromptSubmitprompt5号拼接有效载荷
SessionStartstart10岁拼接有效载荷
Stopstop10岁将有效载荷集合,启动冲洗机
SubagentStopstop10岁与 Stop: 子代理完成是当其笔录值得阅读时
SessionEndend10岁将有效载荷集合,启动冲洗机

脚本不打印(a) UserPromptSubmit 钩子会被注射 ),并在每个路径上退出 0,包括一个完整的磁盘或一个 缺少 spool 目录 。 测量:每次引用~7ms,p95 8ms,包括 额外读取解决活性剖面;预算为50ms 测试套房说它.

aptivus uninstall 完全删除了这五个条目,没有其他内容. aptivus install --managed 打印块以覆盖整块 managed-settings.json 而不是写任何东西.

删除连接器告诉组织

aptivus uninstall 财务报告和审定财务报表 aptivus logout 都说 在他们做任何事情之前, 组织的所有者和管理人员会得知 抓获行动停止 这台机器 什么时候 他们要求你确认并提供理由 组织看到您打的字。 然后一个小消息去 摄入服务器 — 命令运行、 原因、 连接器版本、 时间 ——而后才取出钩子或活字.

$ aptivus uninstall
Capture stops on this machine once the hooks are removed.
Acme's owners and admins will be told that it stopped, when, and the reason you give below.
Continue with uninstall? [y/N] y
Reason (optional, shown to the organization): laptop handed back
Acme has been told.
Removed UserPromptSubmit, SessionStart, Stop, SessionEnd entries from ~/.claude/settings.json

--yes 跳过问题和 --reason "<text>" 提供原因,因为 剧本. 没有终点站,没有 --yes 命令拒绝而不是 猜测。 如果无法到达服务器,命令会这样说并继续: 这是你的机器 服务器上没有什么能让你离开的 A 类 个人工作空间不通知任何人——它唯一的主人就是你.

连接器永远不会做什么: 继续运行,直到你把它拆掉,放自己 退后,或者躲起来。 如果用手删除软件包或钩子条目,则无 被发送,因为没有其他东西可以发送 机器开始 安静 (三个工作日没有批发,而你继续签) 在其设置 ~代理页面上,这是真实的版本 同样的事实。 需要清除的组织不可能从 Claude Code 管理的设置, 不是来自此软件包 docs/MANAGED-SETTINGS.md。 。 。 .

APTIVUS_HOME 覆盖 ~/.aptivus。 。 。 . CLAUDE_CONFIG_DIR 覆盖 ~/.claude。 。 。 . APTIVUS_PROFILE 覆盖一个命令的活性配置文件.

一台机器上有几个账户

一个设备属于一个人: 服务器拒绝让第二个账户声明 a 一个 install_id 已经属于别人, 和警卫不是 谈判。 所以,第二个账户有自己的 配置文件,带有自己的设备 身份、标志、设置和集合(D-039).

aptivus login --profile work      # sign in, creating the profile
aptivus profile list              # every account on this machine
aptivus profile use personal      # switch
aptivus profile                   # which one is active

你的第一个 aptivus login 不需要这些 : 它创建一个以名称命名的配置文件 你签到的组织.

档案保存了它的生命记录,和 --profile 如何是第二个 来了. 平面 aptivus login 更新账户的符号配置文件 已持有; 签名 不同 并拒绝它 要运行代替。 在批准屏幕上选择另一个组织算作 因为每个组织都有一个设备行.

这是强制执行的,而不是建议,因为替代办法是无形的. state.json 每一届会已发送多少次 组织。 重新使用目录到另一个账户和已存在的会话 进展分成:第一个组织保留它所拥有的,第二个组织接受 其余部分在同一会话下 id和开始时间, 没有任何标记 要么一半 作为部分。 因为每一层都是自己的 半个 在警卫存在之前测量过:一个组织的1843起事件和1起事件 在另一段,用于一次对话(D-049).

游泳池也记录它所属的账户 所以冲水机停了 而不是从另一个账户的光标中发送 aptivus status 财务报告和审定财务报表 aptivus doctor 两者都报告,任何事物在保存期间都不被读取或耗尽.

你输入一个信息 只能寄到那个账户 组织. 游泳池住在档案里,所以一个冲水机在跑 personal 无法看到,更不要说发送了 work。切换配置文件时会将其它配置文件的队列留在原地; aptivus status 告诉你,它正在等待, 它被发送的下一次 配置文件已激活 。 如果在账户之间共用一个共享,那就更简单了 建造,正是这种设计是为了防止泄漏.

如果在无法解析配置文件时——在升级期间——钩子运行,例如: 活动去 ~/.aptivus/unattributed/ 而不是被猜想成一个 简介。 无所失去,无所归咎于错误的组织. 这些事件在完全存在一个特征时自动通过,因为 那末,对于两个或两个以上的人,是毫不含糊的, aptivus status 报告他们和 你决定.

在配置文件不需要动作前从版本升级:第一个命令,或 ,将您现有的设置移动到以您命名的配置文件 包括组织、标志和排队池.

每个剖面图是仪表板中一个单独的设备行,这是诚实的——它们 是分别的身份 将它们组合在一个机器下是后来的改进.

机器留下的东西

只不过什么 @aptivus/schema 定义,并仅在此机器被修改后. 每个会话: 工作目录, 常态化的 git 远程 (单位:千美元)host/owner/repo和分支,克劳德代码版本. 每提示:被编辑的文本及其原始长度. 每个模型响应: 编辑了可见文本、长度、模型、符号使用、工具名称 电话 每个工具调用: 已编辑的大小封装输入和长度 结果。 绝不默认:思考内容或工具结果——只长度. 从来没有, 在元数据模式( N)aptivus config capture_mode metadata任何东西 超过长度和数.

每个组织都选择采用工具结果和思维 (连接器0.1.6, 页:1 拥有者或管理员在设置下各自打开 ~ 组织; 连接器以同样的方式学习图像捕捉 (单位:千美元)GET /v1/policy,缓存10分钟,显示于 aptivus status)而且仅此而已 然后请记录员保存文本。 都一样 编辑为提示此机器。 工具结果超过 64 KB 或信件 考虑超过32KB 被发送作为它的长度,从来没有被截取。 无礼 重新检查组织每批货的开关 并且不存储 组织不允许,无论联系人发送什么。 元数据模式 覆盖两个开关.

代理运行是会话的一部分 (连接器0.17,迁移0035, D-059 (英语). 当克洛德代码旋转出一个子剂——叉子,一个探索剂——它 在会话旁边将代理的对话写入自己的文件 (单位:千美元)<session>/subagents/agent-<id>.jsonl) (中文(简体) ). 冲洗机也分析那些文件, 每逢它离开的地方,每一件事情 agent 参考文献: 运行的 id, the Agent 给孕育它的母体打电话 类型和描述。 被俘虏的正是被俘虏的 主要对话——它作为迅速提供的简报、答复和 符号使用、其工具调用输入、工具结果或思维 在同一组织下开关。 代理人的书状不算为一份 ;其转弯和工具呼叫被算作工作.

每个事件都记录了 校正规则,从来没有匹配.

管道的运行情况

hook ──▶ spool/inbox ──▶ flusher: ──▶ spool/outbox ──▶ POST /v1/ingest
                          · read inbox, assign seq per session
                          · parse the transcript (version-aware)
                          · join prompts to responses (prompt id, then text)
                          · redact
                          · write batches, then state, then delete inbox
                          · send with backoff; quarantine 4xx
  A hook-started flusher waits up to 60s (APTIVUS_FLUSH_LOCK_WAIT_MS) for a
  running one to finish, then runs; after each pass it re-scans the inbox
  and runs again while new files exist. So the SessionEnd that lands one
  second after the Stop hook's flusher started is never left for the next
  session. `aptivus flush` waits 5s and says if another flusher is running.

冲洗机由 stop 财务报告和审定财务报表 end 钩子是克劳德代码 从不等待它。 它需要锁, 所以两个永远不跑一次。 一切尽在 "发送"工作下线;平面上的开发者一无所失,再试再发送 相同的字节 client_batch_id 所以服务器会崩溃.

aptivus flush 用手操作它. aptivus doctor 检查安装.

关联

从钩子(即刻,有文字)和从 记录(后来,与克洛德密码) promptId) (中文(简体) ). 冲水机和他们一起 当钩子提供了一个时, 便捷 ID , 否则通过文本 。 答复的原因是: 其通过笔录的母链迅速; correlation 活动 说我们有多确定exact, (中文(简体) ), inferred, (中文(简体) ), unmatched) (中文(简体) ). 钩子永远不要 钩子是安装在中段的,比如说,是从 而不是丢失.

兼容性矩阵

钩子合同有记载且稳定. 笔录格式为内部 至 Claude 代码和漂移 记录和保存无法解析的生线(parse_failure 因此,他们 可以在以后进行再处理。 见 src/transcript/ 及其固定装置.

克劳德代码状态页:1
2.1.278 (中文(简体) )已核实金丝雀固定在 test/fixtures/transcripts/
2.1.x(其他)预定工作相同的解析器; 校验时添加固定符
< 2.1不支持无固定; 数据保存为 parse_failure 事件

运行本之后的新版本 docs/AGENT-ROLES.md §Version相容性.

果壳覆盖. 钩为 POSIX 所写 sh这里的套房运行它 不管怎么样 sh 机器有(bash on this one;破折号没有安装). 在第一次外部发布前, CI 必须运行 test/hook-script.test.ts 下级 破折号( Debian/ Ubuntu) /bin/sh), macOS (中文(简体) ) /bin/sh 和Git为 Windows' bash, 包括敌对的有效载荷。 "读作POSIX"不是测试. 窗口 没有 Windows 就可以测试的棋子 — bash 发现, 设置 输入,路径拼写——在 test/windows.test.ts。 。 。 .

Auth 服务器合同

aptivus login 是 OAuth 2. 0 授权代码 + PKCE 有回转 转向 仪表板apps/web必须执行:

GET <auth_url>/cli/authorize - 一页 查询参数 : response_type=code, (中文(简体) ), client_id=aptivus-connector, (中文(简体) ), code_challenge, (中文(简体) ), code_challenge_method=S256, (中文(简体) ), redirect_uri (总是) http://127.0.0.1:<port>/callback, (中文(简体) ), state, (中文(简体) ), install_id, (中文(简体) ), device_name, (中文(简体) ), connector_version。页面认证用户,让他们选择一个 Org, 记录设备,并重定向到 redirect_uri?code=…&state=… (或 ?error=access_denied&state=…) (中文(简体) ).

POST <auth_url>/api/cli/token - JSON体质 { grant_type: "authorization_code", client_id, code, code_verifier, redirect_uri, install_id }。服务器验证 S256(code_verifier) 等于 存储的挑战,薄荷 一种设备瞄准符,只存储其散列 (单位:千美元)agent_tokens,并返回:

{
  "token": "apt_live_<32 base64url chars>",
  "token_hint": "apt_live_3f9a2b…",
  "org":  { "id": "uuid", "slug": "acme", "name": "Acme" },
  "user": { "email": "[email protected]" },
  "ingest_url": "https://ingest.aptivus.dev",
  "expires_at": null
}

错误使用 IngestError 形状从 @aptivus/schema 这样CLI就可以显示 页:1 request_id。CLI 打印每个情况下的授权 URL,因为 SSH 会话没有可打开的浏览器 .

托肯存储

第1阶段将令牌存储在 ~/.aptivus/profiles/<name>/credentials.json 与模式0600。 这个 OS 键链后端坐落在相同的后面 CredentialStore 界面和为 尚未执行,具体原因有两个:macOS security add-generic-password -w 在进程 argv 上设置该秘密,可见于 ps 人类生命 调用,和 Linux secret-tool 键环- 解锁上的块提示 脱开的背景冲洗器永远无法回答. 两者都需要设计,而不是 午间. 作为第一阶段的后续行动跟踪.

开发

npm test -w @aptivus/connector      # runs on source via Node's type stripping
npm run build                        # from the repo root
APTIVUS_HOME=/tmp/x CLAUDE_CONFIG_DIR=/tmp/c node -e 'import("./src/cli.ts").then(m=>m.main(["install"]))'

一次性依赖: zod (D-017) (中文(简体) ). 电线合同, @aptivus/schema,为 编成已出版的捆绑,而不是同时安装——一个 软件包,一个版本,一个用户无法解决.

平台支持在此文件的顶端声明,并由 aptivus install,不留待发现.

版本与发布记录

@aptivus/connector 共发布 13 个版本,首次发布于 2026/10/21;过去 12 个月发布了 13 个版本。

版本发布日期距今
0.1.12latest2026/10/308 天前
0.1.112026/10/299 天前
0.1.102026/10/2513 天前
0.1.92026/10/2414 天前
0.1.82026/10/2414 天前
0.1.72026/10/2414 天前

关于 @aptivus/connector 的常见问题

@aptivus/connector 是什么?

Aptivus Claude Code 的连接器:钩子,局部的拼接,去除,冲出.

如何安装 @aptivus/connector?

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

@aptivus/connector 支持 TypeScript 吗?

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

@aptivus/connector 支持 ESM 还是 CommonJS?

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

@aptivus/connector 需要什么版本的 Node.js?

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

@aptivus/connector 可以商用吗?

@aptivus/connector 使用 SEE LICENSE IN LICENSE.md 许可。许可条款写在包内的独立文件中,请阅读该文件确认可否商用。以上为概括,不构成法律意见,请以许可原文为准。

@aptivus/connector 的下载量有多少?

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

@aptivus/connector 还在维护吗?

最新版本 0.1.12 发布于 2026/10/30(8 天前);至今共发布 13 个版本,其中过去 12 个月发布了 13 个;首次发布于 2026/10/21。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。