{"_id":"@buddhilive/dsh-acp-app","name":"@buddhilive/dsh-acp-app","dist-tags":{"alpha":"0.1.2-alpha.3","latest":"0.1.2-alpha.3"},"versions":{"0.1.2-alpha.3":{"name":"@buddhilive/dsh-acp-app","description":"The dsh ACP profile bundle: automation-only JSON-RPC stdio and process lifecycle over dsh-base","version":"0.1.2-alpha.3","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/Buddhilive/buddhi-ai-harness.git","directory":"packages/bundle/acp-app"},"type":"module","main":"lib/index.js","types":"lib/types/index.d.ts","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./cordis.patch.yml":"./cordis.patch.yml","./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dependencies":{"commander":"^15.0.0","@buddhilive/dsh-acp":"^0.1.2-alpha.3","@buddhilive/dsh-cmdline":"^0.1.2-alpha.3"},"peerDependencies":{"@buddhilive/dsh-invariants":"^0.1.2-alpha.3","@deepseek-ai/cordis":"^4.0.2"},"devDependencies":{"@buddhilive/dsh-invariants":"^0.1.2-alpha.3","@deepseek-ai/cordis-plugin-include":"^1.0.7","@deepseek-ai/cordis":"^4.0.2"},"_id":"@buddhilive/dsh-acp-app@0.1.2-alpha.3","bugs":{"url":"https://github.com/Buddhilive/buddhi-ai-harness/issues"},"homepage":"https://github.com/Buddhilive/buddhi-ai-harness#readme","_integrity":"sha512-uIiezjy9zMO+Wop4tcfv5aVuTTpsWM1i+QgyIsEEo0OHIk62vKg2IiedQooeJCAap7I8gzl2uMwQrnZQkTIFhQ==","_resolved":"C:\\DevDojo\\Buddhi\\buddhi-ai-harness\\dist\\npm\\buddhilive-dsh-acp-app-0.1.2-alpha.3.tgz","_from":"file:C:/DevDojo/Buddhi/buddhi-ai-harness/dist/npm/buddhilive-dsh-acp-app-0.1.2-alpha.3.tgz","_nodeVersion":"24.13.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-uIiezjy9zMO+Wop4tcfv5aVuTTpsWM1i+QgyIsEEo0OHIk62vKg2IiedQooeJCAap7I8gzl2uMwQrnZQkTIFhQ==","shasum":"632eeb8188ea7bc22e28d8e1e72ae9acbcfc2ea5","tarball":"https://registry.npmjs.org/@buddhilive/dsh-acp-app/-/dsh-acp-app-0.1.2-alpha.3.tgz","fileCount":10,"unpackedSize":16115,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDx/sGFyNpcnA35SKptH1tgWBBC8vpeZ6Ju02o/JFELdwIgfuE61l+Wz8uzwo0bxSRn20iOxo7/Sg3qZfbmDXZEwec="}]},"_npmUser":{"name":"buddhilive","email":"visitbudkavin@gmail.com"},"directories":{},"maintainers":[{"name":"buddhilive","email":"visitbudkavin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dsh-acp-app_0.1.2-alpha.3_1788165125639_0.756879344096957"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-31T08:32:05.476Z","0.1.2-alpha.3":"2026-08-31T08:32:05.776Z","modified":"2026-08-31T08:32:06.113Z"},"maintainers":[{"name":"buddhilive","email":"visitbudkavin@gmail.com"}],"description":"The dsh ACP profile bundle: automation-only JSON-RPC stdio and process lifecycle over dsh-base","homepage":"https://github.com/Buddhilive/buddhi-ai-harness#readme","repository":{"type":"git","url":"git+https://github.com/Buddhilive/buddhi-ai-harness.git","directory":"packages/bundle/acp-app"},"bugs":{"url":"https://github.com/Buddhilive/buddhi-ai-harness/issues"},"license":"MIT","readme":"---\ndescription: \"面向启动持久 harness agent 的用户与维护者，说明纯自动化 ACP stdio 应用 profile。\"\nkind: \"package-bundle\"\n---\n\n# `@buddhilive/dsh-acp-app`\n\n[English](README.md) | 中文\n\n## 概述\n\n以 [`dsh-base`](../base/README.zh.md) 为基础的 automation-only ACP stdio 应用 `dsh` profile 组合包。它继承 base 默认禁用模块 HMR（热模块替换）的策略；其 patch 设置 coding agent（编程智能体）persona 与默认模型路由、挂载应用自有的零选项命令提供方，并且只在该提供方接受调用后启动 [`dsh-acp`](../../acp/acp/README.zh.md)。因此，`dsh --profile acp --help` 会写出 help 并退出，不会占用 stdin 或 stdout。\n\n## 目录\n\n- [使用本包](#use-this-package)\n- [标准自动化工作流](#standard-automation-workflow)\n- [模型体验](#model-experience)\n- [已知限制与待办事项](#known-limitations-and-deferred-work)\n- [开发备注](#dev-note)\n\n-----\n\n<a id=\"use-this-package\"></a>\n## 使用本包\n\n启动提供方把 stdin EOF 绑定到启动器的有界成功关闭。ACP 连接关闭、SIGINT 与 SIGTERM 会在退出前排空 bridge 自有 agent 以及根 profile 树。Stdout 仅保留给换行分隔的 ACP JSON-RPC frame。ACP 不提供 title 表层，因此本组合包禁用模型生成的 session title；确定性的 fallback title 仍会持久化，但不发起辅助模型请求。继承的投影缓存会为 ACP 创建的会话写入检查点，供后续消费方使用；其持久性屏障会在发布缓存行前 flush 所覆盖的日志前缀，因此可能拆分原本会合并的 JSONL 行。部署方通过 profile 组合包与 patch 文件选择另一套完整组合，而不是使用另一个 app bin。\n\n随附配置项使用 `deepseek-official` 与 `deepseek-v4-flash` 创建 session；后续 patch 可以替换该配置项的完整 config。base profile 负责适配器、工具、持久化、策略、settings 与 credentials；ACP client 为每个 session 提供工作区。\n\n-----\n\n<a id=\"standard-automation-workflow\"></a>\n## 标准自动化工作流\n\nACP v1 SDK 客户端先初始化 `dsh --profile acp`，再用绝对 `cwd` 与可选的标准 stdio／HTTP MCP 声明创建 session，选择公开的 `model` 或 `reasoning_effort`，在观察标准语义更新的同时提交提示词，最后调用 `session/close`。另一个进程可以针对同一个 profile 持久化根目录使用 `session/list` 与 `session/resume`；resume 会重新连接该请求提供的 MCP 声明，但不会重放历史。\n\n完整的受支持方法矩阵、MCP 信任模型、更新映射与停止原因见 [`dsh-acp` 协议约定](../../acp/acp/README.zh.md#standard-acp-v1-surface)。该 profile 不增加私有方法、能力、`_meta`、环境变量或传输字段。免密钥控制面一致性测试通过公开 ACP SDK 驱动真实 profile。\n\n<a id=\"model-experience\"></a>\n## 模型体验\n\n### ACP coding-agent persona\n\n#### 模型看到什么\n\n在 base 的工具和上下文贡献之前，profile 提供 `You are a coding agent powered by the {{model}} model. Your working directory is {{cwd}}.`。ACP 配置项的路由与每个 `session/new` 的 cwd 会解析其中的占位符。\n\n#### Token 影响\n\n一段简短稳定的 persona，加上随数据变化的 base prompt section 与已选工具 schema。\n\n#### KV Cache 影响\n\n固定 profile、提供方、模型与工具集合下保持稳定。随附 ACP profile 只在启动时加载 patch，因此 profile 更改会在下一个进程生效。\n\n## 已知限制与待办事项\n\n<a id=\"known-limitations-and-deferred-work\"></a>\n\n- **profile 可以省略 ACP bridge**：自定义 ACP 启动 profile 必须保留本组合包或另一个 `dsh-acp` 配置项；否则没有 peer 响应 client。\n- **用户插件可能破坏 stdout 纯净性**：profile 与单次启动 patch 属于受信任的应用组合。随附组合包不会向 stdout 写入非协议内容，但无法约束任意插入的插件。\n- **配置更改需要重启**：随附 `acp` profile 使用 `patchReload: startup`，确保一条 stdio 连接不会观察到 bridge 或 Agent 依赖被替换。\n\n\n<a id=\"dev-note\"></a>\n### 开发备注\n\n<details>\n<summary>维护者工作上下文——点击展开</summary>\n\n无。\n\n</details>\n","readmeFilename":"README.zh.md","_rev":"1-595b41a03e5c7c03a2cfba573e319d19"}