@tencent-ai/agent-harness 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -14
- package/cli/dist/codebuddy-headless.js +11 -11
- package/cli/dist/codebuddy.js +19 -19
- package/docs/acp-v2.md +86 -0
- package/docs/distribution.md +10 -9
- package/docs/integration-layer.md +21 -15
- package/docs/protocol.md +29 -25
- package/package.json +6 -8
package/README.md
CHANGED
|
@@ -50,8 +50,8 @@ Auth、MCP 与 session attachment 不为 request/session/tool 调用另建 runti
|
|
|
50
50
|
`@executor-js/*@1.5.40` 仍要求 Effect `4.0.0-beta.59`,因此
|
|
51
51
|
`executor/` 下的 private `@genie/agent-harness-executor` 保持独立 build workspace 与
|
|
52
52
|
独立 OS process:主包通过 `effect4` catalog 固定
|
|
53
|
-
`4.0.0-rc.
|
|
54
|
-
|
|
53
|
+
`4.0.0-rc.112`,Executor 包通过 `executorEffect` catalog 保留 `beta.59`,仅以 JSON IPC
|
|
54
|
+
交互。Effect peer 不通过 vendor patch 放宽,也不会在同一个 process 混载两个 Effect runtime;tarball
|
|
55
55
|
通过 Vite 8/Rolldown 把 private Executor child 与其 beta runtime tree-shake 成一个 Node-compatible
|
|
56
56
|
ESM capsule,由同一个 Bun SFE 的 Executor private role 加载,只保留 runtime built-ins 和
|
|
57
57
|
package-private JSON IPC contract 为外部模块。该 capsule 与
|
|
@@ -60,7 +60,7 @@ contract 作为 Harness 自有的 `executor/lib` 文件发布,不再伪装成
|
|
|
60
60
|
Web Streams API 中。
|
|
61
61
|
|
|
62
62
|
Harness 的 application runtime 与发布基线是固定的 Bun 1.4.0 SFE。主包公开库与 npm locator
|
|
63
|
-
bootstrap 支持 Node `>=22.
|
|
63
|
+
bootstrap 支持 Node `>=22.15 <=24`,并按 NodeNext 编译为原生 ESM;
|
|
64
64
|
`bin/agent-harness.js` 是显式 ESM locator/bootstrap,因此不会依赖不同 Node 版本对无扩展名
|
|
65
65
|
脚本的模块类型推断;public subpath 同时支持 ESM `import` 和该 Node 基线内建的同步
|
|
66
66
|
`require(esm)`。发布链共同上传主包与 7 个 Bun standalone executable 平台包,但主包暂不声明平台
|
|
@@ -112,7 +112,7 @@ bootstrap 支持 Node `>=22.12 <=24`,并按 NodeNext 编译为原生 ESM;
|
|
|
112
112
|
| Subagent | read-only child discovery:`subagent/list/read/started`;child transcript/state 继续使用标准 `session/update` |
|
|
113
113
|
| Runtime | 一个按 managed profile 启动、persistent dedicated Resource OS child + 一个独立 Product resolver Worker Thread + 每个 executing session 一个 Agent CLI OS target + 一个按需启动、受监管的 private Executor OS target;Resource/session/Executor child 使用 containment,Product resolver 仍是独立 Worker;session child 使用按 canonical cwd/repo identity 准备的 immutable Product projection |
|
|
114
114
|
| Durable state | Agent CLI 持有;Harness 只保留 attachment-scoped Subagent projection,不维护第二套 durable catalog/journal 或 ID mapping |
|
|
115
|
-
| Agent capability | `additionalDirectories`、`delete`、`fork`、MCP HTTP/stdio、embedded context、image;Windows
|
|
115
|
+
| Agent capability | `additionalDirectories`、`delete`、`fork`、MCP HTTP/stdio、embedded context、image;Windows 仅在 SFE 固化 Bun `--no-orphans` process containment 时广告 stdio |
|
|
116
116
|
| Transport | stdio、与官方 ACP SDK client 互操作的 Streamable HTTP / WebSocket、WebSocket-over-Unix,以及 Windows WebSocket-over-Named-Pipe(`npipe:////./pipe/NAME`,强制 bearer) |
|
|
117
117
|
| Consistency | single-broker 按 session 串行所有 durable mutation;Host cold replay 建立 dormant attachment,lazy child private resume 不重复 replay,期间 live update 在 response commit 后 FIFO 释放;不支持 attached session 的 out-of-band writer |
|
|
118
118
|
| Harness resources | Product `read/provision/updated`;Account `read/provision/updated/refresh`;Subagent `list/read/started`;Agent registry `agent/list`;Skills `list/config/write`;Plugin `list/read/install/uninstall`;Marketplace `add/remove/upgrade`;`config/read`、`config/value/write`、`config/batchWrite`;session MCP `mcpServerStatus/list`、`mcpServer/tool/call`、`mcpServer/startupStatus/updated` |
|
|
@@ -145,8 +145,8 @@ OS/architecture/libc 的同版本平台包;例如 Linux x64 glibc snapshot:
|
|
|
145
145
|
|
|
146
146
|
```bash
|
|
147
147
|
npm install --ignore-scripts --no-save \
|
|
148
|
-
@tencent-ai/agent-harness@0.1.
|
|
149
|
-
@tencent-ai/agent-harness-linux-x64@0.1.
|
|
148
|
+
@tencent-ai/agent-harness@0.1.5-snapshot-FULL_40_CHAR_COMMIT_SHA \
|
|
149
|
+
@tencent-ai/agent-harness-linux-x64@0.1.5-snapshot-FULL_40_CHAR_COMMIT_SHA
|
|
150
150
|
```
|
|
151
151
|
|
|
152
152
|
不带 Product 或 identity 参数是受支持的 CodeBuddy standalone 启动方式:
|
|
@@ -361,7 +361,6 @@ corepack pnpm --dir packages/agent-harness test
|
|
|
361
361
|
corepack pnpm --dir packages/agent-harness typecheck
|
|
362
362
|
corepack pnpm --dir packages/agent-harness test:e2e
|
|
363
363
|
corepack pnpm --dir packages/agent-harness check:native:darwin
|
|
364
|
-
corepack pnpm --dir packages/agent-harness check:native:windows
|
|
365
364
|
```
|
|
366
365
|
|
|
367
366
|
### 启动 benchmark
|
|
@@ -470,7 +469,7 @@ CodeBuddy 自己的版本与运行时 contract,不能单独发布。Harness
|
|
|
470
469
|
自身不执行这些文件,它们也不是 Resource、Executor 或 session child 的运行入口。
|
|
471
470
|
Harness 自己声明 ACP SDK 依赖并在 package boundary 内使用它,不把该版本提升为 monorepo root 或
|
|
472
471
|
共享 schema source。workspace identity 是 `@genie/agent-harness`,pnpm 11 原生
|
|
473
|
-
`publishConfig.name` 将发布 identity 设为 `@tencent-ai/agent-harness`;源码版本当前是 `0.1.
|
|
472
|
+
`publishConfig.name` 将发布 identity 设为 `@tencent-ai/agent-harness`;源码版本当前是 `0.1.5`。
|
|
474
473
|
JSON-RPC `serverInfo.name` 仍是稳定的协议实现标识 `@genie/agent-harness`,不把 npm locator 当成 wire identity。
|
|
475
474
|
公开支持的 API surface 是 binary、`./protocol`、Host sink 类型用的
|
|
476
475
|
`./telemetry` 与 Product authoring 用的
|
|
@@ -507,14 +506,14 @@ capabilities 与该 connection 安装的 selected method registry。
|
|
|
507
506
|
|
|
508
507
|
```bash
|
|
509
508
|
corepack pnpm --dir packages/agent-harness package:sfe
|
|
510
|
-
AGENT_HARNESS_PLATFORM_TARBALL="$PWD/packages/agent-harness/out/npm-tarballs/agent-harness-linux-x64-0.1.
|
|
509
|
+
AGENT_HARNESS_PLATFORM_TARBALL="$PWD/packages/agent-harness/out/npm-tarballs/agent-harness-linux-x64-0.1.5.tgz" \
|
|
511
510
|
corepack pnpm --dir packages/agent-harness test:package
|
|
512
511
|
```
|
|
513
512
|
|
|
514
513
|
该流程用于本地归档与 current-workspace SFE 验证;示例路径为 Linux x64,其他平台选择对应 tarball。
|
|
515
514
|
Agent Harness npm 包由“发布 Agent Harness”按钮生成。选择 `snapshot` 时,流水线把主包与 7 个平台包
|
|
516
|
-
统一设为 `<源码版本>-snapshot-<完整 40 位 commit SHA>`;例如源码版本为 `0.1.
|
|
517
|
-
`0.1.
|
|
515
|
+
统一设为 `<源码版本>-snapshot-<完整 40 位 commit SHA>`;例如源码版本为 `0.1.5` 时即
|
|
516
|
+
`0.1.5-snapshot-<完整 40 位 commit SHA>`。选择 `latest` 时,8 个包共同使用 package.json 中的稳定
|
|
518
517
|
SemVer。发布前会全量验证 8 个包;真实发布在 npm 接受 7 个平台包写入后,最后发布或 retag 主包。
|
|
519
518
|
公共 packument/CDN 可见性是最终一致的,不作为继续发布或判定失败的条件。
|
|
520
519
|
同一版本重复执行只接受与首次 tarball 完全相同的字节。按钮不发布独立 CodeBuddy Code 包。
|
|
@@ -543,6 +542,7 @@ corepack pnpm --dir packages/agent-harness build:native:darwin
|
|
|
543
542
|
corepack pnpm --dir packages/agent-harness check:native:darwin
|
|
544
543
|
```
|
|
545
544
|
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
545
|
+
所有平台的 SFE 都在编译时固化 Bun 1.4 的 `--no-orphans` 执行参数。Windows 下 Bun
|
|
546
|
+
原生使用 kill-on-close Job Object 监视直接父进程并回收完整后代树;Harness 不再发布或加载
|
|
547
|
+
自研 Windows addon,也不需要代理 launcher。Resource、Executor 和 Agent CLI 私有角色均通过
|
|
548
|
+
同一 SFE 重入,因此继承相同的父子生命周期契约。
|