@downcity/agent 1.1.212 → 1.1.215

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 (102) hide show
  1. package/README.md +3 -3
  2. package/bin/agent/local/AgentRuntimeAssembly.d.ts.map +1 -1
  3. package/bin/agent/local/AgentRuntimeAssembly.js +2 -2
  4. package/bin/agent/local/AgentRuntimeAssembly.js.map +1 -1
  5. package/bin/agent/local/ProjectSetup.d.ts +0 -1
  6. package/bin/agent/local/ProjectSetup.d.ts.map +1 -1
  7. package/bin/agent/local/ProjectSetup.js +4 -17
  8. package/bin/agent/local/ProjectSetup.js.map +1 -1
  9. package/bin/agent/local/services/AgentAssemblyService.d.ts.map +1 -1
  10. package/bin/agent/local/services/AgentAssemblyService.js +6 -11
  11. package/bin/agent/local/services/AgentAssemblyService.js.map +1 -1
  12. package/bin/config/AgentEnv.d.ts +9 -0
  13. package/bin/config/AgentEnv.d.ts.map +1 -0
  14. package/bin/config/AgentEnv.js +48 -0
  15. package/bin/config/AgentEnv.js.map +1 -0
  16. package/bin/config/AgentInitializer.d.ts +2 -10
  17. package/bin/config/AgentInitializer.d.ts.map +1 -1
  18. package/bin/config/AgentInitializer.js +17 -49
  19. package/bin/config/AgentInitializer.js.map +1 -1
  20. package/bin/config/EnvFile.d.ts +1 -1
  21. package/bin/config/EnvFile.js +1 -1
  22. package/bin/config/ExecutionBinding.d.ts +1 -1
  23. package/bin/config/ExecutionBinding.js +2 -2
  24. package/bin/config/ExecutionBinding.js.map +1 -1
  25. package/bin/config/Paths.d.ts +0 -66
  26. package/bin/config/Paths.d.ts.map +1 -1
  27. package/bin/config/Paths.js +0 -80
  28. package/bin/config/Paths.js.map +1 -1
  29. package/bin/index.d.ts +4 -5
  30. package/bin/index.d.ts.map +1 -1
  31. package/bin/index.js +2 -3
  32. package/bin/index.js.map +1 -1
  33. package/bin/plugin/core/PluginLocalExecution.js +2 -2
  34. package/bin/plugin/core/PluginLocalExecution.js.map +1 -1
  35. package/bin/types/agent/AgentOptions.d.ts +12 -3
  36. package/bin/types/agent/AgentOptions.d.ts.map +1 -1
  37. package/bin/types/common/EnvFile.d.ts +1 -1
  38. package/bin/types/common/EnvFile.js +1 -1
  39. package/bin/types/config/DowncityConfig.d.ts +3 -21
  40. package/bin/types/config/DowncityConfig.d.ts.map +1 -1
  41. package/bin/types/config/ExecutionBinding.d.ts +1 -1
  42. package/bin/types/config/ExecutionBinding.js +1 -1
  43. package/bin/types/runtime/platform/Platform.d.ts +4 -12
  44. package/bin/types/runtime/platform/Platform.d.ts.map +1 -1
  45. package/bin/types/runtime/platform/PlatformGateway.d.ts +2 -122
  46. package/bin/types/runtime/platform/PlatformGateway.d.ts.map +1 -1
  47. package/bin/types/runtime/platform/PlatformGateway.js +0 -7
  48. package/bin/types/runtime/platform/PlatformGateway.js.map +1 -1
  49. package/bin/utils/logger/FormatRequest.js +1 -1
  50. package/bin/utils/logger/FormatRequest.js.map +1 -1
  51. package/package.json +3 -3
  52. package/scripts/agent-env.test.mjs +101 -0
  53. package/src/agent/local/AgentRuntimeAssembly.ts +4 -2
  54. package/src/agent/local/ProjectSetup.ts +3 -22
  55. package/src/agent/local/services/AgentAssemblyService.ts +6 -10
  56. package/src/config/AgentEnv.ts +49 -0
  57. package/src/config/AgentInitializer.ts +18 -61
  58. package/src/config/EnvFile.ts +1 -1
  59. package/src/config/ExecutionBinding.ts +2 -2
  60. package/src/config/Paths.ts +0 -89
  61. package/src/index.ts +12 -16
  62. package/src/plugin/core/PluginLocalExecution.ts +2 -2
  63. package/src/types/agent/AgentOptions.ts +13 -3
  64. package/src/types/common/EnvFile.ts +1 -1
  65. package/src/types/config/DowncityConfig.ts +3 -22
  66. package/src/types/config/ExecutionBinding.ts +1 -1
  67. package/src/types/runtime/platform/Platform.ts +4 -14
  68. package/src/types/runtime/platform/PlatformGateway.ts +2 -138
  69. package/src/utils/logger/FormatRequest.ts +1 -1
  70. package/tsconfig.tsbuildinfo +1 -1
  71. package/bin/config/Config.d.ts +0 -27
  72. package/bin/config/Config.d.ts.map +0 -1
  73. package/bin/config/Config.js +0 -128
  74. package/bin/config/Config.js.map +0 -1
  75. package/bin/executor/composer/system/default/InitPromptAssets.d.ts +0 -16
  76. package/bin/executor/composer/system/default/InitPromptAssets.d.ts.map +0 -1
  77. package/bin/executor/composer/system/default/InitPromptAssets.js +0 -18
  78. package/bin/executor/composer/system/default/InitPromptAssets.js.map +0 -1
  79. package/bin/executor/composer/system/default/InitPrompts.d.ts +0 -9
  80. package/bin/executor/composer/system/default/InitPrompts.d.ts.map +0 -1
  81. package/bin/executor/composer/system/default/InitPrompts.js +0 -9
  82. package/bin/executor/composer/system/default/InitPrompts.js.map +0 -1
  83. package/bin/executor/composer/system/default/StaticPromptCatalog.d.ts +0 -50
  84. package/bin/executor/composer/system/default/StaticPromptCatalog.d.ts.map +0 -1
  85. package/bin/executor/composer/system/default/StaticPromptCatalog.js +0 -227
  86. package/bin/executor/composer/system/default/StaticPromptCatalog.js.map +0 -1
  87. package/bin/executor/composer/system/default/assets/init/PROFILE.md.d.ts +0 -7
  88. package/bin/executor/composer/system/default/assets/init/PROFILE.md.d.ts.map +0 -1
  89. package/bin/executor/composer/system/default/assets/init/PROFILE.md.js +0 -8
  90. package/bin/executor/composer/system/default/assets/init/PROFILE.md.js.map +0 -1
  91. package/bin/executor/composer/system/default/assets/init/SOUL.md.d.ts +0 -7
  92. package/bin/executor/composer/system/default/assets/init/SOUL.md.d.ts.map +0 -1
  93. package/bin/executor/composer/system/default/assets/init/SOUL.md.js +0 -8
  94. package/bin/executor/composer/system/default/assets/init/SOUL.md.js.map +0 -1
  95. package/src/config/Config.ts +0 -146
  96. package/src/executor/composer/system/default/InitPromptAssets.ts +0 -20
  97. package/src/executor/composer/system/default/InitPrompts.ts +0 -11
  98. package/src/executor/composer/system/default/StaticPromptCatalog.ts +0 -291
  99. package/src/executor/composer/system/default/assets/init/PROFILE.md.ts +0 -9
  100. package/src/executor/composer/system/default/assets/init/PROFILE.md.ts.txt +0 -16
  101. package/src/executor/composer/system/default/assets/init/SOUL.md.ts +0 -9
  102. package/src/executor/composer/system/default/assets/init/SOUL.md.ts.txt +0 -87
package/README.md CHANGED
@@ -53,7 +53,7 @@ src/
53
53
  ├── agent/ # Agent SDK 入口,按 local / remote 拆分本地与远程实现
54
54
  │ ├── local/ # 本地 Agent facade 与实例装配中心
55
55
  │ └── remote/ # RemoteAgent facade、RemoteSession 与 HTTP/RPC transport
56
- ├── config/ # 配置与项目初始化,负责 downcity.json、默认配置、execution binding 与脚手架
56
+ ├── config/ # 项目环境、运行路径、execution binding 与初始化脚手架
57
57
  │ └── project/ # Agent 项目初始化与项目初始化类型
58
58
  ├── executor/ # 内部执行内核,负责历史、system、tool loop、增量输出与消息持久化
59
59
  ├── plugin/ # 插件系统,负责插件注册、hook、action、内建插件与插件类型
@@ -71,7 +71,7 @@ src/
71
71
  - `src/config/`
72
72
  - 项目配置、项目级路径解析与项目初始化
73
73
  - `project/` 收口 agent 项目脚手架与初始化结果类型
74
- - 负责 `downcity.json`、项目 env、`.downcity/*` 路径规则与 execution binding
74
+ - 负责项目 `.env`、`.downcity/*` 路径规则与 execution binding
75
75
 
76
76
  - `src/agent/`
77
77
  - SDK facade 层
@@ -105,7 +105,7 @@ src/
105
105
  - `src/types/`
106
106
  - 跨模块、跨包共享协议类型
107
107
  - `common/` 放 JSON、模板等无领域依赖的基础类型
108
- - `config/` 放 `downcity.json`、LLM、execution binding、plugin 配置、start options 等配置契约
108
+ - `config/` 放 LLM、execution binding、plugin 配置、start options 等宿主配置契约
109
109
  - `runtime/` 放 auth、agent、host、platform 等运行时与控制面共享协议
110
110
  - 领域内部类型仍保留在对应领域目录,例如 `plugin/types/`、`executor/types/`
111
111
 
@@ -1 +1 @@
1
- {"version":3,"file":"AgentRuntimeAssembly.d.ts","sourceRoot":"","sources":["../../../src/agent/local/AgentRuntimeAssembly.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EACV,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,uCAAuC,CAAC;AAE/C;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,gBAAgB,CAkBlB;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,MAAM,GAAG,wBAAwB,CAO5F"}
1
+ {"version":3,"file":"AgentRuntimeAssembly.d.ts","sourceRoot":"","sources":["../../../src/agent/local/AgentRuntimeAssembly.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EACV,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,uCAAuC,CAAC;AAE/C;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,gBAAgB,CAkBlB;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,MAAM,GAAG,wBAAwB,CAS5F"}
@@ -5,7 +5,7 @@
5
5
  * - agent runtime 负责创建这些宿主能力对象,再注入到 AgentRuntime。
6
6
  * - plugin runtime / session / plugin 作者 API 只消费这些对象,不直接依赖具体宿主实现。
7
7
  * - 当前先收敛路径与 plugin 配置持久化两类宿主能力。
8
- * - SDK 默认不把 plugin 配置写回项目文件;宿主如 CLI 可接管持久化。
8
+ * - SDK 默认不提供 plugin 配置存储;宿主必须显式注入持久化能力。
9
9
  */
10
10
  import { getCacheDirPath, getDowncityChannelDirPath, getDowncityChannelMetaPath, getDowncityChatHistoryPath, getDowncityDirPath, getDowncityMemoryDailyDirPath, getDowncityMemoryDailyPath, getDowncityMemoryLongTermPath, getDowncitySessionDirPath, getDowncitySessionRootDirPath, } from "../../config/Paths.js";
11
11
  /**
@@ -36,7 +36,7 @@ export function createAgentPluginConfigRuntime(projectRoot) {
36
36
  const rootPath = String(projectRoot || "").trim();
37
37
  return {
38
38
  async persistProjectPlugins() {
39
- return rootPath;
39
+ throw new Error("Plugin config persistence is not configured. Pass AgentOptions.plugin_config from the host.");
40
40
  },
41
41
  };
42
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AgentRuntimeAssembly.js","sourceRoot":"","sources":["../../../src/agent/local/AgentRuntimeAssembly.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,kBAAkB,EAClB,6BAA6B,EAC7B,0BAA0B,EAC1B,6BAA6B,EAC7B,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,mBAAmB,CAAC;AAM3B;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,WAAmB,EACnB,YAAoB;IAEpB,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,OAAO;QACL,WAAW,EAAE,QAAQ;QACrB,OAAO;QACP,kBAAkB,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC;QACtD,eAAe,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC;QAChD,yBAAyB,EAAE,GAAG,EAAE,CAAC,yBAAyB,CAAC,QAAQ,CAAC;QACpE,0BAA0B,EAAE,GAAG,EAAE,CAAC,0BAA0B,CAAC,QAAQ,CAAC;QACtE,0BAA0B,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,0BAA0B,CAAC,QAAQ,EAAE,SAAS,CAAC;QAC1F,6BAA6B,EAAE,GAAG,EAAE,CAAC,6BAA6B,CAAC,QAAQ,CAAC;QAC5E,6BAA6B,EAAE,GAAG,EAAE,CAAC,6BAA6B,CAAC,QAAQ,CAAC;QAC5E,0BAA0B,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,0BAA0B,CAAC,QAAQ,EAAE,IAAI,CAAC;QAChF,6BAA6B,EAAE,GAAG,EAAE,CAAC,6BAA6B,CAAC,QAAQ,EAAE,OAAO,CAAC;QACrF,yBAAyB,EAAE,CAAC,SAAS,EAAE,EAAE,CACvC,yBAAyB,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAAC,WAAmB;IAChE,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,OAAO;QACL,KAAK,CAAC,qBAAqB;YACzB,OAAO,QAAQ,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"AgentRuntimeAssembly.js","sourceRoot":"","sources":["../../../src/agent/local/AgentRuntimeAssembly.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,kBAAkB,EAClB,6BAA6B,EAC7B,0BAA0B,EAC1B,6BAA6B,EAC7B,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,mBAAmB,CAAC;AAM3B;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,WAAmB,EACnB,YAAoB;IAEpB,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,OAAO;QACL,WAAW,EAAE,QAAQ;QACrB,OAAO;QACP,kBAAkB,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC;QACtD,eAAe,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC;QAChD,yBAAyB,EAAE,GAAG,EAAE,CAAC,yBAAyB,CAAC,QAAQ,CAAC;QACpE,0BAA0B,EAAE,GAAG,EAAE,CAAC,0BAA0B,CAAC,QAAQ,CAAC;QACtE,0BAA0B,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,0BAA0B,CAAC,QAAQ,EAAE,SAAS,CAAC;QAC1F,6BAA6B,EAAE,GAAG,EAAE,CAAC,6BAA6B,CAAC,QAAQ,CAAC;QAC5E,6BAA6B,EAAE,GAAG,EAAE,CAAC,6BAA6B,CAAC,QAAQ,CAAC;QAC5E,0BAA0B,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,0BAA0B,CAAC,QAAQ,EAAE,IAAI,CAAC;QAChF,6BAA6B,EAAE,GAAG,EAAE,CAAC,6BAA6B,CAAC,QAAQ,EAAE,OAAO,CAAC;QACrF,yBAAyB,EAAE,CAAC,SAAS,EAAE,EAAE,CACvC,yBAAyB,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAAC,WAAmB;IAChE,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,OAAO;QACL,KAAK,CAAC,qBAAqB;YACzB,MAAM,IAAI,KAAK,CACb,6FAA6F,CAC9F,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -2,7 +2,6 @@
2
2
  * ProjectSetup:本地 Agent 启动前项目结构准备模块。
3
3
  *
4
4
  * 关键点(中文)
5
- * - 统一校验初始化必要文件(PROFILE.md)。
6
5
  * - 统一确保 `.downcity/*` 目录结构存在,避免调用方重复拼装目录逻辑。
7
6
  */
8
7
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectSetup.d.ts","sourceRoot":"","sources":["../../../src/agent/local/ProjectSetup.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAkDH;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAGnE"}
1
+ {"version":3,"file":"ProjectSetup.d.ts","sourceRoot":"","sources":["../../../src/agent/local/ProjectSetup.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAiCH;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAEnE"}
@@ -2,26 +2,15 @@
2
2
  * ProjectSetup:本地 Agent 启动前项目结构准备模块。
3
3
  *
4
4
  * 关键点(中文)
5
- * - 统一校验初始化必要文件(PROFILE.md)。
6
5
  * - 统一确保 `.downcity/*` 目录结构存在,避免调用方重复拼装目录逻辑。
7
6
  */
8
7
  import fs from "fs-extra";
9
8
  import path from "node:path";
10
- import { getCacheDirPath, getDowncityAgentsRootDirPath, getLogsDirPath, getProfileMdPath, getDowncityConfigDirPath, getDowncityDataDirPath, getDowncityDebugDirPath, getDowncityDirPath, getDowncityProfileDirPath, getDowncityPublicDirPath, getDowncityTasksDirPath, } from "../../config/Paths.js";
11
- /**
12
- * 校验项目初始化关键文件。
13
- */
14
- function ensureContextFiles(projectRoot) {
15
- // Check if initialized(启动入口一次性确认工程根目录与关键文件)
16
- if (!fs.existsSync(getProfileMdPath(projectRoot))) {
17
- console.error('❌ Project not initialized. Please run "downcity agent create" first');
18
- process.exit(1);
19
- }
20
- }
9
+ import { getCacheDirPath, getDowncityAgentsRootDirPath, getLogsDirPath, getDowncityDataDirPath, getDowncityDebugDirPath, getDowncityDirPath, getDowncityProfileDirPath, getDowncityPublicDirPath, getDowncityTasksDirPath, } from "../../config/Paths.js";
21
10
  /**
22
11
  * 确保 `.downcity` 运行目录结构完整。
23
12
  */
24
- function ensureShipDirectories(projectRoot) {
13
+ function ensure_runtime_directories(projectRoot) {
25
14
  // 关键点(中文):尽量只在启动时确保目录结构存在,避免在 Agent/Tool 执行过程中反复 ensure。
26
15
  fs.ensureDirSync(getDowncityDirPath(projectRoot));
27
16
  fs.ensureDirSync(getDowncityTasksDirPath(projectRoot));
@@ -31,15 +20,13 @@ function ensureShipDirectories(projectRoot) {
31
20
  fs.ensureDirSync(getDowncityDataDirPath(projectRoot));
32
21
  fs.ensureDirSync(getDowncityAgentsRootDirPath(projectRoot));
33
22
  fs.ensureDirSync(getDowncityPublicDirPath(projectRoot));
34
- fs.ensureDirSync(getDowncityConfigDirPath(projectRoot));
35
- fs.ensureDirSync(path.join(getDowncityDirPath(projectRoot), "schema"));
23
+ fs.ensureDirSync(path.join(projectRoot, ".agents", "skills"));
36
24
  fs.ensureDirSync(getDowncityDebugDirPath(projectRoot));
37
25
  }
38
26
  /**
39
27
  * runtime 启动前准备项目结构。
40
28
  */
41
29
  export function ensureRuntimeProjectReady(projectRoot) {
42
- ensureContextFiles(projectRoot);
43
- ensureShipDirectories(projectRoot);
30
+ ensure_runtime_directories(projectRoot);
44
31
  }
45
32
  //# sourceMappingURL=ProjectSetup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectSetup.js","sourceRoot":"","sources":["../../../src/agent/local/ProjectSetup.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,4BAA4B,EAC5B,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,SAAS,kBAAkB,CAAC,WAAmB;IAC7C,4CAA4C;IAC5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QAClD,OAAO,CAAC,KAAK,CACX,qEAAqE,CACtE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AAEH,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,WAAmB;IAChD,yDAAyD;IACzD,EAAE,CAAC,aAAa,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;IAClD,EAAE,CAAC,aAAa,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC;IACvD,EAAE,CAAC,aAAa,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9C,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;IAC/C,EAAE,CAAC,aAAa,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC,CAAC;IACzD,EAAE,CAAC,aAAa,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC;IACtD,EAAE,CAAC,aAAa,CAAC,4BAA4B,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5D,EAAE,CAAC,aAAa,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAC;IACxD,EAAE,CAAC,aAAa,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAC;IACxD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvE,EAAE,CAAC,aAAa,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,WAAmB;IAC3D,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAChC,qBAAqB,CAAC,WAAW,CAAC,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"ProjectSetup.js","sourceRoot":"","sources":["../../../src/agent/local/ProjectSetup.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,4BAA4B,EAC5B,cAAc,EACd,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,SAAS,0BAA0B,CAAC,WAAmB;IACrD,yDAAyD;IACzD,EAAE,CAAC,aAAa,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;IAClD,EAAE,CAAC,aAAa,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC;IACvD,EAAE,CAAC,aAAa,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9C,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;IAC/C,EAAE,CAAC,aAAa,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC,CAAC;IACzD,EAAE,CAAC,aAAa,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC;IACtD,EAAE,CAAC,aAAa,CAAC,4BAA4B,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5D,EAAE,CAAC,aAAa,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAC;IACxD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC9D,EAAE,CAAC,aAAa,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,WAAmB;IAC3D,0BAA0B,CAAC,WAAW,CAAC,CAAC;AAC1C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AgentAssemblyService.d.ts","sourceRoot":"","sources":["../../../../src/agent/local/services/AgentAssemblyService.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAiBlD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAGzE,KAAK,2BAA2B,GAAG;IACjC;;OAEG;IACH,OAAO,EAAE,YAAY,CAAC;IAEtB;;OAEG;IACH,oBAAoB,EAAE,MAAM,mBAAmB,EAAE,CAAC;IAElD;;OAEG;IACH,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,WAAW,CAAC;IAEtD;;OAEG;IACH,qBAAqB,EAAE,CACrB,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;CACzC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE5B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE5B;;OAEG;IACH,WAAW,EAAE,MAAM,EAAE,CAAC;IAEtB;;OAEG;IACH,MAAM,EAAE,cAAc,CAAC;IAEvB;;OAEG;IACH,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEtC;;OAEG;IACH,OAAO,EAAE,YAAY,CAAC;IAEtB;;OAEG;IACH,aAAa,EAAE,YAAY,CAAC;IAE5B;;OAEG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAsD;IAC3F,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkD;IACnF,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAuD;gBAEjF,OAAO,EAAE,2BAA2B;IAOhD;;OAEG;IACH,QAAQ,IAAI,mBAAmB;IAsG/B,OAAO,CAAC,WAAW;IAenB;;OAEG;IACH,OAAO,CAAC,gCAAgC;CAezC"}
1
+ {"version":3,"file":"AgentAssemblyService.d.ts","sourceRoot":"","sources":["../../../../src/agent/local/services/AgentAssemblyService.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAiBlD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAGzE,KAAK,2BAA2B,GAAG;IACjC;;OAEG;IACH,OAAO,EAAE,YAAY,CAAC;IAEtB;;OAEG;IACH,oBAAoB,EAAE,MAAM,mBAAmB,EAAE,CAAC;IAElD;;OAEG;IACH,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,WAAW,CAAC;IAEtD;;OAEG;IACH,qBAAqB,EAAE,CACrB,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;CACzC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE5B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE5B;;OAEG;IACH,WAAW,EAAE,MAAM,EAAE,CAAC;IAEtB;;OAEG;IACH,MAAM,EAAE,cAAc,CAAC;IAEvB;;OAEG;IACH,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEtC;;OAEG;IACH,OAAO,EAAE,YAAY,CAAC;IAEtB;;OAEG;IACH,aAAa,EAAE,YAAY,CAAC;IAE5B;;OAEG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAsD;IAC3F,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkD;IACnF,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAuD;gBAEjF,OAAO,EAAE,2BAA2B;IAOhD;;OAEG;IACH,QAAQ,IAAI,mBAAmB;IAsG/B,OAAO,CAAC,WAAW;IAWnB;;OAEG;IACH,OAAO,CAAC,gCAAgC;CAezC"}
@@ -8,7 +8,7 @@
8
8
  */
9
9
  import { AgentContext } from "../../../types/runtime/agent/AgentContext.js";
10
10
  import { Logger } from "../../../utils/logger/Logger.js";
11
- import { loadDowncityConfig, resolveAgentEnv } from "../../../config/Config.js";
11
+ import { resolve_agent_env } from "../../../config/AgentEnv.js";
12
12
  import { createFallbackSdkConfig, normalizeInstructionInput, } from "../../../agent/local/AgentInstructions.js";
13
13
  import { createAgentPluginRegistry, } from "../../../agent/local/AgentPluginFactory.js";
14
14
  import { createAgentPathRuntime, createAgentPluginConfigRuntime, } from "../../../agent/local/AgentRuntimeAssembly.js";
@@ -47,9 +47,9 @@ export class AgentAssemblyService {
47
47
  // 关键点(中文)
48
48
  // - 这里产出的 env 是 agent 全生命周期共享的 mutable 对象引用。
49
49
  // - context / shell 都持有同一引用;后续 `agent.setEnv()` 会原地修改它。
50
- const env = resolveAgentEnv(path, this.options.env);
50
+ const env = resolve_agent_env(path, this.options.env);
51
51
  const instruction = normalizeInstructionInput(this.options.instruction);
52
- const config = this.load_config(id, path);
52
+ const config = this.load_config(id);
53
53
  const plugin_instances = new Map();
54
54
  // 关键点(中文)
55
55
  // - plugin_registry 仍然延迟读取 agent_context(避免循环依赖)。
@@ -73,7 +73,7 @@ export class AgentAssemblyService {
73
73
  }
74
74
  const resolve_session_model = this.resolve_session_model;
75
75
  const paths = createAgentPathRuntime(path, id);
76
- const pluginConfig = createAgentPluginConfigRuntime(path);
76
+ const pluginConfig = this.options.plugin_config || createAgentPluginConfigRuntime(path);
77
77
  agent_context = new AgentContext({
78
78
  cwd: path,
79
79
  rootPath: path,
@@ -125,7 +125,7 @@ export class AgentAssemblyService {
125
125
  ...(shell ? { shell } : {}),
126
126
  };
127
127
  }
128
- load_config(agent_id, project_root) {
128
+ load_config(agent_id) {
129
129
  if (this.options.config) {
130
130
  return {
131
131
  ...this.options.config,
@@ -133,12 +133,7 @@ export class AgentAssemblyService {
133
133
  version: String(this.options.config.version || "").trim() || "1.0.0",
134
134
  };
135
135
  }
136
- try {
137
- return loadDowncityConfig(project_root);
138
- }
139
- catch {
140
- return createFallbackSdkConfig(agent_id);
141
- }
136
+ return createFallbackSdkConfig(agent_id);
142
137
  }
143
138
  /**
144
139
  * 判断是否需要自动注册 plugin_call tool。
@@ -1 +1 @@
1
- {"version":3,"file":"AgentAssemblyService.js","sourceRoot":"","sources":["../../../../src/agent/local/services/AgentAssemblyService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentAssemblyService.js","sourceRoot":"","sources":["../../../../src/agent/local/services/AgentAssemblyService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 读取项目 `.env` 快照。
3
+ */
4
+ export declare function load_project_dotenv(project_root: string): Record<string, string>;
5
+ /**
6
+ * 解析 Agent 最终环境变量。
7
+ */
8
+ export declare function resolve_agent_env(project_root: string, host_env?: NodeJS.ProcessEnv | Record<string, string | undefined>): Record<string, string>;
9
+ //# sourceMappingURL=AgentEnv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentEnv.d.ts","sourceRoot":"","sources":["../../src/config/AgentEnv.ts"],"names":[],"mappings":"AAYA;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgBhF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAChE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASxB"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Agent 项目环境变量装配模块。
3
+ *
4
+ * 关键点(中文)
5
+ * - 只读取当前项目根目录的 `.env`,不读取任何全局配置文件。
6
+ * - 合并优先级固定为:宿主环境 < 项目 `.env`。
7
+ * - 返回独立快照,不修改 `process.env`。
8
+ */
9
+ import dotenv from "dotenv";
10
+ import fs from "fs-extra";
11
+ import path from "node:path";
12
+ /**
13
+ * 读取项目 `.env` 快照。
14
+ */
15
+ export function load_project_dotenv(project_root) {
16
+ const project_env_path = path.join(project_root, ".env");
17
+ if (!fs.existsSync(project_env_path))
18
+ return {};
19
+ try {
20
+ const parsed = dotenv.parse(fs.readFileSync(project_env_path, "utf-8"));
21
+ const result = {};
22
+ for (const [key, value] of Object.entries(parsed)) {
23
+ const normalized_key = String(key || "").trim();
24
+ if (!normalized_key)
25
+ continue;
26
+ result[normalized_key] = String(value || "").trim();
27
+ }
28
+ return result;
29
+ }
30
+ catch {
31
+ return {};
32
+ }
33
+ }
34
+ /**
35
+ * 解析 Agent 最终环境变量。
36
+ */
37
+ export function resolve_agent_env(project_root, host_env) {
38
+ const normalized_host_env = {};
39
+ for (const [key, value] of Object.entries(host_env || {})) {
40
+ if (typeof value === "string")
41
+ normalized_host_env[key] = value;
42
+ }
43
+ return {
44
+ ...normalized_host_env,
45
+ ...load_project_dotenv(project_root),
46
+ };
47
+ }
48
+ //# sourceMappingURL=AgentEnv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentEnv.js","sourceRoot":"","sources":["../../src/config/AgentEnv.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,YAAoB;IACtD,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACzD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC;QAAE,OAAO,EAAE,CAAC;IAEhD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC;QACxE,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAChD,IAAI,CAAC,cAAc;gBAAE,SAAS;YAC9B,MAAM,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACtD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,YAAoB,EACpB,QAAiE;IAEjE,MAAM,mBAAmB,GAA2B,EAAE,CAAC;IACvD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;QAC1D,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,mBAAmB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC;IACD,OAAO;QACL,GAAG,mBAAmB;QACtB,GAAG,mBAAmB,CAAC,YAAY,CAAC;KACrC,CAAC;AACJ,CAAC"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * 职责说明(中文)
5
5
  * - CLI `downcity agent create` 与 Console 共用同一套初始化逻辑,避免模板与目录结构分叉。
6
- * - 负责创建项目骨架、静态 prompt、基础目录与 schema 文件。
6
+ * - 负责创建项目运行目录、项目 `.env` Skills 目录。
7
7
  * - CLI 侧运行配置应写入宿主配置存储,不再由 SDK 初始化器写项目配置文件。
8
8
  *
9
9
  * 边界说明(中文)
@@ -19,19 +19,11 @@ import type { AgentProjectInitializationInput, AgentProjectInitializationResult
19
19
  * - 这里只做最小格式规整,不负责跨项目唯一性分配。
20
20
  */
21
21
  export declare function normalizeDefaultAgentId(input: string): string;
22
- /**
23
- * 判断项目是否已经具备最小初始化文件。
24
- *
25
- * 关键点(中文)
26
- * - 当前只检查 `PROFILE.md`,用于快速判断项目行为资产是否已初始化过。
27
- * - 不把 `.downcity/` 目录作为硬性条件,避免用户手动清理缓存后被误判为未初始化。
28
- */
29
- export declare function isAgentProjectInitialized(projectRoot: string): Promise<boolean>;
30
22
  /**
31
23
  * 初始化 agent 项目骨架。
32
24
  *
33
25
  * 关键点(中文)
34
- * - 会创建 prompt 文件、`.downcity` 目录结构以及 schema 快照。
26
+ * - 会创建 `.downcity` 运行目录、项目 `.env` 与 `.agents/skills`。
35
27
  * - 对已存在文件采取“能跳过就跳过、明确冲突则报错”的策略,降低误覆盖风险。
36
28
  * - 返回结果只描述本次初始化写入摘要,方便 CLI 与控制台直接展示。
37
29
  */
@@ -1 +1 @@
1
- {"version":3,"file":"AgentInitializer.d.ts","sourceRoot":"","sources":["../../src/config/AgentInitializer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AA8BH,OAAO,KAAK,EAEV,+BAA+B,EAC/B,gCAAgC,EACjC,MAAM,gCAAgC,CAAC;AAIxC;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ7D;AAoBD;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAIrF;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,+BAA+B,GACrC,OAAO,CAAC,gCAAgC,CAAC,CAsG3C"}
1
+ {"version":3,"file":"AgentInitializer.d.ts","sourceRoot":"","sources":["../../src/config/AgentInitializer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAsBH,OAAO,KAAK,EAEV,+BAA+B,EAC/B,gCAAgC,EACjC,MAAM,gCAAgC,CAAC;AAIxC;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ7D;AAoBD;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,+BAA+B,GACrC,OAAO,CAAC,gCAAgC,CAAC,CAgF3C"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * 职责说明(中文)
5
5
  * - CLI `downcity agent create` 与 Console 共用同一套初始化逻辑,避免模板与目录结构分叉。
6
- * - 负责创建项目骨架、静态 prompt、基础目录与 schema 文件。
6
+ * - 负责创建项目运行目录、项目 `.env` Skills 目录。
7
7
  * - CLI 侧运行配置应写入宿主配置存储,不再由 SDK 初始化器写项目配置文件。
8
8
  *
9
9
  * 边界说明(中文)
@@ -12,11 +12,9 @@
12
12
  */
13
13
  import fs from "fs-extra";
14
14
  import path from "node:path";
15
- import { getCacheDirPath, getDowncityAgentsRootDirPath, getLogsDirPath, getProfileMdPath, getDowncityConfigDirPath, getDowncityDataDirPath, getDowncityDebugDirPath, getDowncityDirPath, getDowncityProfileDirPath, getDowncityProfileOtherPath, getDowncityProfilePrimaryPath, getDowncityPublicDirPath, getDowncityResourcesDirPath, getDowncityTasksDirPath, getSoulMdPath, } from "../config/Paths.js";
16
- import { DEFAULT_PROFILE_MD_TEMPLATE, DEFAULT_SOUL_MD_TEMPLATE, } from "../executor/composer/system/default/InitPrompts.js";
15
+ import { getCacheDirPath, getDowncityAgentsRootDirPath, getLogsDirPath, getDowncityDataDirPath, getDowncityDebugDirPath, getDowncityDirPath, getDowncityProfileDirPath, getDowncityProfileOtherPath, getDowncityProfilePrimaryPath, getDowncityPublicDirPath, getDowncityResourcesDirPath, getDowncityTasksDirPath, } from "../config/Paths.js";
17
16
  import { appendMissingEnvEntries } from "../config/EnvFile.js";
18
17
  import { ensureGitignoreEntry } from "../config/Gitignore.js";
19
- import { renderTemplateVariables } from "../utils/Template.js";
20
18
  import { ensureDir } from "../utils/storage/index.js";
21
19
  import { assertProjectExecutionTarget } from "../config/ExecutionBinding.js";
22
20
  /**
@@ -53,23 +51,11 @@ function normalizeChannels(input) {
53
51
  }
54
52
  return [...seen];
55
53
  }
56
- /**
57
- * 判断项目是否已经具备最小初始化文件。
58
- *
59
- * 关键点(中文)
60
- * - 当前只检查 `PROFILE.md`,用于快速判断项目行为资产是否已初始化过。
61
- * - 不把 `.downcity/` 目录作为硬性条件,避免用户手动清理缓存后被误判为未初始化。
62
- */
63
- export async function isAgentProjectInitialized(projectRoot) {
64
- const normalizedRoot = path.resolve(String(projectRoot || "").trim() || ".");
65
- const profileReady = await fs.pathExists(getProfileMdPath(normalizedRoot));
66
- return profileReady;
67
- }
68
54
  /**
69
55
  * 初始化 agent 项目骨架。
70
56
  *
71
57
  * 关键点(中文)
72
- * - 会创建 prompt 文件、`.downcity` 目录结构以及 schema 快照。
58
+ * - 会创建 `.downcity` 运行目录、项目 `.env` 与 `.agents/skills`。
73
59
  * - 对已存在文件采取“能跳过就跳过、明确冲突则报错”的策略,降低误覆盖风险。
74
60
  * - 返回结果只描述本次初始化写入摘要,方便 CLI 与控制台直接展示。
75
61
  */
@@ -81,7 +67,8 @@ export async function initializeAgentProject(input) {
81
67
  const execution = input.execution;
82
68
  const channels = normalizeChannels(input.channels);
83
69
  const dotEnvPath = path.join(projectRoot, ".env");
84
- const dotEnvExamplePath = path.join(projectRoot, ".env.example");
70
+ const downcity_dir_path = getDowncityDirPath(projectRoot);
71
+ const skills_dir_path = path.join(projectRoot, ".agents", "skills");
85
72
  const createdFiles = [];
86
73
  const skippedFiles = [];
87
74
  assertProjectExecutionTarget({
@@ -90,42 +77,22 @@ export async function initializeAgentProject(input) {
90
77
  execution,
91
78
  });
92
79
  await ensureDir(projectRoot);
93
- const profileMdPath = getProfileMdPath(projectRoot);
94
- const soulMdPath = getSoulMdPath(projectRoot);
95
- const initTemplateVariables = {
96
- agent_id,
97
- };
98
- const staticPromptFiles = [
99
- {
100
- filename: "PROFILE.md",
101
- filePath: profileMdPath,
102
- content: renderTemplateVariables(DEFAULT_PROFILE_MD_TEMPLATE, initTemplateVariables),
103
- },
104
- {
105
- filename: "SOUL.md",
106
- filePath: soulMdPath,
107
- content: renderTemplateVariables(DEFAULT_SOUL_MD_TEMPLATE, initTemplateVariables),
108
- },
109
- ];
110
- for (const file of staticPromptFiles) {
111
- if (await fs.pathExists(file.filePath)) {
112
- skippedFiles.push(file.filename);
113
- continue;
114
- }
115
- await fs.writeFile(file.filePath, file.content, "utf-8");
116
- createdFiles.push(file.filename);
117
- }
80
+ const dot_env_exists = await fs.pathExists(dotEnvPath);
118
81
  await appendMissingEnvEntries(dotEnvPath, "Downcity Create", []);
119
- await appendMissingEnvEntries(dotEnvExamplePath, "Downcity Create Example", []);
120
- const gitignoreStatus = await ensureGitignoreEntry(projectRoot, ".downcity");
121
- if (gitignoreStatus === "created" || gitignoreStatus === "updated") {
82
+ (dot_env_exists ? skippedFiles : createdFiles).push(".env");
83
+ const downcity_gitignore_status = await ensureGitignoreEntry(projectRoot, ".downcity");
84
+ const dotenv_gitignore_status = await ensureGitignoreEntry(projectRoot, ".env");
85
+ if (downcity_gitignore_status !== "unchanged" ||
86
+ dotenv_gitignore_status !== "unchanged") {
122
87
  createdFiles.push(".gitignore");
123
88
  }
124
89
  else {
125
90
  skippedFiles.push(".gitignore");
126
91
  }
92
+ const downcity_dir_exists = await fs.pathExists(downcity_dir_path);
93
+ const skills_dir_exists = await fs.pathExists(skills_dir_path);
127
94
  const dirs = [
128
- getDowncityDirPath(projectRoot),
95
+ downcity_dir_path,
129
96
  getDowncityTasksDirPath(projectRoot),
130
97
  getLogsDirPath(projectRoot),
131
98
  getCacheDirPath(projectRoot),
@@ -134,13 +101,14 @@ export async function initializeAgentProject(input) {
134
101
  getDowncityAgentsRootDirPath(projectRoot),
135
102
  getDowncityPublicDirPath(projectRoot),
136
103
  getDowncityResourcesDirPath(projectRoot),
137
- getDowncityConfigDirPath(projectRoot),
138
- path.join(projectRoot, ".agents", "skills"),
104
+ skills_dir_path,
139
105
  getDowncityDebugDirPath(projectRoot),
140
106
  ];
141
107
  for (const dir of dirs) {
142
108
  await ensureDir(dir);
143
109
  }
110
+ (downcity_dir_exists ? skippedFiles : createdFiles).push(".downcity/");
111
+ (skills_dir_exists ? skippedFiles : createdFiles).push(".agents/skills/");
144
112
  try {
145
113
  await ensureDir(getDowncityProfileDirPath(projectRoot));
146
114
  await fs.ensureFile(getDowncityProfilePrimaryPath(projectRoot));
@@ -1 +1 @@
1
- {"version":3,"file":"AgentInitializer.js","sourceRoot":"","sources":["../../src/config/AgentInitializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentInitializer.js","sourceRoot":"","sources":["../../src/config/AgentInitializer.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * Agent 配置域 Env 文件工具模块。
3
3
  *
4
4
  * 职责说明(中文)
5
- * - 负责 `.env` / `.env.example` 这类项目配置文件的轻量解析与补齐。
5
+ * - 负责项目 `.env` 文件的轻量解析与补齐。
6
6
  * - 服务于 agent 项目初始化与配置维护流程,避免把文本拼接逻辑散落到业务模块。
7
7
  *
8
8
  * 边界说明(中文)
@@ -2,7 +2,7 @@
2
2
  * Agent 配置域 Env 文件工具模块。
3
3
  *
4
4
  * 职责说明(中文)
5
- * - 负责 `.env` / `.env.example` 这类项目配置文件的轻量解析与补齐。
5
+ * - 负责项目 `.env` 文件的轻量解析与补齐。
6
6
  * - 服务于 agent 项目初始化与配置维护流程,避免把文本拼接逻辑散落到业务模块。
7
7
  *
8
8
  * 边界说明(中文)
@@ -2,7 +2,7 @@
2
2
  * 项目执行绑定解析与校验模块。
3
3
  *
4
4
  * 职责说明(中文)
5
- * - 统一负责从 `downcity.json` 中读取 agent 的执行目标定义。
5
+ * - 统一负责从宿主传入的 Agent 配置中读取执行目标定义。
6
6
  * - 负责提供最小的存在性判断、主模型读取与错误断言,避免调用方重复解析结构。
7
7
  * - 让初始化、配置装配、运行时启动都复用同一套执行目标解释规则。
8
8
  *
@@ -2,7 +2,7 @@
2
2
  * 项目执行绑定解析与校验模块。
3
3
  *
4
4
  * 职责说明(中文)
5
- * - 统一负责从 `downcity.json` 中读取 agent 的执行目标定义。
5
+ * - 统一负责从宿主传入的 Agent 配置中读取执行目标定义。
6
6
  * - 负责提供最小的存在性判断、主模型读取与错误断言,避免调用方重复解析结构。
7
7
  * - 让初始化、配置装配、运行时启动都复用同一套执行目标解释规则。
8
8
  *
@@ -41,6 +41,6 @@ export function readProjectExecutionBinding(config) {
41
41
  export function assertProjectExecutionTarget(config) {
42
42
  if (readProjectExecutionBinding(config) !== null)
43
43
  return;
44
- throw new Error('Invalid downcity.json: "execution" is required and must be { "type": "api", "modelId": "..." }');
44
+ throw new Error('Invalid Agent config: "execution" is required and must be { "type": "api", "modelId": "..." }');
45
45
  }
46
46
  //# sourceMappingURL=ExecutionBinding.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutionBinding.js","sourceRoot":"","sources":["../../src/config/ExecutionBinding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CACzC,MAAsB;IAEtB,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACnC,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC7D,IAAI,SAAS,CAAC,IAAI,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAC1C,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACvD,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO;QACL,IAAI,EAAE,KAAK;QACX,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,4BAA4B,CAAC,MAAsB;IACjE,IAAI,2BAA2B,CAAC,MAAM,CAAC,KAAK,IAAI;QAAE,OAAO;IACzD,MAAM,IAAI,KAAK,CACb,gGAAgG,CACjG,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ExecutionBinding.js","sourceRoot":"","sources":["../../src/config/ExecutionBinding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CACzC,MAAsB;IAEtB,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACnC,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC7D,IAAI,SAAS,CAAC,IAAI,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAC1C,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACvD,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO;QACL,IAAI,EAAE,KAAK;QACX,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,4BAA4B,CAAC,MAAsB;IACjE,IAAI,2BAA2B,CAAC,MAAM,CAAC,KAAK,IAAI;QAAE,OAAO;IACzD,MAAM,IAAI,KAAK,CACb,+FAA+F,CAChG,CAAC;AACJ,CAAC"}
@@ -1,73 +1,7 @@
1
- /**
2
- * PROFILE.md 候选文件名(按优先级从高到低)。
3
- *
4
- * 关键点(中文)
5
- * - 统一使用大写文件名:`PROFILE.md`。
6
- * - 与 SOUL 一起作为静态 prompt 入口。
7
- */
8
- export declare const PROFILE_MD_FILE_CANDIDATES: readonly ["PROFILE.md"];
9
- /**
10
- * 返回项目主 `PROFILE.md` 的标准路径。
11
- *
12
- * 关键点(中文)
13
- * - 当前始终返回候选列表中的第一优先级文件。
14
- * - 调用方可把该路径视为初始化时默认写入位置。
15
- */
16
- export declare function getProfileMdPath(cwd: string): string;
17
- /**
18
- * 返回 `PROFILE.md` 的全部候选路径。
19
- *
20
- * 关键点(中文)
21
- * - 便于后续扩展多候选命名时保持调用方逻辑不变。
22
- * - 当前虽然只有一个候选值,仍统一暴露数组接口。
23
- */
24
- export declare function getProfileMdCandidatePaths(cwd: string): string[];
25
- /**
26
- * SOUL.md 候选文件名(按优先级从高到低)。
27
- *
28
- * 关键点(中文)
29
- * - 统一使用大写文件名:`SOUL.md`。
30
- * - 统一由 Paths 模块暴露,避免调用方散落硬编码。
31
- */
32
- export declare const SOUL_MD_FILE_CANDIDATES: readonly ["SOUL.md"];
33
- /**
34
- * 返回项目主 `SOUL.md` 的标准路径。
35
- *
36
- * 关键点(中文)
37
- * - 当前始终返回候选列表中的第一优先级文件。
38
- * - 与 `PROFILE.md` 一样,属于静态 system prompt 入口文件。
39
- */
40
- export declare function getSoulMdPath(cwd: string): string;
41
- /**
42
- * 返回 `SOUL.md` 的全部候选路径。
43
- *
44
- * 关键点(中文)
45
- * - 供探测逻辑统一遍历候选文件名。
46
- * - 保留数组形式便于后续新增兼容命名。
47
- */
48
- export declare function getSoulMdCandidatePaths(cwd: string): string[];
49
- /**
50
- * 返回项目主配置文件 `downcity.json` 的路径。
51
- */
52
- export declare function getDowncityJsonPath(cwd: string): string;
53
1
  /**
54
2
  * 返回项目运行时状态根目录 `.downcity` 的路径。
55
3
  */
56
4
  export declare function getDowncityDirPath(cwd: string): string;
57
- /**
58
- * 返回项目内 schema 快照文件路径。
59
- *
60
- * 关键点(中文)
61
- * - 初始化流程会把本地 schema 副本写到这里,供编辑器联想与校验。
62
- */
63
- export declare function getDowncitySchemaPath(cwd: string): string;
64
- /**
65
- * 返回 `.downcity/config` 目录路径。
66
- *
67
- * 关键点(中文)
68
- * - 用于存放项目级额外配置快照或未来扩展的辅助配置文件。
69
- */
70
- export declare function getDowncityConfigDirPath(cwd: string): string;
71
5
  /**
72
6
  * 返回项目日志目录路径。
73
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Paths.d.ts","sourceRoot":"","sources":["../../src/config/Paths.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Paths.d.ts","sourceRoot":"","sources":["../../src/config/Paths.ts"],"names":[],"mappings":"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"}