@downcity/agent 1.1.212 → 1.1.216

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
@@ -1,9 +1,2 @@
1
- /**
2
- * 平台控制面读取 agent 项目配置与 runtime 状态时使用的宽松类型。
3
- *
4
- * 关键点(中文)
5
- * - 仅承载平台 gateway / control plane 内部使用的结构化类型。
6
- * - 所有字段保持宽松输入,便于兼容磁盘 JSON 与运行时 API 的非强约束数据。
7
- */
8
1
  export {};
9
2
  //# sourceMappingURL=PlatformGateway.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlatformGateway.js","sourceRoot":"","sources":["../../../../src/types/runtime/platform/PlatformGateway.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
1
+ {"version":3,"file":"PlatformGateway.js","sourceRoot":"","sources":["../../../../src/types/runtime/platform/PlatformGateway.ts"],"names":[],"mappings":""}
@@ -201,7 +201,7 @@ function trimLeadingAssistantMessages(messages) {
201
201
  export function parseFetchRequestForLog(input, init, opts) {
202
202
  // 关键注释:这里的 maxChars 不用于“整体截断请求日志”,仅作为 payload 兜底 stringify 的保护上限。
203
203
  const maxChars = 12000;
204
- // 统一开关:只由 downcity.json 的 llm.logMessages 控制(由宿主模型工厂读取)。
204
+ // 统一开关:只由宿主配置的 llm.logMessages 控制(由宿主模型工厂读取)。
205
205
  // 这里不支持额外的“更敏感 payload”开关,避免不一致与误配置。
206
206
  const includePayload = false;
207
207
  const url = typeof input === "string"
@@ -1 +1 @@
1
- {"version":3,"file":"FormatRequest.js","sourceRoot":"","sources":["../../../src/utils/logger/FormatRequest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FormatRequest.js","sourceRoot":"","sources":["../../../src/utils/logger/FormatRequest.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@downcity/agent",
3
- "version": "1.1.212",
3
+ "version": "1.1.216",
4
4
  "type": "module",
5
5
  "description": "Downcity Agent 运行时 — 单 Agent 执行壳与本机 RPC 能力",
6
6
  "main": "./bin/index.js",
@@ -13,8 +13,8 @@
13
13
  },
14
14
  "dependencies": {
15
15
  "@ai-sdk/openai-compatible": "^2.0.48",
16
- "@downcity/shell": "^0.1.76",
17
- "@downcity/type": "0.1.109",
16
+ "@downcity/shell": "^0.1.80",
17
+ "@downcity/type": "0.1.113",
18
18
  "ai": "^6.0.193",
19
19
  "commander": "^15.0.0",
20
20
  "dotenv": "^17.4.2",
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Agent 项目环境变量装配测试。
3
+ */
4
+ import assert from "node:assert/strict";
5
+ import fs from "node:fs";
6
+ import os from "node:os";
7
+ import path from "node:path";
8
+ import test from "node:test";
9
+ import {
10
+ Agent,
11
+ initializeAgentProject,
12
+ resolve_agent_env,
13
+ } from "../bin/index.js";
14
+
15
+ function create_project_root() {
16
+ return fs.mkdtempSync(path.join(os.tmpdir(), "downcity-agent-env-"));
17
+ }
18
+
19
+ test("项目 .env 覆盖宿主环境且不修改 process.env", () => {
20
+ const project_root = create_project_root();
21
+ const original_value = process.env.DOWNCITY_ENV_TEST;
22
+ try {
23
+ fs.writeFileSync(
24
+ path.join(project_root, ".env"),
25
+ "DOWNCITY_ENV_TEST=project\nPROJECT_ONLY=value\n",
26
+ );
27
+ const env = resolve_agent_env(project_root, {
28
+ DOWNCITY_ENV_TEST: "host",
29
+ HOST_ONLY: "value",
30
+ });
31
+ assert.equal(env.DOWNCITY_ENV_TEST, "project");
32
+ assert.equal(env.HOST_ONLY, "value");
33
+ assert.equal(env.PROJECT_ONLY, "value");
34
+ assert.equal(process.env.DOWNCITY_ENV_TEST, original_value);
35
+ } finally {
36
+ fs.rmSync(project_root, { recursive: true, force: true });
37
+ }
38
+ });
39
+
40
+ test("SDK 未传 config 时不读取 downcity.json", async () => {
41
+ const project_root = create_project_root();
42
+ try {
43
+ fs.writeFileSync(path.join(project_root, "downcity.json"), JSON.stringify({
44
+ id: "legacy_id",
45
+ version: "9.9.9",
46
+ }));
47
+ const agent = new Agent({ id: "sdk_id", path: project_root });
48
+ assert.equal(agent.getContext().config.id, "sdk_id");
49
+ assert.equal(agent.getContext().config.version, "0.0.0");
50
+ await agent.ready();
51
+ await agent.dispose();
52
+ } finally {
53
+ fs.rmSync(project_root, { recursive: true, force: true });
54
+ }
55
+ });
56
+
57
+ test("SDK 未注入 plugin_config 时明确拒绝持久化", async () => {
58
+ const project_root = create_project_root();
59
+ try {
60
+ const agent = new Agent({ id: "sdk_id", path: project_root });
61
+ await assert.rejects(
62
+ agent.getContext().pluginConfig.persistProjectPlugins({}),
63
+ /Plugin config persistence is not configured/,
64
+ );
65
+ await agent.ready();
66
+ await agent.dispose();
67
+ } finally {
68
+ fs.rmSync(project_root, { recursive: true, force: true });
69
+ }
70
+ });
71
+
72
+ test("项目初始化只创建 .env、Skills 和运行目录并返回真实结果", async () => {
73
+ const project_root = create_project_root();
74
+ try {
75
+ const first = await initializeAgentProject({
76
+ projectRoot: project_root,
77
+ id: "init_agent",
78
+ execution: { type: "api", modelId: "model_a" },
79
+ });
80
+ assert.equal(fs.existsSync(path.join(project_root, ".env")), true);
81
+ assert.equal(fs.existsSync(path.join(project_root, ".env.example")), false);
82
+ assert.equal(fs.existsSync(path.join(project_root, ".agents", "skills")), true);
83
+ assert.equal(first.createdFiles.includes(".env"), true);
84
+ assert.equal(first.createdFiles.includes(".agents/skills/"), true);
85
+ assert.equal(first.createdFiles.includes(".downcity/"), true);
86
+ const gitignore = fs.readFileSync(path.join(project_root, ".gitignore"), "utf8");
87
+ assert.match(gitignore, /^\.env$/m);
88
+ assert.match(gitignore, /^\.downcity$/m);
89
+
90
+ const second = await initializeAgentProject({
91
+ projectRoot: project_root,
92
+ id: "init_agent",
93
+ execution: { type: "api", modelId: "model_a" },
94
+ });
95
+ assert.equal(second.skippedFiles.includes(".env"), true);
96
+ assert.equal(second.skippedFiles.includes(".agents/skills/"), true);
97
+ assert.equal(second.skippedFiles.includes(".downcity/"), true);
98
+ } finally {
99
+ fs.rmSync(project_root, { recursive: true, force: true });
100
+ }
101
+ });
@@ -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 {
11
11
  getCacheDirPath,
@@ -57,7 +57,9 @@ export function createAgentPluginConfigRuntime(projectRoot: string): AgentPlugin
57
57
  const rootPath = String(projectRoot || "").trim();
58
58
  return {
59
59
  async persistProjectPlugins(): Promise<string> {
60
- return rootPath;
60
+ throw new Error(
61
+ "Plugin config persistence is not configured. Pass AgentOptions.plugin_config from the host.",
62
+ );
61
63
  },
62
64
  };
63
65
  }
@@ -2,7 +2,6 @@
2
2
  * ProjectSetup:本地 Agent 启动前项目结构准备模块。
3
3
  *
4
4
  * 关键点(中文)
5
- * - 统一校验初始化必要文件(PROFILE.md)。
6
5
  * - 统一确保 `.downcity/*` 目录结构存在,避免调用方重复拼装目录逻辑。
7
6
  */
8
7
 
@@ -12,8 +11,6 @@ import {
12
11
  getCacheDirPath,
13
12
  getDowncityAgentsRootDirPath,
14
13
  getLogsDirPath,
15
- getProfileMdPath,
16
- getDowncityConfigDirPath,
17
14
  getDowncityDataDirPath,
18
15
  getDowncityDebugDirPath,
19
16
  getDowncityDirPath,
@@ -22,24 +19,10 @@ import {
22
19
  getDowncityTasksDirPath,
23
20
  } from "@/config/Paths.js";
24
21
 
25
- /**
26
- * 校验项目初始化关键文件。
27
- */
28
- function ensureContextFiles(projectRoot: string): void {
29
- // Check if initialized(启动入口一次性确认工程根目录与关键文件)
30
- if (!fs.existsSync(getProfileMdPath(projectRoot))) {
31
- console.error(
32
- '❌ Project not initialized. Please run "downcity agent create" first',
33
- );
34
- process.exit(1);
35
- }
36
-
37
- }
38
-
39
22
  /**
40
23
  * 确保 `.downcity` 运行目录结构完整。
41
24
  */
42
- function ensureShipDirectories(projectRoot: string): void {
25
+ function ensure_runtime_directories(projectRoot: string): void {
43
26
  // 关键点(中文):尽量只在启动时确保目录结构存在,避免在 Agent/Tool 执行过程中反复 ensure。
44
27
  fs.ensureDirSync(getDowncityDirPath(projectRoot));
45
28
  fs.ensureDirSync(getDowncityTasksDirPath(projectRoot));
@@ -49,8 +32,7 @@ function ensureShipDirectories(projectRoot: string): void {
49
32
  fs.ensureDirSync(getDowncityDataDirPath(projectRoot));
50
33
  fs.ensureDirSync(getDowncityAgentsRootDirPath(projectRoot));
51
34
  fs.ensureDirSync(getDowncityPublicDirPath(projectRoot));
52
- fs.ensureDirSync(getDowncityConfigDirPath(projectRoot));
53
- fs.ensureDirSync(path.join(getDowncityDirPath(projectRoot), "schema"));
35
+ fs.ensureDirSync(path.join(projectRoot, ".agents", "skills"));
54
36
  fs.ensureDirSync(getDowncityDebugDirPath(projectRoot));
55
37
  }
56
38
 
@@ -58,6 +40,5 @@ function ensureShipDirectories(projectRoot: string): void {
58
40
  * runtime 启动前准备项目结构。
59
41
  */
60
42
  export function ensureRuntimeProjectReady(projectRoot: string): void {
61
- ensureContextFiles(projectRoot);
62
- ensureShipDirectories(projectRoot);
43
+ ensure_runtime_directories(projectRoot);
63
44
  }
@@ -14,7 +14,7 @@ import type { DowncityConfig } from "@/types/config/DowncityConfig.js";
14
14
  import type { AgentPlugins } from "@/types/plugin/PluginRuntime.js";
15
15
  import type { AgentOptions } from "@/types/agent/AgentOptions.js";
16
16
  import { Logger } from "@/utils/logger/Logger.js";
17
- import { loadDowncityConfig, resolveAgentEnv } from "@/config/Config.js";
17
+ import { resolve_agent_env } from "@/config/AgentEnv.js";
18
18
  import { PluginRegistry } from "@/plugin/core/PluginRegistry.js";
19
19
  import {
20
20
  createFallbackSdkConfig,
@@ -156,9 +156,9 @@ export class AgentAssemblyService {
156
156
  // 关键点(中文)
157
157
  // - 这里产出的 env 是 agent 全生命周期共享的 mutable 对象引用。
158
158
  // - context / shell 都持有同一引用;后续 `agent.setEnv()` 会原地修改它。
159
- const env = resolveAgentEnv(path, this.options.env);
159
+ const env = resolve_agent_env(path, this.options.env);
160
160
  const instruction = normalizeInstructionInput(this.options.instruction);
161
- const config = this.load_config(id, path);
161
+ const config = this.load_config(id);
162
162
  const plugin_instances = new Map<string, Plugin>();
163
163
 
164
164
  // 关键点(中文)
@@ -183,7 +183,7 @@ export class AgentAssemblyService {
183
183
  }
184
184
  const resolve_session_model = this.resolve_session_model;
185
185
  const paths = createAgentPathRuntime(path, id);
186
- const pluginConfig = createAgentPluginConfigRuntime(path);
186
+ const pluginConfig = this.options.plugin_config || createAgentPluginConfigRuntime(path);
187
187
  agent_context = new AgentContext({
188
188
  cwd: path,
189
189
  rootPath: path,
@@ -239,7 +239,7 @@ export class AgentAssemblyService {
239
239
  };
240
240
  }
241
241
 
242
- private load_config(agent_id: string, project_root: string): DowncityConfig {
242
+ private load_config(agent_id: string): DowncityConfig {
243
243
  if (this.options.config) {
244
244
  return {
245
245
  ...this.options.config,
@@ -247,11 +247,7 @@ export class AgentAssemblyService {
247
247
  version: String(this.options.config.version || "").trim() || "1.0.0",
248
248
  };
249
249
  }
250
- try {
251
- return loadDowncityConfig(project_root);
252
- } catch {
253
- return createFallbackSdkConfig(agent_id);
254
- }
250
+ return createFallbackSdkConfig(agent_id);
255
251
  }
256
252
 
257
253
  /**
@@ -0,0 +1,49 @@
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
+ /**
14
+ * 读取项目 `.env` 快照。
15
+ */
16
+ export function load_project_dotenv(project_root: string): Record<string, string> {
17
+ const project_env_path = path.join(project_root, ".env");
18
+ if (!fs.existsSync(project_env_path)) return {};
19
+
20
+ try {
21
+ const parsed = dotenv.parse(fs.readFileSync(project_env_path, "utf-8"));
22
+ const result: Record<string, string> = {};
23
+ for (const [key, value] of Object.entries(parsed)) {
24
+ const normalized_key = String(key || "").trim();
25
+ if (!normalized_key) continue;
26
+ result[normalized_key] = String(value || "").trim();
27
+ }
28
+ return result;
29
+ } catch {
30
+ return {};
31
+ }
32
+ }
33
+
34
+ /**
35
+ * 解析 Agent 最终环境变量。
36
+ */
37
+ export function resolve_agent_env(
38
+ project_root: string,
39
+ host_env?: NodeJS.ProcessEnv | Record<string, string | undefined>,
40
+ ): Record<string, string> {
41
+ const normalized_host_env: Record<string, string> = {};
42
+ for (const [key, value] of Object.entries(host_env || {})) {
43
+ if (typeof value === "string") normalized_host_env[key] = value;
44
+ }
45
+ return {
46
+ ...normalized_host_env,
47
+ ...load_project_dotenv(project_root),
48
+ };
49
+ }
@@ -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
  * 边界说明(中文)
@@ -17,8 +17,6 @@ import {
17
17
  getCacheDirPath,
18
18
  getDowncityAgentsRootDirPath,
19
19
  getLogsDirPath,
20
- getProfileMdPath,
21
- getDowncityConfigDirPath,
22
20
  getDowncityDataDirPath,
23
21
  getDowncityDebugDirPath,
24
22
  getDowncityDirPath,
@@ -28,16 +26,10 @@ import {
28
26
  getDowncityPublicDirPath,
29
27
  getDowncityResourcesDirPath,
30
28
  getDowncityTasksDirPath,
31
- getSoulMdPath,
32
29
  } from "@/config/Paths.js";
33
- import {
34
- DEFAULT_PROFILE_MD_TEMPLATE,
35
- DEFAULT_SOUL_MD_TEMPLATE,
36
- } from "@executor/composer/system/default/InitPrompts.js";
37
30
  import type { EnvFileEntry } from "@/types/common/EnvFile.js";
38
31
  import { appendMissingEnvEntries } from "@/config/EnvFile.js";
39
32
  import { ensureGitignoreEntry } from "@/config/Gitignore.js";
40
- import { renderTemplateVariables } from "@/utils/Template.js";
41
33
  import { ensureDir } from "@/utils/storage/index.js";
42
34
  import type {
43
35
  AgentProjectChannel,
@@ -82,24 +74,11 @@ function normalizeChannels(input: AgentProjectChannel[] | undefined): AgentProje
82
74
  return [...seen];
83
75
  }
84
76
 
85
- /**
86
- * 判断项目是否已经具备最小初始化文件。
87
- *
88
- * 关键点(中文)
89
- * - 当前只检查 `PROFILE.md`,用于快速判断项目行为资产是否已初始化过。
90
- * - 不把 `.downcity/` 目录作为硬性条件,避免用户手动清理缓存后被误判为未初始化。
91
- */
92
- export async function isAgentProjectInitialized(projectRoot: string): Promise<boolean> {
93
- const normalizedRoot = path.resolve(String(projectRoot || "").trim() || ".");
94
- const profileReady = await fs.pathExists(getProfileMdPath(normalizedRoot));
95
- return profileReady;
96
- }
97
-
98
77
  /**
99
78
  * 初始化 agent 项目骨架。
100
79
  *
101
80
  * 关键点(中文)
102
- * - 会创建 prompt 文件、`.downcity` 目录结构以及 schema 快照。
81
+ * - 会创建 `.downcity` 运行目录、项目 `.env` 与 `.agents/skills`。
103
82
  * - 对已存在文件采取“能跳过就跳过、明确冲突则报错”的策略,降低误覆盖风险。
104
83
  * - 返回结果只描述本次初始化写入摘要,方便 CLI 与控制台直接展示。
105
84
  */
@@ -114,7 +93,8 @@ export async function initializeAgentProject(
114
93
 
115
94
  const channels = normalizeChannels(input.channels);
116
95
  const dotEnvPath = path.join(projectRoot, ".env");
117
- const dotEnvExamplePath = path.join(projectRoot, ".env.example");
96
+ const downcity_dir_path = getDowncityDirPath(projectRoot);
97
+ const skills_dir_path = path.join(projectRoot, ".agents", "skills");
118
98
  const createdFiles: string[] = [];
119
99
  const skippedFiles: string[] = [];
120
100
 
@@ -126,53 +106,29 @@ export async function initializeAgentProject(
126
106
 
127
107
  await ensureDir(projectRoot);
128
108
 
129
- const profileMdPath = getProfileMdPath(projectRoot);
130
- const soulMdPath = getSoulMdPath(projectRoot);
131
- const initTemplateVariables = {
132
- agent_id,
133
- };
134
- const staticPromptFiles = [
135
- {
136
- filename: "PROFILE.md",
137
- filePath: profileMdPath,
138
- content: renderTemplateVariables(DEFAULT_PROFILE_MD_TEMPLATE, initTemplateVariables),
139
- },
140
- {
141
- filename: "SOUL.md",
142
- filePath: soulMdPath,
143
- content: renderTemplateVariables(DEFAULT_SOUL_MD_TEMPLATE, initTemplateVariables),
144
- },
145
- ] as const;
146
-
147
- for (const file of staticPromptFiles) {
148
- if (await fs.pathExists(file.filePath)) {
149
- skippedFiles.push(file.filename);
150
- continue;
151
- }
152
- await fs.writeFile(file.filePath, file.content, "utf-8");
153
- createdFiles.push(file.filename);
154
- }
155
-
109
+ const dot_env_exists = await fs.pathExists(dotEnvPath);
156
110
  await appendMissingEnvEntries(
157
111
  dotEnvPath,
158
112
  "Downcity Create",
159
113
  [] satisfies EnvFileEntry[],
160
114
  );
161
- await appendMissingEnvEntries(
162
- dotEnvExamplePath,
163
- "Downcity Create Example",
164
- [] satisfies EnvFileEntry[],
165
- );
115
+ (dot_env_exists ? skippedFiles : createdFiles).push(".env");
166
116
 
167
- const gitignoreStatus = await ensureGitignoreEntry(projectRoot, ".downcity");
168
- if (gitignoreStatus === "created" || gitignoreStatus === "updated") {
117
+ const downcity_gitignore_status = await ensureGitignoreEntry(projectRoot, ".downcity");
118
+ const dotenv_gitignore_status = await ensureGitignoreEntry(projectRoot, ".env");
119
+ if (
120
+ downcity_gitignore_status !== "unchanged" ||
121
+ dotenv_gitignore_status !== "unchanged"
122
+ ) {
169
123
  createdFiles.push(".gitignore");
170
124
  } else {
171
125
  skippedFiles.push(".gitignore");
172
126
  }
173
127
 
128
+ const downcity_dir_exists = await fs.pathExists(downcity_dir_path);
129
+ const skills_dir_exists = await fs.pathExists(skills_dir_path);
174
130
  const dirs = [
175
- getDowncityDirPath(projectRoot),
131
+ downcity_dir_path,
176
132
  getDowncityTasksDirPath(projectRoot),
177
133
  getLogsDirPath(projectRoot),
178
134
  getCacheDirPath(projectRoot),
@@ -181,13 +137,14 @@ export async function initializeAgentProject(
181
137
  getDowncityAgentsRootDirPath(projectRoot),
182
138
  getDowncityPublicDirPath(projectRoot),
183
139
  getDowncityResourcesDirPath(projectRoot),
184
- getDowncityConfigDirPath(projectRoot),
185
- path.join(projectRoot, ".agents", "skills"),
140
+ skills_dir_path,
186
141
  getDowncityDebugDirPath(projectRoot),
187
142
  ];
188
143
  for (const dir of dirs) {
189
144
  await ensureDir(dir);
190
145
  }
146
+ (downcity_dir_exists ? skippedFiles : createdFiles).push(".downcity/");
147
+ (skills_dir_exists ? skippedFiles : createdFiles).push(".agents/skills/");
191
148
 
192
149
  try {
193
150
  await ensureDir(getDowncityProfileDirPath(projectRoot));
@@ -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
  *
@@ -45,6 +45,6 @@ export function readProjectExecutionBinding(
45
45
  export function assertProjectExecutionTarget(config: DowncityConfig): void {
46
46
  if (readProjectExecutionBinding(config) !== null) return;
47
47
  throw new Error(
48
- 'Invalid downcity.json: "execution" is required and must be { "type": "api", "modelId": "..." }',
48
+ 'Invalid Agent config: "execution" is required and must be { "type": "api", "modelId": "..." }',
49
49
  );
50
50
  }
@@ -12,75 +12,6 @@
12
12
  */
13
13
  import path from "path";
14
14
 
15
- /**
16
- * PROFILE.md 候选文件名(按优先级从高到低)。
17
- *
18
- * 关键点(中文)
19
- * - 统一使用大写文件名:`PROFILE.md`。
20
- * - 与 SOUL 一起作为静态 prompt 入口。
21
- */
22
- export const PROFILE_MD_FILE_CANDIDATES = ["PROFILE.md"] as const;
23
-
24
- /**
25
- * 返回项目主 `PROFILE.md` 的标准路径。
26
- *
27
- * 关键点(中文)
28
- * - 当前始终返回候选列表中的第一优先级文件。
29
- * - 调用方可把该路径视为初始化时默认写入位置。
30
- */
31
- export function getProfileMdPath(cwd: string): string {
32
- return path.join(cwd, PROFILE_MD_FILE_CANDIDATES[0]);
33
- }
34
-
35
- /**
36
- * 返回 `PROFILE.md` 的全部候选路径。
37
- *
38
- * 关键点(中文)
39
- * - 便于后续扩展多候选命名时保持调用方逻辑不变。
40
- * - 当前虽然只有一个候选值,仍统一暴露数组接口。
41
- */
42
- export function getProfileMdCandidatePaths(cwd: string): string[] {
43
- return PROFILE_MD_FILE_CANDIDATES.map((filename) => path.join(cwd, filename));
44
- }
45
-
46
- /**
47
- * SOUL.md 候选文件名(按优先级从高到低)。
48
- *
49
- * 关键点(中文)
50
- * - 统一使用大写文件名:`SOUL.md`。
51
- * - 统一由 Paths 模块暴露,避免调用方散落硬编码。
52
- */
53
- export const SOUL_MD_FILE_CANDIDATES = ["SOUL.md"] as const;
54
-
55
- /**
56
- * 返回项目主 `SOUL.md` 的标准路径。
57
- *
58
- * 关键点(中文)
59
- * - 当前始终返回候选列表中的第一优先级文件。
60
- * - 与 `PROFILE.md` 一样,属于静态 system prompt 入口文件。
61
- */
62
- export function getSoulMdPath(cwd: string): string {
63
- return path.join(cwd, SOUL_MD_FILE_CANDIDATES[0]);
64
- }
65
-
66
- /**
67
- * 返回 `SOUL.md` 的全部候选路径。
68
- *
69
- * 关键点(中文)
70
- * - 供探测逻辑统一遍历候选文件名。
71
- * - 保留数组形式便于后续新增兼容命名。
72
- */
73
- export function getSoulMdCandidatePaths(cwd: string): string[] {
74
- return SOUL_MD_FILE_CANDIDATES.map((filename) => path.join(cwd, filename));
75
- }
76
-
77
- /**
78
- * 返回项目主配置文件 `downcity.json` 的路径。
79
- */
80
- export function getDowncityJsonPath(cwd: string): string {
81
- return path.join(cwd, "downcity.json");
82
- }
83
-
84
15
  /**
85
16
  * 返回项目运行时状态根目录 `.downcity` 的路径。
86
17
  */
@@ -88,26 +19,6 @@ export function getDowncityDirPath(cwd: string): string {
88
19
  return path.join(cwd, ".downcity");
89
20
  }
90
21
 
91
- /**
92
- * 返回项目内 schema 快照文件路径。
93
- *
94
- * 关键点(中文)
95
- * - 初始化流程会把本地 schema 副本写到这里,供编辑器联想与校验。
96
- */
97
- export function getDowncitySchemaPath(cwd: string): string {
98
- return path.join(getDowncityDirPath(cwd), "schema", "downcity.schema.json");
99
- }
100
-
101
- /**
102
- * 返回 `.downcity/config` 目录路径。
103
- *
104
- * 关键点(中文)
105
- * - 用于存放项目级额外配置快照或未来扩展的辅助配置文件。
106
- */
107
- export function getDowncityConfigDirPath(cwd: string): string {
108
- return path.join(getDowncityDirPath(cwd), "config");
109
- }
110
-
111
22
  /**
112
23
  * 返回项目日志目录路径。
113
24
  */