@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.
- package/README.md +3 -3
- package/bin/agent/local/AgentRuntimeAssembly.d.ts.map +1 -1
- package/bin/agent/local/AgentRuntimeAssembly.js +2 -2
- package/bin/agent/local/AgentRuntimeAssembly.js.map +1 -1
- package/bin/agent/local/ProjectSetup.d.ts +0 -1
- package/bin/agent/local/ProjectSetup.d.ts.map +1 -1
- package/bin/agent/local/ProjectSetup.js +4 -17
- package/bin/agent/local/ProjectSetup.js.map +1 -1
- package/bin/agent/local/services/AgentAssemblyService.d.ts.map +1 -1
- package/bin/agent/local/services/AgentAssemblyService.js +6 -11
- package/bin/agent/local/services/AgentAssemblyService.js.map +1 -1
- package/bin/config/AgentEnv.d.ts +9 -0
- package/bin/config/AgentEnv.d.ts.map +1 -0
- package/bin/config/AgentEnv.js +48 -0
- package/bin/config/AgentEnv.js.map +1 -0
- package/bin/config/AgentInitializer.d.ts +2 -10
- package/bin/config/AgentInitializer.d.ts.map +1 -1
- package/bin/config/AgentInitializer.js +17 -49
- package/bin/config/AgentInitializer.js.map +1 -1
- package/bin/config/EnvFile.d.ts +1 -1
- package/bin/config/EnvFile.js +1 -1
- package/bin/config/ExecutionBinding.d.ts +1 -1
- package/bin/config/ExecutionBinding.js +2 -2
- package/bin/config/ExecutionBinding.js.map +1 -1
- package/bin/config/Paths.d.ts +0 -66
- package/bin/config/Paths.d.ts.map +1 -1
- package/bin/config/Paths.js +0 -80
- package/bin/config/Paths.js.map +1 -1
- package/bin/index.d.ts +4 -5
- package/bin/index.d.ts.map +1 -1
- package/bin/index.js +2 -3
- package/bin/index.js.map +1 -1
- package/bin/plugin/core/PluginLocalExecution.js +2 -2
- package/bin/plugin/core/PluginLocalExecution.js.map +1 -1
- package/bin/types/agent/AgentOptions.d.ts +12 -3
- package/bin/types/agent/AgentOptions.d.ts.map +1 -1
- package/bin/types/common/EnvFile.d.ts +1 -1
- package/bin/types/common/EnvFile.js +1 -1
- package/bin/types/config/DowncityConfig.d.ts +3 -21
- package/bin/types/config/DowncityConfig.d.ts.map +1 -1
- package/bin/types/config/ExecutionBinding.d.ts +1 -1
- package/bin/types/config/ExecutionBinding.js +1 -1
- package/bin/types/runtime/platform/Platform.d.ts +4 -12
- package/bin/types/runtime/platform/Platform.d.ts.map +1 -1
- package/bin/types/runtime/platform/PlatformGateway.d.ts +2 -122
- package/bin/types/runtime/platform/PlatformGateway.d.ts.map +1 -1
- package/bin/types/runtime/platform/PlatformGateway.js +0 -7
- package/bin/types/runtime/platform/PlatformGateway.js.map +1 -1
- package/bin/utils/logger/FormatRequest.js +1 -1
- package/bin/utils/logger/FormatRequest.js.map +1 -1
- package/package.json +3 -3
- package/scripts/agent-env.test.mjs +101 -0
- package/src/agent/local/AgentRuntimeAssembly.ts +4 -2
- package/src/agent/local/ProjectSetup.ts +3 -22
- package/src/agent/local/services/AgentAssemblyService.ts +6 -10
- package/src/config/AgentEnv.ts +49 -0
- package/src/config/AgentInitializer.ts +18 -61
- package/src/config/EnvFile.ts +1 -1
- package/src/config/ExecutionBinding.ts +2 -2
- package/src/config/Paths.ts +0 -89
- package/src/index.ts +12 -16
- package/src/plugin/core/PluginLocalExecution.ts +2 -2
- package/src/types/agent/AgentOptions.ts +13 -3
- package/src/types/common/EnvFile.ts +1 -1
- package/src/types/config/DowncityConfig.ts +3 -22
- package/src/types/config/ExecutionBinding.ts +1 -1
- package/src/types/runtime/platform/Platform.ts +4 -14
- package/src/types/runtime/platform/PlatformGateway.ts +2 -138
- package/src/utils/logger/FormatRequest.ts +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/bin/config/Config.d.ts +0 -27
- package/bin/config/Config.d.ts.map +0 -1
- package/bin/config/Config.js +0 -128
- package/bin/config/Config.js.map +0 -1
- package/bin/executor/composer/system/default/InitPromptAssets.d.ts +0 -16
- package/bin/executor/composer/system/default/InitPromptAssets.d.ts.map +0 -1
- package/bin/executor/composer/system/default/InitPromptAssets.js +0 -18
- package/bin/executor/composer/system/default/InitPromptAssets.js.map +0 -1
- package/bin/executor/composer/system/default/InitPrompts.d.ts +0 -9
- package/bin/executor/composer/system/default/InitPrompts.d.ts.map +0 -1
- package/bin/executor/composer/system/default/InitPrompts.js +0 -9
- package/bin/executor/composer/system/default/InitPrompts.js.map +0 -1
- package/bin/executor/composer/system/default/StaticPromptCatalog.d.ts +0 -50
- package/bin/executor/composer/system/default/StaticPromptCatalog.d.ts.map +0 -1
- package/bin/executor/composer/system/default/StaticPromptCatalog.js +0 -227
- package/bin/executor/composer/system/default/StaticPromptCatalog.js.map +0 -1
- package/bin/executor/composer/system/default/assets/init/PROFILE.md.d.ts +0 -7
- package/bin/executor/composer/system/default/assets/init/PROFILE.md.d.ts.map +0 -1
- package/bin/executor/composer/system/default/assets/init/PROFILE.md.js +0 -8
- package/bin/executor/composer/system/default/assets/init/PROFILE.md.js.map +0 -1
- package/bin/executor/composer/system/default/assets/init/SOUL.md.d.ts +0 -7
- package/bin/executor/composer/system/default/assets/init/SOUL.md.d.ts.map +0 -1
- package/bin/executor/composer/system/default/assets/init/SOUL.md.js +0 -8
- package/bin/executor/composer/system/default/assets/init/SOUL.md.js.map +0 -1
- package/src/config/Config.ts +0 -146
- package/src/executor/composer/system/default/InitPromptAssets.ts +0 -20
- package/src/executor/composer/system/default/InitPrompts.ts +0 -11
- package/src/executor/composer/system/default/StaticPromptCatalog.ts +0 -291
- package/src/executor/composer/system/default/assets/init/PROFILE.md.ts +0 -9
- package/src/executor/composer/system/default/assets/init/PROFILE.md.ts.txt +0 -16
- package/src/executor/composer/system/default/assets/init/SOUL.md.ts +0 -9
- package/src/executor/composer/system/default/assets/init/SOUL.md.ts.txt +0 -87
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlatformGateway.js","sourceRoot":"","sources":["../../../../src/types/runtime/platform/PlatformGateway.ts"],"names":[],"mappings":"
|
|
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
|
-
//
|
|
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.
|
|
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.
|
|
17
|
-
"@downcity/type": "0.1.
|
|
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
|
|
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
|
-
|
|
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
|
|
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(
|
|
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
|
-
|
|
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 {
|
|
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 =
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
* -
|
|
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
|
-
* - 会创建
|
|
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
|
|
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
|
|
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
|
-
|
|
162
|
-
dotEnvExamplePath,
|
|
163
|
-
"Downcity Create Example",
|
|
164
|
-
[] satisfies EnvFileEntry[],
|
|
165
|
-
);
|
|
115
|
+
(dot_env_exists ? skippedFiles : createdFiles).push(".env");
|
|
166
116
|
|
|
167
|
-
const
|
|
168
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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));
|
package/src/config/EnvFile.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* 项目执行绑定解析与校验模块。
|
|
3
3
|
*
|
|
4
4
|
* 职责说明(中文)
|
|
5
|
-
* -
|
|
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
|
|
48
|
+
'Invalid Agent config: "execution" is required and must be { "type": "api", "modelId": "..." }',
|
|
49
49
|
);
|
|
50
50
|
}
|
package/src/config/Paths.ts
CHANGED
|
@@ -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
|
*/
|