agentdev 0.1.8 → 0.1.9

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 (186) hide show
  1. package/dist/BasicAgent-UWXLSZP2.js +13 -0
  2. package/dist/ExplorerAgent-LCM3JQS4.js +13 -0
  3. package/dist/{chunk-LQTEETML.js → chunk-5T4C2XRT.js} +12 -7
  4. package/dist/chunk-5T4C2XRT.js.map +1 -0
  5. package/dist/{chunk-OBOU27DM.js → chunk-A354ZCZF.js} +6735 -1822
  6. package/dist/chunk-A354ZCZF.js.map +1 -0
  7. package/dist/{chunk-TSASFMRF.js → chunk-BAP2GCYH.js} +1 -1
  8. package/dist/chunk-BAP2GCYH.js.map +1 -0
  9. package/dist/{chunk-3BPSNNK3.js → chunk-EECW6PYP.js} +11 -9
  10. package/dist/chunk-EECW6PYP.js.map +1 -0
  11. package/dist/chunk-G5ECPY4K.js +551 -0
  12. package/dist/chunk-G5ECPY4K.js.map +1 -0
  13. package/dist/{chunk-LLV3W326.js → chunk-NORTAQIL.js} +67 -20
  14. package/dist/chunk-NORTAQIL.js.map +1 -0
  15. package/dist/{chunk-F3PR7UTL.js → chunk-QFHPUAUQ.js} +5 -3
  16. package/dist/{chunk-F3PR7UTL.js.map → chunk-QFHPUAUQ.js.map} +1 -1
  17. package/dist/cli/server.js +2 -2
  18. package/dist/cli/viewer.js +2 -2
  19. package/dist/features/shell/templates/bash.render.d.ts +1 -1
  20. package/dist/features/websearch/templates/web-fetch.render.d.ts +1 -1
  21. package/dist/index.d.ts +1733 -500
  22. package/dist/index.js +30 -8
  23. package/dist/index.js.map +1 -1
  24. package/dist/{notification-3VEAP7YF.js → notification-NWVOS2WR.js} +3 -3
  25. package/dist/tools-LDR3LIJP.js +14 -0
  26. package/dist/tools-LDR3LIJP.js.map +1 -0
  27. package/dist/{types-DUKIIntb.d.ts → types-CF5UsxD9.d.ts} +3 -0
  28. package/node_modules/@sliverp/qqbot/LICENSE +21 -0
  29. package/node_modules/@sliverp/qqbot/README.md +427 -0
  30. package/node_modules/@sliverp/qqbot/README.standalone.zh.md +77 -0
  31. package/node_modules/@sliverp/qqbot/README.zh.md +423 -0
  32. package/node_modules/@sliverp/qqbot/bin/qqbot-cli.js +227 -0
  33. package/node_modules/@sliverp/qqbot/clawdbot.plugin.json +16 -0
  34. package/node_modules/@sliverp/qqbot/dist/index.d.ts +20 -0
  35. package/node_modules/@sliverp/qqbot/dist/index.js +25 -0
  36. package/node_modules/@sliverp/qqbot/dist/src/agent.d.ts +76 -0
  37. package/node_modules/@sliverp/qqbot/dist/src/agent.js +36 -0
  38. package/node_modules/@sliverp/qqbot/dist/src/api.d.ts +138 -0
  39. package/node_modules/@sliverp/qqbot/dist/src/api.js +523 -0
  40. package/node_modules/@sliverp/qqbot/dist/src/channel.d.ts +3 -0
  41. package/node_modules/@sliverp/qqbot/dist/src/channel.js +349 -0
  42. package/node_modules/@sliverp/qqbot/dist/src/config.d.ts +25 -0
  43. package/node_modules/@sliverp/qqbot/dist/src/config.js +156 -0
  44. package/node_modules/@sliverp/qqbot/dist/src/demo-standalone.d.ts +1 -0
  45. package/node_modules/@sliverp/qqbot/dist/src/demo-standalone.js +125 -0
  46. package/node_modules/@sliverp/qqbot/dist/src/gateway.d.ts +20 -0
  47. package/node_modules/@sliverp/qqbot/dist/src/gateway.js +2156 -0
  48. package/node_modules/@sliverp/qqbot/dist/src/image-server.d.ts +62 -0
  49. package/node_modules/@sliverp/qqbot/dist/src/image-server.js +401 -0
  50. package/node_modules/@sliverp/qqbot/dist/src/known-users.d.ts +100 -0
  51. package/node_modules/@sliverp/qqbot/dist/src/known-users.js +263 -0
  52. package/node_modules/@sliverp/qqbot/dist/src/onboarding.d.ts +10 -0
  53. package/node_modules/@sliverp/qqbot/dist/src/onboarding.js +203 -0
  54. package/node_modules/@sliverp/qqbot/dist/src/openclaw-agent-adapter.d.ts +2 -0
  55. package/node_modules/@sliverp/qqbot/dist/src/openclaw-agent-adapter.js +155 -0
  56. package/node_modules/@sliverp/qqbot/dist/src/outbound.d.ts +150 -0
  57. package/node_modules/@sliverp/qqbot/dist/src/outbound.js +1175 -0
  58. package/node_modules/@sliverp/qqbot/dist/src/proactive.d.ts +170 -0
  59. package/node_modules/@sliverp/qqbot/dist/src/proactive.js +399 -0
  60. package/node_modules/@sliverp/qqbot/dist/src/runtime.d.ts +5 -0
  61. package/node_modules/@sliverp/qqbot/dist/src/runtime.js +16 -0
  62. package/node_modules/@sliverp/qqbot/dist/src/session-store.d.ts +52 -0
  63. package/node_modules/@sliverp/qqbot/dist/src/session-store.js +254 -0
  64. package/node_modules/@sliverp/qqbot/dist/src/types.d.ts +145 -0
  65. package/node_modules/@sliverp/qqbot/dist/src/types.js +1 -0
  66. package/node_modules/@sliverp/qqbot/dist/src/utils/audio-convert.d.ts +73 -0
  67. package/node_modules/@sliverp/qqbot/dist/src/utils/audio-convert.js +645 -0
  68. package/node_modules/@sliverp/qqbot/dist/src/utils/file-utils.d.ts +46 -0
  69. package/node_modules/@sliverp/qqbot/dist/src/utils/file-utils.js +107 -0
  70. package/node_modules/@sliverp/qqbot/dist/src/utils/image-size.d.ts +51 -0
  71. package/node_modules/@sliverp/qqbot/dist/src/utils/image-size.js +234 -0
  72. package/node_modules/@sliverp/qqbot/dist/src/utils/media-tags.d.ts +14 -0
  73. package/node_modules/@sliverp/qqbot/dist/src/utils/media-tags.js +120 -0
  74. package/node_modules/@sliverp/qqbot/dist/src/utils/payload.d.ts +112 -0
  75. package/node_modules/@sliverp/qqbot/dist/src/utils/payload.js +186 -0
  76. package/node_modules/@sliverp/qqbot/dist/src/utils/platform.d.ts +126 -0
  77. package/node_modules/@sliverp/qqbot/dist/src/utils/platform.js +358 -0
  78. package/node_modules/@sliverp/qqbot/dist/src/utils/upload-cache.d.ts +34 -0
  79. package/node_modules/@sliverp/qqbot/dist/src/utils/upload-cache.js +93 -0
  80. package/node_modules/@sliverp/qqbot/dist/standalone.d.ts +6 -0
  81. package/node_modules/@sliverp/qqbot/dist/standalone.js +6 -0
  82. package/node_modules/@sliverp/qqbot/index.ts +30 -0
  83. package/node_modules/@sliverp/qqbot/moltbot.plugin.json +16 -0
  84. package/node_modules/@sliverp/qqbot/node_modules/@eshaz/web-worker/LICENSE +201 -0
  85. package/node_modules/@sliverp/qqbot/node_modules/@eshaz/web-worker/README.md +134 -0
  86. package/node_modules/@sliverp/qqbot/node_modules/@eshaz/web-worker/browser.js +17 -0
  87. package/node_modules/@sliverp/qqbot/node_modules/@eshaz/web-worker/cjs/browser.js +16 -0
  88. package/node_modules/@sliverp/qqbot/node_modules/@eshaz/web-worker/cjs/node.js +219 -0
  89. package/node_modules/@sliverp/qqbot/node_modules/@eshaz/web-worker/index.d.ts +4 -0
  90. package/node_modules/@sliverp/qqbot/node_modules/@eshaz/web-worker/node.js +223 -0
  91. package/node_modules/@sliverp/qqbot/node_modules/@eshaz/web-worker/package.json +54 -0
  92. package/node_modules/@sliverp/qqbot/node_modules/@wasm-audio-decoders/common/index.js +5 -0
  93. package/node_modules/@sliverp/qqbot/node_modules/@wasm-audio-decoders/common/package.json +36 -0
  94. package/node_modules/@sliverp/qqbot/node_modules/@wasm-audio-decoders/common/src/WASMAudioDecoderCommon.js +231 -0
  95. package/node_modules/@sliverp/qqbot/node_modules/@wasm-audio-decoders/common/src/WASMAudioDecoderWorker.js +129 -0
  96. package/node_modules/@sliverp/qqbot/node_modules/@wasm-audio-decoders/common/src/puff/README +67 -0
  97. package/node_modules/@sliverp/qqbot/node_modules/@wasm-audio-decoders/common/src/puff/build_puff.js +31 -0
  98. package/node_modules/@sliverp/qqbot/node_modules/@wasm-audio-decoders/common/src/puff/puff.c +863 -0
  99. package/node_modules/@sliverp/qqbot/node_modules/@wasm-audio-decoders/common/src/puff/puff.h +35 -0
  100. package/node_modules/@sliverp/qqbot/node_modules/@wasm-audio-decoders/common/src/utilities.js +3 -0
  101. package/node_modules/@sliverp/qqbot/node_modules/@wasm-audio-decoders/common/types.d.ts +7 -0
  102. package/node_modules/@sliverp/qqbot/node_modules/mpg123-decoder/README.md +265 -0
  103. package/node_modules/@sliverp/qqbot/node_modules/mpg123-decoder/dist/mpg123-decoder.min.js +185 -0
  104. package/node_modules/@sliverp/qqbot/node_modules/mpg123-decoder/dist/mpg123-decoder.min.js.map +1 -0
  105. package/node_modules/@sliverp/qqbot/node_modules/mpg123-decoder/index.js +8 -0
  106. package/node_modules/@sliverp/qqbot/node_modules/mpg123-decoder/package.json +58 -0
  107. package/node_modules/@sliverp/qqbot/node_modules/mpg123-decoder/src/EmscriptenWasm.js +464 -0
  108. package/node_modules/@sliverp/qqbot/node_modules/mpg123-decoder/src/MPEGDecoder.js +200 -0
  109. package/node_modules/@sliverp/qqbot/node_modules/mpg123-decoder/src/MPEGDecoderWebWorker.js +21 -0
  110. package/node_modules/@sliverp/qqbot/node_modules/mpg123-decoder/types.d.ts +30 -0
  111. package/node_modules/@sliverp/qqbot/node_modules/silk-wasm/LICENSE +21 -0
  112. package/node_modules/@sliverp/qqbot/node_modules/silk-wasm/README.md +85 -0
  113. package/node_modules/@sliverp/qqbot/node_modules/silk-wasm/lib/index.cjs +16 -0
  114. package/node_modules/@sliverp/qqbot/node_modules/silk-wasm/lib/index.d.ts +70 -0
  115. package/node_modules/@sliverp/qqbot/node_modules/silk-wasm/lib/index.mjs +16 -0
  116. package/node_modules/@sliverp/qqbot/node_modules/silk-wasm/lib/silk.wasm +0 -0
  117. package/node_modules/@sliverp/qqbot/node_modules/silk-wasm/lib/utils.d.ts +4 -0
  118. package/node_modules/@sliverp/qqbot/node_modules/silk-wasm/package.json +39 -0
  119. package/node_modules/@sliverp/qqbot/node_modules/simple-yenc/.github/FUNDING.yml +1 -0
  120. package/node_modules/@sliverp/qqbot/node_modules/simple-yenc/.prettierignore +1 -0
  121. package/node_modules/@sliverp/qqbot/node_modules/simple-yenc/LICENSE +7 -0
  122. package/node_modules/@sliverp/qqbot/node_modules/simple-yenc/README.md +163 -0
  123. package/node_modules/@sliverp/qqbot/node_modules/simple-yenc/dist/esm.js +1 -0
  124. package/node_modules/@sliverp/qqbot/node_modules/simple-yenc/dist/index.js +1 -0
  125. package/node_modules/@sliverp/qqbot/node_modules/simple-yenc/package.json +50 -0
  126. package/node_modules/@sliverp/qqbot/node_modules/simple-yenc/rollup.config.js +27 -0
  127. package/node_modules/@sliverp/qqbot/node_modules/simple-yenc/src/simple-yenc.js +302 -0
  128. package/node_modules/@sliverp/qqbot/node_modules/ws/LICENSE +20 -0
  129. package/node_modules/@sliverp/qqbot/node_modules/ws/README.md +548 -0
  130. package/node_modules/@sliverp/qqbot/node_modules/ws/browser.js +8 -0
  131. package/node_modules/@sliverp/qqbot/node_modules/ws/index.js +13 -0
  132. package/node_modules/@sliverp/qqbot/node_modules/ws/lib/buffer-util.js +131 -0
  133. package/node_modules/@sliverp/qqbot/node_modules/ws/lib/constants.js +19 -0
  134. package/node_modules/@sliverp/qqbot/node_modules/ws/lib/event-target.js +292 -0
  135. package/node_modules/@sliverp/qqbot/node_modules/ws/lib/extension.js +203 -0
  136. package/node_modules/@sliverp/qqbot/node_modules/ws/lib/limiter.js +55 -0
  137. package/node_modules/@sliverp/qqbot/node_modules/ws/lib/permessage-deflate.js +528 -0
  138. package/node_modules/@sliverp/qqbot/node_modules/ws/lib/receiver.js +706 -0
  139. package/node_modules/@sliverp/qqbot/node_modules/ws/lib/sender.js +602 -0
  140. package/node_modules/@sliverp/qqbot/node_modules/ws/lib/stream.js +161 -0
  141. package/node_modules/@sliverp/qqbot/node_modules/ws/lib/subprotocol.js +62 -0
  142. package/node_modules/@sliverp/qqbot/node_modules/ws/lib/validation.js +152 -0
  143. package/node_modules/@sliverp/qqbot/node_modules/ws/lib/websocket-server.js +554 -0
  144. package/node_modules/@sliverp/qqbot/node_modules/ws/lib/websocket.js +1393 -0
  145. package/node_modules/@sliverp/qqbot/node_modules/ws/package.json +69 -0
  146. package/node_modules/@sliverp/qqbot/node_modules/ws/wrapper.mjs +8 -0
  147. package/node_modules/@sliverp/qqbot/openclaw.plugin.json +16 -0
  148. package/node_modules/@sliverp/qqbot/package.json +81 -0
  149. package/node_modules/@sliverp/qqbot/skills/qqbot-cron/SKILL.md +513 -0
  150. package/node_modules/@sliverp/qqbot/skills/qqbot-media/SKILL.md +194 -0
  151. package/node_modules/@sliverp/qqbot/src/agent.ts +133 -0
  152. package/node_modules/@sliverp/qqbot/src/api.ts +704 -0
  153. package/node_modules/@sliverp/qqbot/src/channel.ts +380 -0
  154. package/node_modules/@sliverp/qqbot/src/config.ts +182 -0
  155. package/node_modules/@sliverp/qqbot/src/demo-standalone.ts +144 -0
  156. package/node_modules/@sliverp/qqbot/src/gateway.ts +2285 -0
  157. package/node_modules/@sliverp/qqbot/src/image-server.ts +474 -0
  158. package/node_modules/@sliverp/qqbot/src/known-users.ts +353 -0
  159. package/node_modules/@sliverp/qqbot/src/onboarding.ts +274 -0
  160. package/node_modules/@sliverp/qqbot/src/openclaw-agent-adapter.ts +168 -0
  161. package/node_modules/@sliverp/qqbot/src/openclaw-plugin-sdk.d.ts +483 -0
  162. package/node_modules/@sliverp/qqbot/src/outbound.ts +1301 -0
  163. package/node_modules/@sliverp/qqbot/src/proactive.ts +530 -0
  164. package/node_modules/@sliverp/qqbot/src/runtime.ts +22 -0
  165. package/node_modules/@sliverp/qqbot/src/session-store.ts +303 -0
  166. package/node_modules/@sliverp/qqbot/src/types.ts +153 -0
  167. package/node_modules/@sliverp/qqbot/src/utils/audio-convert.ts +738 -0
  168. package/node_modules/@sliverp/qqbot/src/utils/file-utils.ts +122 -0
  169. package/node_modules/@sliverp/qqbot/src/utils/image-size.ts +266 -0
  170. package/node_modules/@sliverp/qqbot/src/utils/media-tags.ts +134 -0
  171. package/node_modules/@sliverp/qqbot/src/utils/payload.ts +265 -0
  172. package/node_modules/@sliverp/qqbot/src/utils/platform.ts +404 -0
  173. package/node_modules/@sliverp/qqbot/src/utils/upload-cache.ts +128 -0
  174. package/node_modules/@sliverp/qqbot/standalone.ts +6 -0
  175. package/node_modules/@sliverp/qqbot/tsconfig.json +16 -0
  176. package/package.json +9 -1
  177. package/dist/BasicAgent-QWEYCLV5.js +0 -12
  178. package/dist/ExplorerAgent-4IT22VB7.js +0 -12
  179. package/dist/chunk-3BPSNNK3.js.map +0 -1
  180. package/dist/chunk-LLV3W326.js.map +0 -1
  181. package/dist/chunk-LQTEETML.js.map +0 -1
  182. package/dist/chunk-OBOU27DM.js.map +0 -1
  183. package/dist/chunk-TSASFMRF.js.map +0 -1
  184. /package/dist/{BasicAgent-QWEYCLV5.js.map → BasicAgent-UWXLSZP2.js.map} +0 -0
  185. /package/dist/{ExplorerAgent-4IT22VB7.js.map → ExplorerAgent-LCM3JQS4.js.map} +0 -0
  186. /package/dist/{notification-3VEAP7YF.js.map → notification-NWVOS2WR.js.map} +0 -0
@@ -6,12 +6,12 @@ import {
6
6
  TemplateComposer,
7
7
  createLLM,
8
8
  loadConfigSync
9
- } from "./chunk-OBOU27DM.js";
9
+ } from "./chunk-A354ZCZF.js";
10
10
 
11
11
  // src/agents/system/ExplorerAgent.ts
12
12
  import { existsSync } from "fs";
13
13
  import { cwd, platform } from "process";
14
- var ExplorerAgent = class extends AgentBase {
14
+ var ExplorerAgent = class _ExplorerAgent extends AgentBase {
15
15
  _systemContext;
16
16
  _config;
17
17
  _skillsDir;
@@ -61,6 +61,8 @@ var ExplorerAgent = class extends AgentBase {
61
61
  this.getTools().disable("safe_trash_delete");
62
62
  this.getTools().disable("safe_trash_list");
63
63
  this.getTools().disable("safe_trash_restore");
64
+ this.registerAgentType("ExplorerAgent", () => new _ExplorerAgent({ llm: this.llm }));
65
+ this.registerAgentType("BasicAgent", () => import("./BasicAgent-UWXLSZP2.js").then((m) => new m.BasicAgent({ llm: this.llm })));
64
66
  }
65
67
  /**
66
68
  * Agent 初始化钩子
@@ -84,4 +86,4 @@ var ExplorerAgent = class extends AgentBase {
84
86
  export {
85
87
  ExplorerAgent
86
88
  };
87
- //# sourceMappingURL=chunk-F3PR7UTL.js.map
89
+ //# sourceMappingURL=chunk-QFHPUAUQ.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/agents/system/ExplorerAgent.ts"],"sourcesContent":["/**\r\n * ExplorerAgent - 代码探索者 Agent\r\n *\r\n * 专注于代码库探索和理解的轻量级 Agent\r\n * 仅配备 read、list、bash 三个核心工具\r\n * 适用于代码审查、结构分析、文档生成等场景\r\n */\r\n\r\nimport { Agent } from '../../core/agent.js';\r\nimport { SkillFeature, SubAgentFeature, OpencodeBasicFeature } from '../../features/index.js';\r\nimport type { AgentConfig, LLMClient } from '../../core/types.js';\r\nimport type { AgentConfigFile } from '../../core/config.js';\r\nimport { loadConfigSync } from '../../core/config.js';\r\nimport { createLLM } from '../../llm/index.js';\r\nimport { existsSync } from 'fs';\r\nimport { cwd, platform } from 'process';\r\nimport { TemplateComposer } from '../../template/composer.js';\r\n\r\n/**\r\n * 系统环境信息上下文\r\n */\r\nexport interface SystemContext {\r\n /** 当前工作目录 */\r\n SYSTEM_WORKING_DIR: string;\r\n /** 是否是 Git 仓库 */\r\n SYSTEM_IS_GIT_REPOSITORY: boolean;\r\n /** 操作系统平台 */\r\n SYSTEM_PLATFORM: NodeJS.Platform;\r\n /** 当前日期 (YYYY-MM-DD) */\r\n SYSTEM_DATE: string;\r\n /** 当前使用的模型名称 */\r\n SYSTEM_CURRENT_MODEL: string;\r\n /** 索引签名,允许作为 PlaceholderContext 使用 */\r\n [key: string]: any;\r\n}\r\n\r\n/**\r\n * ExplorerAgent 配置选项\r\n *\r\n * 所有参数都是可选的,默认会自动同步加载配置文件\r\n */\r\nexport interface ExplorerAgentConfig {\r\n /** LLM 客户端(可选,不传则自动同步加载配置创建) */\r\n llm?: LLMClient;\r\n /** 配置文件名(可选,默认 'default') */\r\n configName?: string;\r\n /** Agent 显示名称(可选) */\r\n name?: string;\r\n /** 系统提示词(可选,默认使用 explorer.md) */\r\n systemMessage?: string;\r\n /** Skills 目录(可选,默认使用 .agentdev/skills) */\r\n skillsDir?: string;\r\n}\r\n\r\n/**\r\n * 代码探索者 Agent\r\n *\r\n * 轻量级代码探索 Agent,专注于:\r\n * - 代码库结构分析\r\n * - 代码审查和理解\r\n * - 文档生成\r\n * - 依赖关系梳理\r\n *\r\n * 构造函数不传任何参数时,会自动同步加载配置文件创建 LLM\r\n */\r\nexport class ExplorerAgent extends Agent {\r\n protected _systemContext: SystemContext;\r\n protected _config?: AgentConfigFile;\r\n protected _skillsDir?: string;\r\n\r\n /**\r\n * 构造函数\r\n *\r\n * @param config 探索者配置(全部可选,不传则使用默认配置)\r\n */\r\n constructor(config: ExplorerAgentConfig = {}) {\r\n // 建立系统环境信息\r\n const systemContext: SystemContext = {\r\n SYSTEM_WORKING_DIR: cwd(),\r\n SYSTEM_IS_GIT_REPOSITORY: existsSync(cwd() + '/.git'),\r\n SYSTEM_PLATFORM: platform,\r\n SYSTEM_DATE: new Date().toISOString().split('T')[0], // YYYY-MM-DD\r\n SYSTEM_CURRENT_MODEL: 'unknown', // 稍后更新\r\n };\r\n\r\n // 准备 LLM:如果没传入,同步加载配置\r\n let llm = config.llm;\r\n let fileConfig: AgentConfigFile | undefined;\r\n if (!llm) {\r\n const configName = config.configName ?? 'default';\r\n fileConfig = loadConfigSync(configName);\r\n llm = createLLM(fileConfig);\r\n systemContext.SYSTEM_CURRENT_MODEL = fileConfig.defaultModel.model;\r\n console.log(`[ExplorerAgent] 已加载配置: ${configName}, 模型: ${fileConfig.defaultModel.model}`);\r\n }\r\n\r\n // 构建完整的 Agent 配置\r\n const agentConfig: AgentConfig = {\r\n llm: llm!,\r\n tools: [], // 工具由 Feature 提供\r\n maxTurns: Infinity, // 无限交互次数\r\n systemMessage: config.systemMessage,\r\n name: config.name,\r\n };\r\n\r\n super(agentConfig);\r\n\r\n // 保存配置(必须在 super() 之后)\r\n this._systemContext = systemContext;\r\n this._config = fileConfig;\r\n this._skillsDir = config.skillsDir;\r\n this.setSystemContext(systemContext);\r\n\r\n // 注册 OpencodeBasicFeature(文件操作工具集)\r\n this.use(new OpencodeBasicFeature());\r\n\r\n // 注册 SkillFeature(invokeSkill 工具和 skills 上下文注入)\r\n this.use(new SkillFeature(config.skillsDir));\r\n\r\n // 注册 SubAgentFeature(子代理工具和消息处理)\r\n this.use(new SubAgentFeature());\r\n\r\n // 预禁用只读模式下不应暴露的工具,确保首次快照与运行时一致\r\n this.getTools().disable('write');\r\n this.getTools().disable('edit');\r\n this.getTools().disable('safe_trash_delete');\r\n this.getTools().disable('safe_trash_list');\r\n this.getTools().disable('safe_trash_restore');\r\n }\r\n\r\n /**\r\n * Agent 初始化钩子\r\n * 配置系统提示词,禁用写入和编辑工具(只读模式)\r\n */\r\n protected override async onInitiate(): Promise<void> {\r\n // 配置系统提示词\r\n if (!this.systemMessage) {\r\n this.setSystemPrompt(new TemplateComposer()\r\n .add({ file: '.agentdev/prompts/explorer.md' })\r\n .add('\\n\\n## 系统环境\\n\\n')\r\n .add('- 工作目录: `{{SYSTEM_WORKING_DIR}}`\\n')\r\n .add('- Git 仓库: {{SYSTEM_IS_GIT_REPOSITORY}}\\n')\r\n .add('- 操作系统: {{SYSTEM_PLATFORM}}\\n')\r\n .add('- bash版本:PowerShell 5.1\\n')\r\n .add('- 当前日期: {{SYSTEM_DATE}}\\n')\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * 获取系统环境信息\r\n */\r\n getSystemContext(): SystemContext {\r\n return this._systemContext;\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;AAcA,SAAS,kBAAkB;AAC3B,SAAS,KAAK,gBAAgB;AAkDvB,IAAM,gBAAN,cAA4B,UAAM;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOV,YAAY,SAA8B,CAAC,GAAG;AAE5C,UAAM,gBAA+B;AAAA,MACnC,oBAAoB,IAAI;AAAA,MACxB,0BAA0B,WAAW,IAAI,IAAI,OAAO;AAAA,MACpD,iBAAiB;AAAA,MACjB,cAAa,oBAAI,KAAK,GAAE,YAAY,EAAE,MAAM,GAAG,EAAE,CAAC;AAAA;AAAA,MAClD,sBAAsB;AAAA;AAAA,IACxB;AAGA,QAAI,MAAM,OAAO;AACjB,QAAI;AACJ,QAAI,CAAC,KAAK;AACR,YAAM,aAAa,OAAO,cAAc;AACxC,mBAAa,eAAe,UAAU;AACtC,YAAM,UAAU,UAAU;AAC1B,oBAAc,uBAAuB,WAAW,aAAa;AAC7D,cAAQ,IAAI,mDAA0B,UAAU,mBAAS,WAAW,aAAa,KAAK,EAAE;AAAA,IAC1F;AAGA,UAAM,cAA2B;AAAA,MAC/B;AAAA,MACA,OAAO,CAAC;AAAA;AAAA,MACR,UAAU;AAAA;AAAA,MACV,eAAe,OAAO;AAAA,MACtB,MAAM,OAAO;AAAA,IACf;AAEA,UAAM,WAAW;AAGjB,SAAK,iBAAiB;AACtB,SAAK,UAAU;AACf,SAAK,aAAa,OAAO;AACzB,SAAK,iBAAiB,aAAa;AAGnC,SAAK,IAAI,IAAI,qBAAqB,CAAC;AAGnC,SAAK,IAAI,IAAI,aAAa,OAAO,SAAS,CAAC;AAG3C,SAAK,IAAI,IAAI,gBAAgB,CAAC;AAG9B,SAAK,SAAS,EAAE,QAAQ,OAAO;AAC/B,SAAK,SAAS,EAAE,QAAQ,MAAM;AAC9B,SAAK,SAAS,EAAE,QAAQ,mBAAmB;AAC3C,SAAK,SAAS,EAAE,QAAQ,iBAAiB;AACzC,SAAK,SAAS,EAAE,QAAQ,oBAAoB;AAAA,EAC9C;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAyB,aAA4B;AAEnD,QAAI,CAAC,KAAK,eAAe;AACvB,WAAK;AAAA,QAAgB,IAAI,iBAAiB,EACvC,IAAI,EAAE,MAAM,gCAAgC,CAAC,EAC7C,IAAI,qCAAiB,EACrB,IAAI,wDAAoC,EACxC,IAAI,oDAA0C,EAC9C,IAAI,mDAA+B,EACnC,IAAI,0CAA2B,EAC/B,IAAI,+CAA2B;AAAA,MAClC;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,mBAAkC;AAChC,WAAO,KAAK;AAAA,EACd;AACF;","names":[]}
1
+ {"version":3,"sources":["../src/agents/system/ExplorerAgent.ts"],"sourcesContent":["/**\r\n * ExplorerAgent - 代码探索者 Agent\r\n *\r\n * 专注于代码库探索和理解的轻量级 Agent\r\n * 仅配备 read、list、bash 三个核心工具\r\n * 适用于代码审查、结构分析、文档生成等场景\r\n */\r\n\r\nimport { Agent } from '../../core/agent.js';\r\nimport { SkillFeature, SubAgentFeature, OpencodeBasicFeature } from '../../features/index.js';\r\nimport type { AgentConfig, LLMClient } from '../../core/types.js';\r\nimport type { AgentConfigFile } from '../../core/config.js';\r\nimport { loadConfigSync } from '../../core/config.js';\r\nimport { createLLM } from '../../llm/index.js';\r\nimport { existsSync } from 'fs';\r\nimport { cwd, platform } from 'process';\r\nimport { TemplateComposer } from '../../template/composer.js';\r\n\r\n/**\r\n * 系统环境信息上下文\r\n */\r\nexport interface SystemContext {\r\n /** 当前工作目录 */\r\n SYSTEM_WORKING_DIR: string;\r\n /** 是否是 Git 仓库 */\r\n SYSTEM_IS_GIT_REPOSITORY: boolean;\r\n /** 操作系统平台 */\r\n SYSTEM_PLATFORM: NodeJS.Platform;\r\n /** 当前日期 (YYYY-MM-DD) */\r\n SYSTEM_DATE: string;\r\n /** 当前使用的模型名称 */\r\n SYSTEM_CURRENT_MODEL: string;\r\n /** 索引签名,允许作为 PlaceholderContext 使用 */\r\n [key: string]: any;\r\n}\r\n\r\n/**\r\n * ExplorerAgent 配置选项\r\n *\r\n * 所有参数都是可选的,默认会自动同步加载配置文件\r\n */\r\nexport interface ExplorerAgentConfig {\r\n /** LLM 客户端(可选,不传则自动同步加载配置创建) */\r\n llm?: LLMClient;\r\n /** 配置文件名(可选,默认 'default') */\r\n configName?: string;\r\n /** Agent 显示名称(可选) */\r\n name?: string;\r\n /** 系统提示词(可选,默认使用 explorer.md) */\r\n systemMessage?: string;\r\n /** Skills 目录(可选,默认使用 .agentdev/skills) */\r\n skillsDir?: string;\r\n}\r\n\r\n/**\r\n * 代码探索者 Agent\r\n *\r\n * 轻量级代码探索 Agent,专注于:\r\n * - 代码库结构分析\r\n * - 代码审查和理解\r\n * - 文档生成\r\n * - 依赖关系梳理\r\n *\r\n * 构造函数不传任何参数时,会自动同步加载配置文件创建 LLM\r\n */\r\nexport class ExplorerAgent extends Agent {\r\n protected _systemContext: SystemContext;\r\n protected _config?: AgentConfigFile;\r\n protected _skillsDir?: string;\r\n\r\n /**\r\n * 构造函数\r\n *\r\n * @param config 探索者配置(全部可选,不传则使用默认配置)\r\n */\r\n constructor(config: ExplorerAgentConfig = {}) {\r\n // 建立系统环境信息\r\n const systemContext: SystemContext = {\r\n SYSTEM_WORKING_DIR: cwd(),\r\n SYSTEM_IS_GIT_REPOSITORY: existsSync(cwd() + '/.git'),\r\n SYSTEM_PLATFORM: platform,\r\n SYSTEM_DATE: new Date().toISOString().split('T')[0], // YYYY-MM-DD\r\n SYSTEM_CURRENT_MODEL: 'unknown', // 稍后更新\r\n };\r\n\r\n // 准备 LLM:如果没传入,同步加载配置\r\n let llm = config.llm;\r\n let fileConfig: AgentConfigFile | undefined;\r\n if (!llm) {\r\n const configName = config.configName ?? 'default';\r\n fileConfig = loadConfigSync(configName);\r\n llm = createLLM(fileConfig);\r\n systemContext.SYSTEM_CURRENT_MODEL = fileConfig.defaultModel.model;\r\n console.log(`[ExplorerAgent] 已加载配置: ${configName}, 模型: ${fileConfig.defaultModel.model}`);\r\n }\r\n\r\n // 构建完整的 Agent 配置\r\n const agentConfig: AgentConfig = {\r\n llm: llm!,\r\n tools: [], // 工具由 Feature 提供\r\n maxTurns: Infinity, // 无限交互次数\r\n systemMessage: config.systemMessage,\r\n name: config.name,\r\n };\r\n\r\n super(agentConfig);\r\n\r\n // 保存配置(必须在 super() 之后)\r\n this._systemContext = systemContext;\r\n this._config = fileConfig;\r\n this._skillsDir = config.skillsDir;\r\n this.setSystemContext(systemContext);\r\n\r\n // 注册 OpencodeBasicFeature(文件操作工具集)\r\n this.use(new OpencodeBasicFeature());\r\n\r\n // 注册 SkillFeature(invokeSkill 工具和 skills 上下文注入)\r\n this.use(new SkillFeature(config.skillsDir));\r\n\r\n // 注册 SubAgentFeature(子代理工具和消息处理)\r\n this.use(new SubAgentFeature());\r\n\r\n // 预禁用只读模式下不应暴露的工具,确保首次快照与运行时一致\r\n this.getTools().disable('write');\r\n this.getTools().disable('edit');\r\n this.getTools().disable('safe_trash_delete');\r\n this.getTools().disable('safe_trash_list');\r\n this.getTools().disable('safe_trash_restore');\r\n\r\n // 注册可创建的子代理类型\r\n this.registerAgentType('ExplorerAgent', () => new ExplorerAgent({ llm: this.llm }));\r\n this.registerAgentType('BasicAgent', () => import('./BasicAgent.js').then(m => new m.BasicAgent({ llm: this.llm })));\r\n }\r\n\r\n /**\r\n * Agent 初始化钩子\r\n * 配置系统提示词,禁用写入和编辑工具(只读模式)\r\n */\r\n protected override async onInitiate(): Promise<void> {\r\n // 配置系统提示词\r\n if (!this.systemMessage) {\r\n this.setSystemPrompt(new TemplateComposer()\r\n .add({ file: '.agentdev/prompts/explorer.md' })\r\n .add('\\n\\n## 系统环境\\n\\n')\r\n .add('- 工作目录: `{{SYSTEM_WORKING_DIR}}`\\n')\r\n .add('- Git 仓库: {{SYSTEM_IS_GIT_REPOSITORY}}\\n')\r\n .add('- 操作系统: {{SYSTEM_PLATFORM}}\\n')\r\n .add('- bash版本:PowerShell 5.1\\n')\r\n .add('- 当前日期: {{SYSTEM_DATE}}\\n')\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * 获取系统环境信息\r\n */\r\n getSystemContext(): SystemContext {\r\n return this._systemContext;\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;AAcA,SAAS,kBAAkB;AAC3B,SAAS,KAAK,gBAAgB;AAkDvB,IAAM,gBAAN,MAAM,uBAAsB,UAAM;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOV,YAAY,SAA8B,CAAC,GAAG;AAE5C,UAAM,gBAA+B;AAAA,MACnC,oBAAoB,IAAI;AAAA,MACxB,0BAA0B,WAAW,IAAI,IAAI,OAAO;AAAA,MACpD,iBAAiB;AAAA,MACjB,cAAa,oBAAI,KAAK,GAAE,YAAY,EAAE,MAAM,GAAG,EAAE,CAAC;AAAA;AAAA,MAClD,sBAAsB;AAAA;AAAA,IACxB;AAGA,QAAI,MAAM,OAAO;AACjB,QAAI;AACJ,QAAI,CAAC,KAAK;AACR,YAAM,aAAa,OAAO,cAAc;AACxC,mBAAa,eAAe,UAAU;AACtC,YAAM,UAAU,UAAU;AAC1B,oBAAc,uBAAuB,WAAW,aAAa;AAC7D,cAAQ,IAAI,mDAA0B,UAAU,mBAAS,WAAW,aAAa,KAAK,EAAE;AAAA,IAC1F;AAGA,UAAM,cAA2B;AAAA,MAC/B;AAAA,MACA,OAAO,CAAC;AAAA;AAAA,MACR,UAAU;AAAA;AAAA,MACV,eAAe,OAAO;AAAA,MACtB,MAAM,OAAO;AAAA,IACf;AAEA,UAAM,WAAW;AAGjB,SAAK,iBAAiB;AACtB,SAAK,UAAU;AACf,SAAK,aAAa,OAAO;AACzB,SAAK,iBAAiB,aAAa;AAGnC,SAAK,IAAI,IAAI,qBAAqB,CAAC;AAGnC,SAAK,IAAI,IAAI,aAAa,OAAO,SAAS,CAAC;AAG3C,SAAK,IAAI,IAAI,gBAAgB,CAAC;AAG9B,SAAK,SAAS,EAAE,QAAQ,OAAO;AAC/B,SAAK,SAAS,EAAE,QAAQ,MAAM;AAC9B,SAAK,SAAS,EAAE,QAAQ,mBAAmB;AAC3C,SAAK,SAAS,EAAE,QAAQ,iBAAiB;AACzC,SAAK,SAAS,EAAE,QAAQ,oBAAoB;AAG5C,SAAK,kBAAkB,iBAAiB,MAAM,IAAI,eAAc,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC;AAClF,SAAK,kBAAkB,cAAc,MAAM,OAAO,0BAAiB,EAAE,KAAK,OAAK,IAAI,EAAE,WAAW,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC;AAAA,EACrH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAyB,aAA4B;AAEnD,QAAI,CAAC,KAAK,eAAe;AACvB,WAAK;AAAA,QAAgB,IAAI,iBAAiB,EACvC,IAAI,EAAE,MAAM,gCAAgC,CAAC,EAC7C,IAAI,qCAAiB,EACrB,IAAI,wDAAoC,EACxC,IAAI,oDAA0C,EAC9C,IAAI,mDAA+B,EACnC,IAAI,0CAA2B,EAC/B,IAAI,+CAA2B;AAAA,MAClC;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,mBAAkC;AAChC,WAAO,KAAK;AAAA,EACd;AACF;","names":[]}
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  ViewerWorker
4
- } from "../chunk-LLV3W326.js";
4
+ } from "../chunk-NORTAQIL.js";
5
5
  import {
6
6
  getDefaultUDSPath
7
- } from "../chunk-TSASFMRF.js";
7
+ } from "../chunk-BAP2GCYH.js";
8
8
  import "../chunk-BDS2QGZ5.js";
9
9
 
10
10
  // src/cli/server.ts
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  ViewerWorker
4
- } from "../chunk-LLV3W326.js";
4
+ } from "../chunk-NORTAQIL.js";
5
5
  import {
6
6
  getDefaultUDSPath
7
- } from "../chunk-TSASFMRF.js";
7
+ } from "../chunk-BAP2GCYH.js";
8
8
  import "../chunk-BDS2QGZ5.js";
9
9
 
10
10
  // src/cli/viewer.ts
@@ -1,4 +1,4 @@
1
- import { I as InlineRenderTemplate } from '../../../types-DUKIIntb.js';
1
+ import { I as InlineRenderTemplate } from '../../../types-CF5UsxD9.js';
2
2
 
3
3
  /**
4
4
  * Bash 工具渲染模板(Shell Feature 内部模板)
@@ -1,4 +1,4 @@
1
- import { I as InlineRenderTemplate } from '../../../types-DUKIIntb.js';
1
+ import { I as InlineRenderTemplate } from '../../../types-CF5UsxD9.js';
2
2
 
3
3
  /**
4
4
  * Web Fetch 工具渲染模板(WebSearch Feature 内部模板)