qlogicagent 2.20.6 → 2.20.8

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.
Files changed (183) hide show
  1. package/README.md +27 -54
  2. package/dist/agent-contract.js +1 -1
  3. package/dist/agent.js +42 -41
  4. package/dist/cli.js +1 -1
  5. package/dist/host-contract.js +1 -1
  6. package/dist/index.js +539 -565
  7. package/dist/orchestration.js +14 -14
  8. package/dist/project-memory-host.js +30 -33
  9. package/dist/protocol.js +1 -1
  10. package/dist/types/agent/memory-recall-context.d.ts +7 -0
  11. package/dist/types/agent/tool-loop/artifact-final-contract.d.ts +2 -0
  12. package/dist/types/agent/tool-loop/direct-response-contract.d.ts +12 -0
  13. package/dist/types/agent/tool-loop/final-status-stream-suppressor.d.ts +22 -0
  14. package/dist/types/agent/tool-loop/loop-helpers.d.ts +2 -2
  15. package/dist/types/agent/tool-loop.d.ts +5 -1
  16. package/dist/types/agent/types.d.ts +27 -15
  17. package/dist/types/cli/acp-commands.d.ts +1 -1
  18. package/dist/types/cli/acp-extended-handlers.d.ts +13 -3
  19. package/dist/types/cli/agent-runtime-session-state.d.ts +1 -0
  20. package/dist/types/cli/base-tool-bootstrap.d.ts +0 -7
  21. package/dist/types/cli/community-skill-installer.d.ts +2 -0
  22. package/dist/types/cli/core-tool-coordinator.d.ts +0 -3
  23. package/dist/types/cli/core-tools/registry.d.ts +1 -4
  24. package/dist/types/cli/handlers/config-handler.d.ts +0 -1
  25. package/dist/types/cli/handlers/goal-handler.d.ts +24 -0
  26. package/dist/types/cli/handlers/memory-handler.d.ts +1 -2
  27. package/dist/types/cli/handlers/skill-curator-handler.d.ts +8 -0
  28. package/dist/types/cli/handlers/turn-handler.d.ts +9 -12
  29. package/dist/types/cli/memory-candidate-service.d.ts +1 -8
  30. package/dist/types/cli/memory-coordinator.d.ts +1 -13
  31. package/dist/types/cli/product-acp-params.d.ts +1 -0
  32. package/dist/types/cli/provider-core-facade.d.ts +2 -30
  33. package/dist/types/cli/rpc-registry.d.ts +2 -4
  34. package/dist/types/cli/runtime-hook-bootstrap.d.ts +1 -2
  35. package/dist/types/cli/stdio-acp-request-host.d.ts +1 -2
  36. package/dist/types/cli/stdio-rpc-handler-hosts.d.ts +0 -2
  37. package/dist/types/cli/stdio-runtime-bootstrap.d.ts +0 -7
  38. package/dist/types/cli/stdio-runtime-services.d.ts +1 -8
  39. package/dist/types/cli/stdio-server.d.ts +0 -4
  40. package/dist/types/cli/tool-bootstrap-core-registration.d.ts +0 -4
  41. package/dist/types/cli/tool-bootstrap.d.ts +0 -17
  42. package/dist/types/contracts/memory-recall-packet.d.ts +31 -0
  43. package/dist/types/contracts/memory-response-contract.d.ts +2 -0
  44. package/dist/types/contracts/tool-execution-evidence.d.ts +8 -0
  45. package/dist/types/contracts/tool-name.d.ts +10 -0
  46. package/dist/types/contracts/turn-event.d.ts +36 -3
  47. package/dist/types/host-contract/acp-content.d.ts +45 -0
  48. package/dist/types/host-contract/index.d.ts +65 -48
  49. package/dist/types/orchestration/agent-instance.d.ts +21 -1
  50. package/dist/types/orchestration/agent-roster.d.ts +14 -15
  51. package/dist/types/orchestration/dag-scheduler.d.ts +4 -0
  52. package/dist/types/orchestration/goal-context-envelope.d.ts +7 -0
  53. package/dist/types/orchestration/goal-loop-coordinator.d.ts +55 -12
  54. package/dist/types/orchestration/goal-mode-adapters.d.ts +13 -1
  55. package/dist/types/orchestration/goal-run-persistence.d.ts +9 -2
  56. package/dist/types/orchestration/goal-run-types.d.ts +127 -13
  57. package/dist/types/orchestration/index.d.ts +1 -1
  58. package/dist/types/orchestration/product-persistence.d.ts +10 -1
  59. package/dist/types/orchestration/product-planner.d.ts +3 -3
  60. package/dist/types/orchestration/testing/delegate-test-bridge.d.ts +1 -0
  61. package/dist/types/orchestration/workflow/data-item.d.ts +1 -1
  62. package/dist/types/orchestration/workflow/expression.d.ts +1 -2
  63. package/dist/types/orchestration/workflow/workflow-patch.d.ts +1 -2
  64. package/dist/types/orchestration/workflow/workflow-render.d.ts +1 -2
  65. package/dist/types/project-memory-host.d.ts +1 -0
  66. package/dist/types/protocol/agent-contract.d.ts +10 -8
  67. package/dist/types/protocol/methods.d.ts +2 -19
  68. package/dist/types/protocol/notifications.d.ts +1 -1
  69. package/dist/types/protocol/wire/acp-agent-management.d.ts +48 -6
  70. package/dist/types/protocol/wire/acp-protocol.d.ts +11 -24
  71. package/dist/types/protocol/wire/agent-methods.d.ts +5 -142
  72. package/dist/types/protocol/wire/chat-types.d.ts +50 -0
  73. package/dist/types/protocol/wire/index.d.ts +2 -2
  74. package/dist/types/protocol/wire/notification-payloads.d.ts +73 -122
  75. package/dist/types/protocol/wire/thread-protocol.d.ts +4 -40
  76. package/dist/types/runtime/community/community-consent-client.d.ts +0 -13
  77. package/dist/types/runtime/context/context-compression-strategies.d.ts +29 -0
  78. package/dist/types/runtime/context/context-envelope.d.ts +3 -0
  79. package/dist/types/runtime/execution/dream-agent.d.ts +4 -5
  80. package/dist/types/runtime/execution/mcp-capability-selection.d.ts +54 -0
  81. package/dist/types/runtime/execution/memory-decay.d.ts +1 -1
  82. package/dist/types/runtime/execution/search-result-quality.d.ts +22 -0
  83. package/dist/types/runtime/execution/streaming-tool-executor.d.ts +2 -0
  84. package/dist/types/runtime/execution/tool-result-storage.d.ts +44 -0
  85. package/dist/types/runtime/hooks/memory-hooks.d.ts +3 -2
  86. package/dist/types/runtime/infra/agent-paths.d.ts +0 -8
  87. package/dist/types/runtime/infra/default-path-service.d.ts +0 -2
  88. package/dist/types/runtime/infra/llmrouter-managed-inference.d.ts +54 -1
  89. package/dist/types/runtime/infra/media-persistence.d.ts +6 -36
  90. package/dist/types/runtime/memory/implicit-extraction.d.ts +7 -15
  91. package/dist/types/runtime/memory/memory-recall-attribution.d.ts +24 -0
  92. package/dist/types/runtime/ports/agent-runtime-ports.d.ts +14 -0
  93. package/dist/types/runtime/ports/index.d.ts +1 -3
  94. package/dist/types/runtime/ports/memory-provider.d.ts +2 -19
  95. package/dist/types/runtime/ports/memory-writer.d.ts +1 -1
  96. package/dist/types/runtime/ports/path-service.d.ts +0 -2
  97. package/dist/types/runtime/prompt/capability-routing-policy.d.ts +13 -0
  98. package/dist/types/runtime/prompt/environment-context.d.ts +3 -6
  99. package/dist/types/runtime/prompt/fresh-workspace-evidence.d.ts +8 -13
  100. package/dist/types/runtime/prompt/tool-necessity-policy.d.ts +12 -0
  101. package/dist/types/skills/mcp/mcp-manager.d.ts +29 -4
  102. package/dist/types/skills/memory/host-memory-provider.d.ts +3 -9
  103. package/dist/types/skills/memory/memdir.d.ts +1 -1
  104. package/dist/types/skills/memory/memory-content-safety.d.ts +1 -0
  105. package/dist/types/skills/permissions/hook-runner.d.ts +3 -3
  106. package/dist/types/skills/portable-tool.d.ts +5 -0
  107. package/dist/types/skills/skill-system/skill-lifecycle.d.ts +1 -0
  108. package/dist/types/skills/tools/exec-tool.d.ts +1 -5
  109. package/dist/types/skills/tools/shell/command-compatibility.d.ts +3 -0
  110. package/dist/types/skills/tools/shell/index.d.ts +4 -3
  111. package/dist/types/skills/tools/shell/shell-exec.d.ts +15 -8
  112. package/dist/types/skills/tools/shell/shell-provider.d.ts +26 -0
  113. package/dist/types/transport/acp-server.d.ts +4 -1
  114. package/dist/types/transport/host-community-client.d.ts +0 -1
  115. package/dist/types/transport/host-request-client.d.ts +1 -0
  116. package/dist/types/transport/host-run-state-client.d.ts +1 -1
  117. package/dist/workflow-host.js +6 -6
  118. package/package.json +4 -3
  119. package/dist/skills/mcp/astraclaw-native-mcp-server.js +0 -12
  120. package/dist/types/cli/core-tools/checkpoint-tool-bootstrap.d.ts +0 -9
  121. package/dist/types/cli/core-tools/checkpoint-tool-service.d.ts +0 -7
  122. package/dist/types/cli/core-tools/config-tool-bootstrap.d.ts +0 -7
  123. package/dist/types/cli/core-tools/config-tool-service.d.ts +0 -13
  124. package/dist/types/cli/core-tools/monitor-tool-bootstrap.d.ts +0 -7
  125. package/dist/types/cli/core-tools/monitor-tool-service.d.ts +0 -6
  126. package/dist/types/cli/dev-tool-bootstrap.d.ts +0 -9
  127. package/dist/types/cli/dev-tools/dev-tool-bootstrap-service.d.ts +0 -7
  128. package/dist/types/cli/dev-tools/dev-tool-registry.d.ts +0 -8
  129. package/dist/types/cli/dev-tools/incremental-repo-map.d.ts +0 -81
  130. package/dist/types/cli/dev-tools/lsp-supervisor.d.ts +0 -59
  131. package/dist/types/cli/dev-tools/lsp-tool-service.d.ts +0 -7
  132. package/dist/types/cli/handlers/media-handler.d.ts +0 -19
  133. package/dist/types/cli/handlers/skills-handler.d.ts +0 -37
  134. package/dist/types/cli/industrial-runtime-store.d.ts +0 -16
  135. package/dist/types/cli/media-capability-schema.d.ts +0 -49
  136. package/dist/types/cli/media-file-api-service.d.ts +0 -73
  137. package/dist/types/cli/media-file-tool-service.d.ts +0 -13
  138. package/dist/types/cli/media-inline.d.ts +0 -31
  139. package/dist/types/cli/media-runtime-facade.d.ts +0 -51
  140. package/dist/types/cli/media-understanding.d.ts +0 -102
  141. package/dist/types/cli/skill-invocation-service.d.ts +0 -10
  142. package/dist/types/cli/skill-tools-bootstrap.d.ts +0 -35
  143. package/dist/types/cli/skills-query-service.d.ts +0 -41
  144. package/dist/types/cli/tool-bootstrap-media-registration.d.ts +0 -20
  145. package/dist/types/cli/turn-media-setup.d.ts +0 -34
  146. package/dist/types/cli/turn-preview-browser-setup.d.ts +0 -15
  147. package/dist/types/runtime/infra/astraclaw-capabilities.d.ts +0 -33
  148. package/dist/types/runtime/infra/builtin-skills-seed.d.ts +0 -31
  149. package/dist/types/runtime/infra/checkpoint-backend.d.ts +0 -9
  150. package/dist/types/runtime/infra/industrial-runtime-session-server.d.ts +0 -20
  151. package/dist/types/runtime/infra/migrate-project-skills.d.ts +0 -24
  152. package/dist/types/runtime/infra/project-skill-manifest.d.ts +0 -21
  153. package/dist/types/runtime/infra/skill-resolver.d.ts +0 -74
  154. package/dist/types/runtime/infra/worktree-backend.d.ts +0 -86
  155. package/dist/types/runtime/ports/checkpoint-contracts.d.ts +0 -19
  156. package/dist/types/runtime/ports/worktree-contracts.d.ts +0 -22
  157. package/dist/types/skills/mcp/astraclaw-native-mcp-server.d.ts +0 -1
  158. package/dist/types/skills/memory/memory-tool.d.ts +0 -87
  159. package/dist/types/skills/tools/checkpoint-tool.d.ts +0 -66
  160. package/dist/types/skills/tools/config-tool.d.ts +0 -61
  161. package/dist/types/skills/tools/file-management-tool.d.ts +0 -90
  162. package/dist/types/skills/tools/image-generate-tool.d.ts +0 -98
  163. package/dist/types/skills/tools/instructions-tool.d.ts +0 -65
  164. package/dist/types/skills/tools/lsp-tool.d.ts +0 -153
  165. package/dist/types/skills/tools/media-cancel-tool.d.ts +0 -30
  166. package/dist/types/skills/tools/media-understand-tool.d.ts +0 -28
  167. package/dist/types/skills/tools/monitor-tool.d.ts +0 -113
  168. package/dist/types/skills/tools/music-generate-tool.d.ts +0 -80
  169. package/dist/types/skills/tools/notebook-edit-tool.d.ts +0 -15
  170. package/dist/types/skills/tools/preview-browser-tool.d.ts +0 -136
  171. package/dist/types/skills/tools/repo-map-tool.d.ts +0 -52
  172. package/dist/types/skills/tools/skill-tool.d.ts +0 -142
  173. package/dist/types/skills/tools/sleep-tool.d.ts +0 -49
  174. package/dist/types/skills/tools/stt-tool.d.ts +0 -33
  175. package/dist/types/skills/tools/subagent-decision-tool.d.ts +0 -15
  176. package/dist/types/skills/tools/three-d-generate-tool.d.ts +0 -46
  177. package/dist/types/skills/tools/tts-tool.d.ts +0 -50
  178. package/dist/types/skills/tools/video-edit-tool.d.ts +0 -72
  179. package/dist/types/skills/tools/video-generate-tool.d.ts +0 -162
  180. package/dist/types/skills/tools/video-merge-tool.d.ts +0 -105
  181. package/dist/types/skills/tools/video-upscale-tool.d.ts +0 -45
  182. package/dist/types/skills/tools/voice-clone-tool.d.ts +0 -40
  183. package/dist/types/skills/tools/worktree-tool.d.ts +0 -69
package/README.md CHANGED
@@ -20,15 +20,15 @@ Pet/Soul data is display-only. Runtime load/save sanitization strips fields and
20
20
 
21
21
  ## 功能概览
22
22
 
23
- - **44 个内置工具**: 文件操作、Shell 执行、代码编辑、Web 搜索/抓取、图片/视频/音乐生成、MCP 桥接等
23
+ - **最小常驻工具面**: qlogicagent 只保留推理循环所需的基础执行工具;记忆、Skill、配置、预览浏览器和开发辅助等能力由 Runtime Host 按 Agent/会话通过 MCP 投影
24
24
  - **多 LLM Provider**: OpenAI、Anthropic、DeepSeek 等,通过统一 `LLMTransport` 接口切换
25
25
  - **编排策略**: failover 降级、指数退避重试、并行工具执行、14+ 上下文压缩策略、多代理团队协作
26
26
  - **权限系统**: 命令安全分类、规则引擎、用户审批、破坏性命令警告
27
- - **记忆系统**: 进程内分层记忆 — memdir 文件记忆 (L1 项目级,INDEX.md + 主题文件) + 本地 SQLite 语义长期记忆 (L2,本地 embedding,recall-on-demand) + Dream 整合,无外部服务依赖
27
+ - **记忆系统**: Gateway Host 单一持久化权威 项目 memdir (L1) + owner 级语义长期记忆 (L2);qlogicagent 保留召回、提取、Dream/蒸馏等推理
28
28
  - **会话持久化**: JSONL 对话转录 + 状态快照 + 会话恢复
29
29
  - **MCP 协议**: stdio/HTTP 传输、动态工具注入、资源发现
30
30
  - **插件系统**: 用户级/项目级插件加载、插件 API
31
- - **技能系统**: SKILL.md 发现/调用/管理、自主技能学习
31
+ - **技能系统**: 通过 Host Capability MCP 发现/调用 Skill;管理能力仅在用户明确管理 Skill 时由 Host 投影
32
32
  - **Hook 系统**: 30+ 生命周期钩子点,可扩展不侵入核心
33
33
 
34
34
  ## 快速开始
@@ -59,7 +59,7 @@ cp .env.example .env
59
59
  LOG_LEVEL=info
60
60
  ```
61
61
 
62
- 记忆系统为进程内(memdir 文件记忆 + 本地 SQLite 语义记忆 + 本地 embedding),无需启动任何外部服务,开箱即用。
62
+ 托管运行依赖 Runtime Host 提供记忆、配置与能力投影;qlogicagent 不再独立持有这些持久化权威。
63
63
 
64
64
  ### 3. 运行
65
65
 
@@ -123,7 +123,6 @@ node dist/cli.js --acp
123
123
  "args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"]
124
124
  }
125
125
  },
126
- "skillPaths": ["/path/to/skills"],
127
126
  "systemPrompt": "You are a helpful assistant."
128
127
  }
129
128
  }
@@ -152,7 +151,7 @@ node dist/cli.js --acp
152
151
  ## 模块结构
153
152
 
154
153
  > LLM 通信不在本仓:Provider 实现来自外部包 `@xiaozhiclaw/provider-core`,仓内仅保留传输端口
155
- > (`runtime/ports/model-transport-contracts.ts`) 与门面 (`cli/provider-core-facade.ts`)。记忆同样进程内,无独立 HTTP 服务。
154
+ > (`runtime/ports/model-transport-contracts.ts`) 与门面 (`cli/provider-core-facade.ts`)。记忆持久化由 Runtime Host 持有,qlogicagent 通过 Host request/MCP 消费。
156
155
 
157
156
  ```
158
157
  src/
@@ -190,8 +189,8 @@ src/
190
189
  │ └── config/ # tunable-defaults 等运行时配置
191
190
 
192
191
  ├── skills/ # 工具与技能层
193
- │ ├── tools/ # 内置工具 (shell / read / write / edit / search / web / agent / team / mcp ...)
194
- │ ├── memory/ # memdir (文件记忆) + 本地 SQLite store + 本地 embedding + 整合/召回
192
+ │ ├── tools/ # qlogicagent 常驻基础工具
193
+ │ ├── memory/ # Host 项目记忆存储实现 + Host-backed 召回/Dream/蒸馏
195
194
  │ ├── mcp/ # MCP 桥接
196
195
  │ ├── permissions/ # 权限规则引擎 / 设置 / sandbox overlay
197
196
  │ ├── plugins/ # 插件系统
@@ -207,21 +206,21 @@ src/
207
206
 
208
207
  ## 记忆系统
209
208
 
210
- qlogicagent 的记忆全部进程内,无外部服务依赖,开箱即用。
209
+ 记忆持久化由 Gateway Host 统一持有;qlogicagent 保留召回、提取、Dream/蒸馏等推理逻辑,并通过 Host Memory MCP/Host request 使用同一份数据。
211
210
 
212
211
  ### 记忆层次
213
212
 
214
213
  | 层 | 说明 | 存储 |
215
214
  |----|------|------|
216
- | **L1 memdir** | 项目级文件记忆,Agent 主动管理 (INDEX.md + 主题文件) | `<project>/.qlogicagent/memory/` |
217
- | **L2 长期记忆** | 语义向量记忆,自动提取 + 语义召回 | 本地 SQLite + 本地 embedding(进程内) |
215
+ | **L1 memdir** | 项目级文件记忆 (INDEX.md + 主题文件),由 Host `project_memory` 权威读写 | `<project>/.qlogicagent/memory/` |
216
+ | **L2 长期记忆** | 语义向量记忆,自动提取 + 语义召回 | Gateway Host Memory store |
218
217
  | **会话转录** | JSONL 对话记录,用于会话恢复 | `~/.qlogicagent/profiles/<owner>/projectData/<projectId>/sessions/<id>/` |
219
218
 
220
219
  ### 工作方式
221
220
 
222
- 无需任何配置或外部服务。Agent 自动:
221
+ 在 Gateway 托管会话中,Agent 自动:
223
222
  - 在 `memory.before_recall` hook 预取相关长期记忆(按 category 过滤 + 每轮字节封顶后注入系统提示)
224
- - 通过 `memory` 工具查询 / 写入语义记忆
223
+ - 通过 Host 投影的 `astraclaw_memory` MCP:`project_memory` 读写项目记忆,`memory_search/read/write` 使用长期记忆(不再注册 qlogicagent 本地 `memory` Tool)
225
224
  - 会话过程中自动提取关键信息写入 L2
226
225
  - 空闲或达到阈值后触发 Dream 整合(4 阶段:Orient → Gather → Consolidate → Prune)
227
226
 
@@ -242,7 +241,7 @@ L1/L2 冲突时不静默合并:召回上下文会标注冲突并提示向用
242
241
 
243
242
  #### QLOGICAGENT_HOME
244
243
 
245
- 设置后,所有 Agent 数据(sessions、memory、settings、plugins 等)存储到指定目录而非 `~/.qlogicagent/`。
244
+ 设置后,qlogicagent 的运行数据根目录改为指定目录。托管产品中的凭据、共享指令、Skill Host 记忆仍由 Runtime Host 的配置/存储权威管理,不能用该变量绕过 Host。
246
245
 
247
246
  典型场景:
248
247
  - **测试隔离**:每个测试用例使用独立 `QLOGICAGENT_HOME` 避免互相污染
@@ -264,17 +263,16 @@ qlogicagent 内置 idle dream 机制:当用户空闲超过 `QLOGICAGENT_IDLE_D
264
263
  - **最大时长限制**:单次 Dream 最长 120 秒,超时自动终止
265
264
  - **触发门控**:需满足记忆数据充足等前置条件才会真正执行
266
265
 
267
- ### 用户级配置(`~/.qlogicagent/`)
266
+ ### 用户级文件(`~/.qlogicagent/`)
268
267
 
269
268
  | 路径 | 说明 |
270
269
  |------|------|
271
- | `~/.qlogicagent/settings.json` | 权限规则、行为模式 |
272
- | `~/.qlogicagent/mcp.json` | 全局 MCP 服务器配置 |
270
+ | `~/.qlogicagent/profiles/<owner>/settings.json` | Host 配置权威文件;qlogicagent 仅消费会话解析结果及原生权限段,不提供对话配置 Tool |
273
271
  | `~/.qlogicagent/plugins/` | 用户级插件目录 |
274
- | `~/.qlogicagent/INSTRUCTIONS.md` | 用户级指令 |
275
- | `~/.qlogicagent/session-memory.md` | MD 记忆文件 |
276
- | `~/.qlogicagent/profiles/<owner>/projectData/<projectId>/sessions/` | 会话持久化目录(按 projectId 集中,P1 迁移后)|
277
- | `~/.qlogicagent/.credentials.json` | 安全凭据存储 (0o600) |
272
+ | `~/.qlogicagent/INSTRUCTIONS.md` | 新项目可复制的 qlogicagent 原生指令模板;运行时不作为 Host 共享指令读取 |
273
+ | `~/.qlogicagent/profiles/<owner>/projectData/<projectId>/` | Runtime Host 持有的项目、会话、共享指令和项目记忆数据;不是 qlogicagent 配置面 |
274
+
275
+ 模型/API 密钥、桌面参数和 MCP 绑定只通过 Runtime Host UI/控制面维护。qlogicagent 不读取或写入设备级凭据文件。
278
276
 
279
277
  ### 项目级配置
280
278
 
@@ -286,48 +284,23 @@ qlogicagent 内置 idle dream 机制:当用户空闲超过 `QLOGICAGENT_IDLE_D
286
284
  | `INSTRUCTIONS.md` | 项目指令 (根目录) |
287
285
  | `INSTRUCTIONS.local.md` | 本地私有指令 |
288
286
 
289
- ---
290
-
291
- ## MCP 配置
287
+ 这些项目文件由 qlogicagent 自己的原生指令加载器读取。Host 共享指令是额外基础层,存放在 Host 的 `projectData/<projectId>/shared-instructions/`,不会替换或禁用 `AGENTS.md`、`CLAUDE.md`、上述 qlogicagent 指令文件等各 Agent 原生机制。
292
288
 
293
- ### 全局 MCP(`~/.qlogicagent/mcp.json`)
294
-
295
- ```json
296
- {
297
- "filesystem": {
298
- "command": "npx",
299
- "args": ["-y", "@modelcontextprotocol/server-filesystem", "/home/user"]
300
- },
301
- "github": {
302
- "command": "npx",
303
- "args": ["-y", "@modelcontextprotocol/server-github"],
304
- "env": { "GITHUB_TOKEN": "ghp_..." }
305
- }
306
- }
307
- ```
289
+ ---
308
290
 
309
- ### Per-Turn MCP(通过 `session/prompt` config)
291
+ ## MCP 投影
310
292
 
311
- ```json
312
- {
313
- "config": {
314
- "mcpServers": {
315
- "project-db": {
316
- "type": "http",
317
- "url": "http://localhost:3100/mcp"
318
- }
319
- }
320
- }
321
- }
322
- ```
293
+ qlogicagent 不读取用户级 `~/.qlogicagent/mcp.json`,也不拥有 MCP 安装、凭据或绑定配置。Runtime Host 在 canonical session 建立时传入该会话获准使用的 MCP server;qlogicagent 只负责连接和把工具注入当前会话,解绑时一并释放。
323
294
 
324
- MCP 工具自动注入到 Agent 工具列表,前缀格式:`mcp__servername__toolname`。
295
+ 注入后的可调用名称使用 `servername__toolname`。Host 自有能力同样遵循该命名,例如 `astraclaw_memory__project_memory`;这不会注册同名 qlogicagent 本地 Tool。
325
296
 
326
297
  ---
327
298
 
328
299
  ## 权限配置
329
300
 
330
- ### `~/.qlogicagent/settings.json`
301
+ ### Host 管理的 owner profile `settings.json`
302
+
303
+ 下例仅说明 qlogicagent 原生权限检查器消费的 `permissions` 段。托管产品应通过 Runtime Host UI/控制面修改,不应让 Agent 在对话中直接编辑该文件。
331
304
 
332
305
  ```json
333
306
  {
@@ -1 +1 @@
1
- var A=9,N=1,_=["completed","failed","cancelled"],E=["turn.start","turn.delta","turn.end","turn.error","turn.recovery","turn.file_changes","turn.tool_call","turn.tool_result","turn.tool_blocked","turn.reasoning_delta","turn.approval_request","turn.ask_user","turn.media_result","turn.media_progress","turn.media_usage","turn.media_capability_check","turn.plan_update","turn.suggestions","turn.sidechain_started","turn.subagent_started","turn.subagent_delta","turn.subagent_activity","turn.subagent_ended","turn.subagent_completed","turn.subagent_decision","turn.sidechain_completed","turn.task_updated","turn.todos_updated","turn.exec_progress","turn.progress","turn.tool_use_summary","turn.tool_selection_policy","turn.lifecycle","turn.document_maintenance","turn.artifact_contract","turn.usage_update","team.member.notification","session.info","session.recovery_pending","memory.updated","skills.updated","turn.memory_recall","turn.memory_written","system.activity","workflow.created","workflow.updated","workflow.deleted","workflow.runStarted","workflow.runCompleted","workflow.runFailed","workflow.nodeStatus","workflow.triggerDropped","workflow.alert","workflow.approvalRequested","workflow.approvalTimedOut"],I=["solo.progress","solo.specProgress","solo.agentDelta","solo.agentActivity","solo.agentUsage","solo.evaluation","solo.agentDiff","solo.state","product.taskStarted","product.taskOutput","product.members","product.agentActivity","product.taskCompleted","product.taskFailed","product.budgetUpdate","product.budgetWarning","product.budgetExceeded","product.checkpointed","product.completed","product.dagTopology","plan.interrupted","product.planReady","product.planningDelta","product.leaderMessage","product.planFailed","product.planningAsk","goal.run_state_changed","goal.phase_boundary","goal.goal_edited","goal.message_queued","goal.acceptance_updated","goal.round_message","mention.delegate_started","mention.delegate_activity","mention.delegate_settled"],p=[...E,...I],f=p,m={"turn.subagent_started":["turnId","parentTurnId","subagentId","agentType","displayName","delegatedTask","mode","startedAt"],"turn.subagent_activity":["turnId","parentTurnId","subagentId","agentType","displayName","conciseStatus","status","observedAt"],"turn.subagent_completed":["turnId","parentTurnId","subagentId","agentType","displayName","status","evidence","toolsUsed","durationMs","tokenUsage","finishedAt"],"turn.subagent_decision":["turnId","parentTurnId","subagentId","decision","decidedAt"],"product.taskStarted":["productId","taskId","assignee","attempt"],"product.taskCompleted":["productId","taskId","result","attempt"],"product.taskFailed":["productId","taskId","error","attempt","terminalState"],"product.budgetExceeded":["productId","usedTokens","reason"],"mention.delegate_started":["parentSessionId","parentMessageId","bindingId","executionSessionId","delegationId","sequence","providerId","revision"],"mention.delegate_activity":["parentSessionId","parentMessageId","bindingId","executionSessionId","delegationId","sequence","providerId","revision"],"mention.delegate_settled":["parentSessionId","parentMessageId","bindingId","executionSessionId","delegationId","sequence","providerId","revision","status"]};function k(d,o,c={}){let l=c.requireKnownAssignee??!0,n=[];d.length===0&&n.push({taskId:"",reason:"\u7F3A\u5C11\u6267\u884C\u6210\u5458:\u81F3\u5C11\u9700\u8981\u4E00\u4E2A instance"});let s=new Set;for(let e of o){let t=(e.taskId??"").trim();if(!t){n.push({taskId:"",reason:"\u5B58\u5728\u6CA1\u6709 taskId \u7684\u4EFB\u52A1"});continue}s.has(t)&&n.push({taskId:t,reason:`taskId \u91CD\u590D:"${t}"`}),s.add(t),(e.prompt??"").trim()||n.push({taskId:t,reason:"\u4EFB\u52A1\u8BF4\u660E\u4E3A\u7A7A"}),(e.assignee??"").trim()||n.push({taskId:t,reason:"\u6CA1\u6709\u6307\u6D3E\u8D1F\u8D23\u6210\u5458"})}let i=new Set(d.flatMap(e=>[(e.name??"").trim(),(e.agentId??"").trim()]).filter(Boolean));for(let e of o){let t=(e.assignee??"").trim();l&&t&&i.size>0&&!i.has(t)&&n.push({taskId:e.taskId,reason:`\u8D1F\u8D23\u6210\u5458\u300C${t}\u300D\u4E0D\u5728\u56E2\u961F\u540D\u5355\u91CC`});for(let a of e.dependsOn??[])a===e.taskId?n.push({taskId:e.taskId,reason:"\u4EFB\u52A1\u4F9D\u8D56\u4E86\u81EA\u5DF1"}):s.has(a)||n.push({taskId:e.taskId,reason:`\u4F9D\u8D56\u4E86\u4E0D\u5B58\u5728\u7684\u4EFB\u52A1\u300C${a}\u300D`})}let g=new Map(o.map(e=>[e.taskId,(e.dependsOn??[]).filter(t=>s.has(t))])),r=new Map,u=e=>{let t=r.get(e);if(t==="done")return!1;if(t==="visiting")return!0;r.set(e,"visiting");for(let a of g.get(e)??[])if(u(a))return!0;return r.set(e,"done"),!1};for(let e of s)if(u(e)){n.push({taskId:e,reason:"\u4EFB\u52A1\u4F9D\u8D56\u6210\u73AF"});break}return n}var y={version:9,eventSchemaVersion:1,eventNames:p,eventRequiredKeys:m,terminalStates:_},T="1a1a3a59c6601cab382ac31e58198f8f61b182ed452061cd50f68faddeebc5cc",S={version:9,hash:T};export{y as AGENT_CONTRACT_DESCRIPTOR,T as AGENT_CONTRACT_HASH,S as AGENT_CONTRACT_IDENTITY,A as AGENT_CONTRACT_VERSION,p as AGENT_EVENT_NAMES,m as AGENT_EVENT_REQUIRED_KEYS,N as AGENT_EVENT_SCHEMA_VERSION,I as AGENT_TEAM_WS_EVENT_NAMES,_ as AGENT_TERMINAL_STATES,E as AGENT_WS_EVENT_NAMES,f as ALL_AGENT_WS_EVENT_NAMES,k as collectProductPlanIssues};
1
+ var T=10,A=1,_=["completed","failed","cancelled"],E=["turn.start","turn.delta","turn.end","turn.error","turn.recovery","turn.text_rollback","turn.file_changes","turn.tool_call","turn.tool_result","turn.tool_blocked","turn.reasoning_delta","turn.approval_request","turn.ask_user","turn.media_result","turn.plan_update","turn.suggestions","turn.sidechain_started","turn.subagent_started","turn.subagent_delta","turn.subagent_activity","turn.subagent_ended","turn.subagent_completed","turn.subagent_decision","turn.sidechain_completed","turn.task_updated","turn.todos_updated","turn.exec_progress","turn.progress","turn.tool_use_summary","turn.tool_selection_policy","turn.lifecycle","turn.document_maintenance","turn.artifact_contract","turn.usage_update","team.member.notification","session.info","session.recovery_pending","thread.item","memory.updated","skills.updated","turn.memory_recall","turn.memory_written","system.activity","workflow.created","workflow.updated","workflow.deleted","workflow.runStarted","workflow.runCompleted","workflow.runFailed","workflow.nodeStatus","workflow.triggerDropped","workflow.alert","workflow.approvalRequested","workflow.approvalTimedOut"],I=["solo.progress","solo.specProgress","solo.agentDelta","solo.agentActivity","solo.agentUsage","solo.evaluation","solo.agentDiff","solo.state","product.taskStarted","product.taskOutput","product.members","product.agentActivity","product.taskCompleted","product.taskFailed","product.taskHandoff","product.budgetUpdate","product.budgetWarning","product.budgetExceeded","product.checkpointed","product.completed","product.dagTopology","plan.interrupted","product.planReady","product.planningDelta","product.leaderMessage","product.planFailed","product.planningAsk","mention.delegate_started","mention.delegate_activity","mention.delegate_settled"],p=[...E,...I],N=p,f={"turn.subagent_started":["turnId","parentTurnId","subagentId","agentType","displayName","delegatedTask","mode","startedAt"],"turn.subagent_activity":["turnId","parentTurnId","subagentId","agentType","displayName","conciseStatus","status","observedAt"],"turn.subagent_completed":["turnId","parentTurnId","subagentId","agentType","displayName","status","evidence","toolsUsed","durationMs","tokenUsage","finishedAt"],"turn.subagent_decision":["turnId","parentTurnId","subagentId","decision","decidedAt"],"product.taskStarted":["productId","taskId","assignee","attempt"],"product.taskCompleted":["productId","taskId","result","attempt"],"product.taskFailed":["productId","taskId","error","attempt","terminalState"],"product.taskHandoff":["productId","taskId","from","to","reason","attempt","timestamp"],"product.budgetExceeded":["productId","usedTokens","reason"],"mention.delegate_started":["parentSessionId","parentMessageId","bindingId","executionSessionId","delegationId","sequence","providerId","revision"],"mention.delegate_activity":["parentSessionId","parentMessageId","bindingId","executionSessionId","delegationId","sequence","providerId","revision"],"mention.delegate_settled":["parentSessionId","parentMessageId","bindingId","executionSessionId","delegationId","sequence","providerId","revision","status"]};function k(d,a,c={}){let l=c.requireKnownAssignee??!0,n=[];d.length===0&&n.push({taskId:"",reason:"\u7F3A\u5C11\u6267\u884C\u6210\u5458:\u81F3\u5C11\u9700\u8981\u4E00\u4E2A instance"});let s=new Set;for(let e of a){let t=(e.taskId??"").trim();if(!t){n.push({taskId:"",reason:"\u5B58\u5728\u6CA1\u6709 taskId \u7684\u4EFB\u52A1"});continue}s.has(t)&&n.push({taskId:t,reason:`taskId \u91CD\u590D:"${t}"`}),s.add(t),(e.prompt??"").trim()||n.push({taskId:t,reason:"\u4EFB\u52A1\u8BF4\u660E\u4E3A\u7A7A"}),(e.assignee??"").trim()||n.push({taskId:t,reason:"\u6CA1\u6709\u6307\u6D3E\u8D1F\u8D23\u6210\u5458"})}let i=new Set(d.flatMap(e=>[(e.name??"").trim(),(e.agentId??"").trim()]).filter(Boolean));for(let e of a){let t=(e.assignee??"").trim();l&&t&&i.size>0&&!i.has(t)&&n.push({taskId:e.taskId,reason:`\u8D1F\u8D23\u6210\u5458\u300C${t}\u300D\u4E0D\u5728\u56E2\u961F\u540D\u5355\u91CC`});for(let o of e.dependsOn??[])o===e.taskId?n.push({taskId:e.taskId,reason:"\u4EFB\u52A1\u4F9D\u8D56\u4E86\u81EA\u5DF1"}):s.has(o)||n.push({taskId:e.taskId,reason:`\u4F9D\u8D56\u4E86\u4E0D\u5B58\u5728\u7684\u4EFB\u52A1\u300C${o}\u300D`})}let g=new Map(a.map(e=>[e.taskId,(e.dependsOn??[]).filter(t=>s.has(t))])),r=new Map,u=e=>{let t=r.get(e);if(t==="done")return!1;if(t==="visiting")return!0;r.set(e,"visiting");for(let o of g.get(e)??[])if(u(o))return!0;return r.set(e,"done"),!1};for(let e of s)if(u(e)){n.push({taskId:e,reason:"\u4EFB\u52A1\u4F9D\u8D56\u6210\u73AF"});break}return n}var S={version:10,eventSchemaVersion:1,eventNames:p,eventRequiredKeys:f,terminalStates:_},m="5fcb0701c3e9acaff61e5039729e6eb5f41352581ce52079edfa434913ef234c",y={version:10,hash:m};export{S as AGENT_CONTRACT_DESCRIPTOR,m as AGENT_CONTRACT_HASH,y as AGENT_CONTRACT_IDENTITY,T as AGENT_CONTRACT_VERSION,p as AGENT_EVENT_NAMES,f as AGENT_EVENT_REQUIRED_KEYS,A as AGENT_EVENT_SCHEMA_VERSION,I as AGENT_TEAM_WS_EVENT_NAMES,_ as AGENT_TERMINAL_STATES,E as AGENT_WS_EVENT_NAMES,N as ALL_AGENT_WS_EVENT_NAMES,k as collectProductPlanIssues};