{"_id":"@buckeyestudio/toh-acp-demo","name":"@buckeyestudio/toh-acp-demo","dist-tags":{"next":"0.1.1-rc.2","latest":"0.1.1-rc.2"},"versions":{"0.1.1-rc.2":{"name":"@buckeyestudio/toh-acp-demo","description":"ACP automation server app: agent spine + JSONL persistence + ACP transport, with a JSON-RPC stdio bin","version":"0.1.1-rc.2","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/dustinwloring1988/theopen-harness.git","directory":"packages/examples/acp-demo"},"type":"module","main":"lib/index.js","types":"lib/types/index.d.ts","bin":{"toh-acp-demo":"lib/bin.js"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./bin":{"types":"./lib/types/bin.d.ts","default":"./lib/bin.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","author":{"name":"buckeyestudio"},"peerDependencies":{"@buckeyestudio/cordis-plugin-include":"^1.0.6","@buckeyestudio/toh-acp":"^0.1.1-rc.2","@buckeyestudio/toh-app-boot":"^0.1.1-rc.2","@buckeyestudio/cordis-plugin-loader":"^1.0.2","@buckeyestudio/toh-invariants":"^0.1.1-rc.2","@buckeyestudio/toh-agent-spine-demo":"^0.1.1-rc.2","@buckeyestudio/toh-session-query":"^0.1.1-rc.2","@buckeyestudio/toh-session-persistence-jsonl":"^0.1.1-rc.2","@buckeyestudio/toh-session-query-sqlite":"^0.1.1-rc.2","@buckeyestudio/toh-tools":"^0.1.1-rc.2","@buckeyestudio/toh-session-checkpoint-policy":"^0.1.1-rc.2","@buckeyestudio/toh-agent-instructions":"^0.1.1-rc.2","@buckeyestudio/schemastery":"^3.18.1","@buckeyestudio/cordis":"^4.0.1"},"devDependencies":{"@buckeyestudio/cordis-plugin-loader":"^1.0.2","@buckeyestudio/toh-acp":"^0.1.1-rc.2","@buckeyestudio/toh-agent":"^0.1.1-rc.2","@buckeyestudio/cordis-plugin-include":"^1.0.6","@buckeyestudio/toh-agent-spine-demo":"^0.1.1-rc.2","@buckeyestudio/toh-app-boot":"^0.1.1-rc.2","@buckeyestudio/toh-invariants":"^0.1.1-rc.2","@buckeyestudio/toh-session-checkpoint-policy":"^0.1.1-rc.2","@buckeyestudio/toh-session-query":"^0.1.1-rc.2","@buckeyestudio/toh-session-persistence-jsonl":"^0.1.1-rc.2","@buckeyestudio/toh-session-query-sqlite":"^0.1.1-rc.2","@buckeyestudio/toh-system-prompt":"^0.1.1-rc.2","@buckeyestudio/toh-tools":"^0.1.1-rc.2","@buckeyestudio/toh-agent-instructions":"^0.1.1-rc.2","@buckeyestudio/cordis":"^4.0.1","@buckeyestudio/schemastery":"^3.18.1"},"_id":"@buckeyestudio/toh-acp-demo@0.1.1-rc.2","bugs":{"url":"https://github.com/dustinwloring1988/theopen-harness/issues"},"homepage":"https://github.com/dustinwloring1988/theopen-harness#readme","_integrity":"sha512-zuFR7pVLzQA7aOj3xlE9DEx3yo/ZBT0+4bBpCgZf8V1jSOk/7/TmX+rMPBJ3QtnQsITFxa97h8DtsgVSylIc/w==","_resolved":"/home/runner/work/theopen-harness/theopen-harness/dist/npm/buckeyestudio-toh-acp-demo-0.1.1-rc.2.tgz","_from":"file:/home/runner/work/theopen-harness/theopen-harness/dist/npm/buckeyestudio-toh-acp-demo-0.1.1-rc.2.tgz","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-zuFR7pVLzQA7aOj3xlE9DEx3yo/ZBT0+4bBpCgZf8V1jSOk/7/TmX+rMPBJ3QtnQsITFxa97h8DtsgVSylIc/w==","shasum":"b53736d88cba13f9cd1c240732be0298855f17e4","tarball":"https://registry.npmjs.org/@buckeyestudio/toh-acp-demo/-/toh-acp-demo-0.1.1-rc.2.tgz","fileCount":11,"unpackedSize":25492,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGAoZyfBqQSFfpG0DpcNHcRqlF0lGPvAJ6QzyfDjej5cAiBE/I+nJxoCc8e+S7IJspfdIaLg61rp2tKWcqJiTfAR/Q=="}]},"_npmUser":{"name":"buckeyestudio","email":"dustinwloring1988@gmail.com"},"directories":{},"maintainers":[{"name":"buckeyestudio","email":"dustinwloring1988@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/toh-acp-demo_0.1.1-rc.2_1787489737468_0.9733010795371555"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-23T12:55:37.251Z","0.1.1-rc.2":"2026-08-23T12:55:37.611Z","modified":"2026-08-23T12:55:37.796Z"},"maintainers":[{"name":"buckeyestudio","email":"dustinwloring1988@gmail.com"}],"description":"ACP automation server app: agent spine + JSONL persistence + ACP transport, with a JSON-RPC stdio bin","homepage":"https://github.com/dustinwloring1988/theopen-harness#readme","repository":{"type":"git","url":"git+https://github.com/dustinwloring1988/theopen-harness.git","directory":"packages/examples/acp-demo"},"author":{"name":"buckeyestudio"},"bugs":{"url":"https://github.com/dustinwloring1988/theopen-harness/issues"},"license":"MIT","readme":"# @buckeyestudio/toh-acp-demo\n\n[English](README.md) | 中文\n\nACP（Agent Client Protocol）自动化服务器应用：默认 agent（智能体）主干、客户端通过 [`@buckeyestudio/toh-acp`](../../acp/acp/README.zh.md) 创建的 agent、JSONL 持久化，以及语义检查点机制，并通过一个 JSON-RPC stdio bin 对外提供服务。程序化客户端创建新会话；此包不挂载人工交互 UI。\n\n## 组合\n\n| 插件 | 角色 |\n|---|---|\n| `@buckeyestudio/toh-agent-spine-demo` | 不含提供方且不预创建 agent 的 agent 主干；`session/new` 创建每个 agent。 |\n| `@buckeyestudio/toh-session-persistence-jsonl` | 检查点、可观测性和快照回放所使用的持久会话日志。 |\n| `@buckeyestudio/toh-session-checkpoint-policy` | 在模型调用和顶层工具 effect 前建立持久性屏障，并为已完成步骤建立检查点。 |\n| `@buckeyestudio/toh-session-query-sqlite` | 派生的精确／FTS 会话查询服务；先于 ACP 传输打开，使叶节点消费方在首次模型请求前就绪。 |\n| `@buckeyestudio/toh-acp` | 通过 stdin／stdout 提供的纯自动化 ACP 传输。 |\n\n应用不安装命令、用户交互、会话导航、配置选择器或 stdout logger。它通过一个有序 effect 拥有这些插件，因此查询服务会在 ACP 接受工作前就绪，而 ACP 会话会在检查点与持久化插件卸载前完全停稳。叶节点配置负责提供 LLM（大语言模型）、执行器、沙箱、审批、文件系统和面向模型的工具插件。\n\n## 配置\n\n| 键 | 默认值 | 路由目标 |\n|---|---|---|\n| `provider` | 必填 | 每个由 ACP 创建的 agent 所用的提供方路由。 |\n| `model` | 必填 | 每个由 ACP 创建的 agent 所用的模型。 |\n| `maxParallelToolCalls` | agent loop（智能体循环）默认值 | 正整数工具调用并发上限；`1` 表示串行。 |\n| `persona` | 无 | 供 `toh-system-prompt` 使用的部署 persona 模板。 |\n| `toolOrder` | 字典序 | 供 `toh-system-prompt` 使用的显式面向模型工具顺序。 |\n| `tools` | `{ mode: 'native' }` | Native、Code Mode 或组合式模型工具传输。 |\n| `tohHome` | `$TOH_HOME` 或 `~/.toh` | bash 与本地 skill（技能）发现共享的 harness 主目录。 |\n| `sessionTitle` | 主干示例限制 | 持久后备标题限制；标题仍不会进入 ACP wire。 |\n| `persistenceRoot` | `./.sessions` | JSONL 后端根目录，以及派生 `session-query.db` 索引的父目录。 |\n| `packChunks` | `true` | 在存储中打包连续的增量分片事件。 |\n| `persistenceCompression` | `zstd` | 带校验和的 Zstandard 帧，或原始 `none`。 |\n| `workspaceContext` | 必填 | 工作区指令字节预算／配置，或 `false`。 |\n| `skills` | 拥有者默认值 | skill 注册表、本地提供方和面向模型的 skill 工具。 |\n| `toolBash` | 拥有者默认值 | 面向模型的 bash 工具配置。 |\n| `jobs` | `{ maxConcurrentJobsPerOwner: 10 }` | 进程内按 owner 限制活动任务的准入配置。 |\n| `toolJobs` | 拥有者默认值 | 通用后台任务控制配置，或 `false`。 |\n| `goals` | 拥有者默认值 | 持久化的同会话目标领域与模型工具，或 `false`。 |\n\n已交付的 [`examples/acp-agent/cordis.yml`](../../../examples/acp-agent/cordis.yml) 添加 DeepSeek 适配器、沙箱化 bash 与文件系统提供方、一次性审批策略、压缩（compaction）、subagent、工作流、钩子，以及面向模型的工具。应用提供派生会话查询索引，而面向模型的查询消费方仍由叶节点显式选用。快照 overlay 只替换非确定性提供方或策略值。\n\n## Bin\n\n`toh-acp-demo [--config path-to-cordis.yml]`（短形式 `-c`；默认为 `./cordis.yml`）会加载 gitignore 排除的 `.env`，回放模式除外；`TOH_SNAPSHOT=replay` 选择同级 `cordis.snapshot.yml`；stdin EOF 会在退出前 dispose（资源释放）上下文并刷新会话。Loader 已安装的可选对等依赖（peer dependency）`node-addon-require-builtin` 使纯 Node 下构建后的 bin 可以解析裸插件说明符。诊断使用 stderr，因为 stdout 是 ACP wire。\n\n## 模型体验\n\n模型体验由 `toh-agent-spine-demo` 和叶节点的面向模型插件间接提供。ACP 提示词文本会成为普通的已记录用户消息；协议元数据与权限选择不会进入模型请求。\n\n#### KV Cache 影响\n\n每个会话仅追加；应用本身不添加请求前缀内容。\n\n## 已知限制与暂缓事项\n\n- **JSONL 持久化固定不变**：使用其他后端需要另一种组合。\n- **同级插件可能破坏 stdout**：应用无法阻止另一个 Cordis 配置项写入非协议字节。\n- **只支持新建自动化会话**：恢复和人工交互属于其他运行入口。\n","readmeFilename":"README.zh.md","_rev":"1-6dd60fcfeda225d0d7b4a9ee27373a58"}