@gt-fe/eap-cli 0.2.22 → 0.2.25

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 (58) hide show
  1. package/README.md +303 -304
  2. package/dist/commands/doctor.js +2 -2
  3. package/dist/commands/doctor.js.map +1 -1
  4. package/dist/commands/login.js +2 -2
  5. package/dist/commands/login.js.map +1 -1
  6. package/dist/commands/use.d.ts +6 -0
  7. package/dist/commands/use.d.ts.map +1 -0
  8. package/dist/commands/use.js +18 -0
  9. package/dist/commands/use.js.map +1 -0
  10. package/dist/index.js +3 -0
  11. package/dist/index.js.map +1 -1
  12. package/dist/lib/config.d.ts +5 -1
  13. package/dist/lib/config.d.ts.map +1 -1
  14. package/dist/lib/config.js +64 -17
  15. package/dist/lib/config.js.map +1 -1
  16. package/dist/playground/server.js +1 -1
  17. package/dist/playground/server.js.map +1 -1
  18. package/dist/program.d.ts.map +1 -1
  19. package/dist/program.js +2 -1
  20. package/dist/program.js.map +1 -1
  21. package/dist/templates/README.md +51 -51
  22. package/dist/templates/agent-api-orchestration/README.md +320 -326
  23. package/dist/templates/agent-api-orchestration/eap.config.json +1 -5
  24. package/dist/templates/agent-api-orchestration/graph.json +35 -35
  25. package/dist/templates/agent-api-orchestration/package.json +1 -1
  26. package/dist/templates/agent-api-orchestration/src/embedded-agent.ts +4 -9
  27. package/dist/templates/agent-api-orchestration/src/platform-user.ts +12 -7
  28. package/dist/templates/agent-api-orchestration/src/project-config.ts +5 -8
  29. package/dist/templates/dag-workflow/README.md +102 -102
  30. package/dist/templates/dag-workflow/agent.manifest.json +19 -19
  31. package/dist/templates/dag-workflow/eap.config.json +1 -5
  32. package/dist/templates/dag-workflow/gitignore +51 -51
  33. package/dist/templates/dag-workflow/graph.json +51 -51
  34. package/dist/templates/dag-workflow/skills/README.md +116 -116
  35. package/dist/templates/plan-and-execute/README.md +109 -109
  36. package/dist/templates/plan-and-execute/agent.manifest.json +19 -19
  37. package/dist/templates/plan-and-execute/eap.config.json +1 -5
  38. package/dist/templates/plan-and-execute/eap.lock.yaml +5 -5
  39. package/dist/templates/plan-and-execute/gitignore +51 -51
  40. package/dist/templates/plan-and-execute/graph.json +49 -49
  41. package/dist/templates/plan-and-execute/skills/README.md +120 -120
  42. package/dist/templates/simple-flow/README.md +87 -87
  43. package/dist/templates/simple-flow/agent.manifest.json +19 -19
  44. package/dist/templates/simple-flow/eap.config.json +1 -5
  45. package/dist/templates/simple-flow/gitignore +51 -51
  46. package/dist/templates/simple-flow/graph.json +32 -32
  47. package/dist/templates/simple-flow/package.json +10 -10
  48. package/dist/templates/simple-flow/skills/README.md +113 -113
  49. package/dist/templates/single-agent-with-tools/README.md +138 -138
  50. package/dist/templates/single-agent-with-tools/agent.manifest.json +19 -19
  51. package/dist/templates/single-agent-with-tools/eap.config.json +1 -5
  52. package/dist/templates/single-agent-with-tools/eap.lock.yaml +5 -5
  53. package/dist/templates/single-agent-with-tools/gitignore +51 -51
  54. package/dist/templates/single-agent-with-tools/graph.json +41 -41
  55. package/dist/templates/single-agent-with-tools/skills/README.md +119 -119
  56. package/dist/templates/single-agent-with-tools/tools/http-weather/toolset.manifest.json +73 -73
  57. package/dist/templates/single-agent-with-tools/tools/web-search/toolset.manifest.json +41 -41
  58. package/package.json +3 -3
@@ -1,15 +1,11 @@
1
1
  {
2
- "version": "0.2.22",
2
+ "version": "0.2.25",
3
3
  "localToolDirectories": [
4
4
  "./tools"
5
5
  ],
6
6
  "localSkillDirectories": [
7
7
  "./skills"
8
8
  ],
9
- "platform": {
10
- "foundationServiceUrl": "https://eap-foundation-test.gtcloud.cn",
11
- "portalUrl": "https://developer-portal-test.gtcloud.cn"
12
- },
13
9
  "runtime": {
14
10
  "deploymentContext": "dev",
15
11
  "governance": {
@@ -1,35 +1,35 @@
1
- {
2
- "description": "用于演示 Agent API 编排的最小模型流程(含 RAG 多源检索)。",
3
- "state": {
4
- "userRequest": "string",
5
- "response": "string"
6
- },
7
- "nodes": [
8
- {
9
- "id": "rag",
10
- "type": "rag",
11
- "config": {
12
- "maxIterations": 5
13
- }
14
- },
15
- {
16
- "id": "respond",
17
- "type": "llm",
18
- "config": {
19
- "disableTools": true,
20
- "systemPrompt": "你是企业知识与数据问答助手,请根据用户的问题直接回答。"
21
- }
22
- }
23
- ],
24
- "edges": [
25
- { "from": "__start__", "to": "rag" },
26
- { "from": "rag", "to": "respond" },
27
- { "from": "respond", "to": "__end__" }
28
- ],
29
- "entryPoint": "rag",
30
- "finishPoints": ["__end__"],
31
- "config": {
32
- "maxRetries": 3,
33
- "checkpointStore": "memory"
34
- }
35
- }
1
+ {
2
+ "description": "用于演示 Agent API 编排的最小模型流程(含 RAG 多源检索)。",
3
+ "state": {
4
+ "userRequest": "string",
5
+ "response": "string"
6
+ },
7
+ "nodes": [
8
+ {
9
+ "id": "rag",
10
+ "type": "rag",
11
+ "config": {
12
+ "maxIterations": 5
13
+ }
14
+ },
15
+ {
16
+ "id": "respond",
17
+ "type": "llm",
18
+ "config": {
19
+ "disableTools": true,
20
+ "systemPrompt": "你是企业知识与数据问答助手,请根据用户的问题直接回答。"
21
+ }
22
+ }
23
+ ],
24
+ "edges": [
25
+ { "from": "__start__", "to": "rag" },
26
+ { "from": "rag", "to": "respond" },
27
+ { "from": "respond", "to": "__end__" }
28
+ ],
29
+ "entryPoint": "rag",
30
+ "finishPoints": ["__end__"],
31
+ "config": {
32
+ "maxRetries": 3,
33
+ "checkpointStore": "memory"
34
+ }
35
+ }
@@ -14,7 +14,7 @@
14
14
  "type-check": "tsc --noEmit"
15
15
  },
16
16
  "dependencies": {
17
- "@gt-fe/eap-sdk": "^0.2.22",
17
+ "@gt-fe/eap-sdk": "^0.2.25",
18
18
  "dotenv": "^17.2.2",
19
19
  "express": "^4.21.2"
20
20
  },
@@ -9,7 +9,7 @@ import {
9
9
  import { dirname, resolve } from 'node:path';
10
10
  import { fileURLToPath } from 'node:url';
11
11
 
12
- import { loadTemplateRuntime, resolveTemplateRuntimeRoot } from './project-config.js';
12
+ import { loadTemplateRuntime, resolveTemplatePlatformConfig, resolveTemplateRuntimeRoot } from './project-config.js';
13
13
  export { AgentResourceService, createAgentResourceService } from './http/services/resource-service.js';
14
14
  export { createAgentApp, createAgentHttpServer, startAgentHttpServer } from './http/index.js';
15
15
  export type { AgentHttpStartOptions } from './http/index.js';
@@ -31,18 +31,13 @@ export interface EmbeddedAgentOptions {
31
31
  /**
32
32
  * 创建一个使用模板项目配置的内嵌 Agent。
33
33
  *
34
- * platform.portalUrl 和 platform.foundationServiceUrl 来自 eap.config.json;
34
+ * 项目配置地址优先于环境变量;缺省时使用测试环境,生产部署由宿主注入地址;
35
35
  * 凭证优先使用宿主显式传入的 Provider;只有开发模式才回退到 EAP_SDK_TOKEN。
36
36
  */
37
37
  export async function createEmbeddedAgent(options: EmbeddedAgentOptions = {}): Promise<Agent> {
38
38
  const runtimeRoot = options.runtimeRoot ?? resolveTemplateRuntimeRoot(entryDirectory);
39
39
  const loadedRuntime = loadTemplateRuntime(entryDirectory, runtimeRoot);
40
- const platform = {
41
- portalEndpoint: loadedRuntime.config.platform.portalUrl.trim(),
42
- ...(loadedRuntime.config.platform.foundationServiceUrl?.trim()
43
- ? { foundationEndpoint: loadedRuntime.config.platform.foundationServiceUrl.trim() }
44
- : {}),
45
- };
40
+ const platform = resolveTemplatePlatformConfig(loadedRuntime.config.platform);
46
41
  // 凭证优先级:宿主显式注入的 credentialProvider > EAP_SDK_TOKEN 环境变量回退。
47
42
  // 显式注入用于生产托管;EAP_SDK_TOKEN 用于本地演示(npm run dev / 本地起 dist 冒烟)。
48
43
  const provider =
@@ -89,4 +84,4 @@ export function createSdkTokenProvider(token?: string): AgentCredentialProvider
89
84
  return { value };
90
85
  },
91
86
  };
92
- }
87
+ }
@@ -5,7 +5,9 @@ import {
5
5
  import { dirname } from 'node:path';
6
6
  import { fileURLToPath } from 'node:url';
7
7
 
8
- import { loadTemplatePlatformConfig } from './project-config.js';
8
+ import { loadTemplateRuntime, resolveTemplatePlatformConfig, resolveTemplateRuntimeRoot } from './project-config.js';
9
+
10
+ let cachedPlatformConfig: ReturnType<typeof resolveTemplatePlatformConfig> | undefined;
9
11
 
10
12
  /**
11
13
  * 演示宿主已经拿到前端用户 Token 时,如何通过 SDK 查询用户信息。
@@ -17,12 +19,7 @@ export async function resolveTokenUser(token: string): Promise<PlatformIdentity>
17
19
  const requestToken = token.trim();
18
20
  if (!requestToken) throw new Error('token 不能为空');
19
21
 
20
- const { portalEndpoint, foundationEndpoint } = loadTemplatePlatformConfig(
21
- dirname(fileURLToPath(import.meta.url)),
22
- );
23
- if (!foundationEndpoint) {
24
- throw new Error('请在 eap.config.json 的 platform.foundationServiceUrl 中配置 Foundation 地址后再查询 Token 用户信息');
25
- }
22
+ const { portalEndpoint, foundationEndpoint } = getTemplatePlatformConfig();
26
23
 
27
24
  // PlatformClient 的 portalEndpoint 是必填配置;查询用户实际走 foundation。
28
25
  const client = createPlatformClient({
@@ -34,3 +31,11 @@ export async function resolveTokenUser(token: string): Promise<PlatformIdentity>
34
31
  // SDK 会校验 Token 有效性、调用方类型,并返回 userId / roles / permissions。
35
32
  return client.resolveTokenUser(requestToken);
36
33
  }
34
+
35
+ function getTemplatePlatformConfig(): ReturnType<typeof resolveTemplatePlatformConfig> {
36
+ if (cachedPlatformConfig) return cachedPlatformConfig;
37
+ const moduleDirectory = dirname(fileURLToPath(import.meta.url));
38
+ const runtime = loadTemplateRuntime(moduleDirectory, resolveTemplateRuntimeRoot(moduleDirectory));
39
+ cachedPlatformConfig = resolveTemplatePlatformConfig(runtime.config.platform);
40
+ return cachedPlatformConfig;
41
+ }
@@ -1,6 +1,8 @@
1
1
  import {
2
2
  loadAgentRuntime,
3
+ resolvePlatformEndpoints,
3
4
  type LoadedAgentRuntime,
5
+ type PlatformEndpointConfig,
4
6
  } from '@gt-fe/eap-sdk';
5
7
  import { resolve } from 'node:path';
6
8
 
@@ -31,15 +33,10 @@ export function resolveTemplateRuntimeRoot(moduleDirectory: string): string {
31
33
  );
32
34
  }
33
35
 
34
- export function loadTemplatePlatformConfig(
35
- moduleDirectory: string,
36
- runtimeRoot?: string,
37
- ): TemplatePlatformConfig {
38
- const { config } = loadTemplateRuntime(moduleDirectory, runtimeRoot);
39
- const portalEndpoint = config.platform.portalUrl.trim();
40
- const foundationEndpoint = config.platform.foundationServiceUrl?.trim() || undefined;
36
+ export function resolveTemplatePlatformConfig(project?: PlatformEndpointConfig): TemplatePlatformConfig {
37
+ const { portalEndpoint, foundationEndpoint } = resolvePlatformEndpoints({ project });
41
38
  return {
42
39
  portalEndpoint,
43
- ...(foundationEndpoint ? { foundationEndpoint } : {}),
40
+ foundationEndpoint,
44
41
  };
45
42
  }
@@ -1,102 +1,102 @@
1
- # DAG 工作流
2
-
3
- `split` 两条普通出边同时进入 `branch-report` 与 `branch-task`,再在 `merge` 汇合。本模板按无环图交付。
4
-
5
- 并行扇出就是多条普通边。条件分支把这两条出边改成 `conditionalEdges`,一次只走一条。装配 Skill 见 `skills/README.md`。整图超时:图上未写 `config.timeout` 时为 20 分钟。
6
-
7
- ## 图结构
8
-
9
- ```text
10
- ╭───────────╮ ┌──────────────┐
11
- │ __start__ ├───▶│ split / code │
12
- ╰───────────╯ └──────┬───────┘
13
- ┌──────┴──────┐
14
- ▼ ▼
15
- ┌──────────────────┐ ┌──────────────────┐
16
- │ branch-report │ │ branch-task │
17
- │ llm disableTools │ │ llm disableTools │
18
- └────────┬─────────┘ └────────┬─────────┘
19
- └──────────┬────────────┘
20
- ▼
21
- ┌─────────────────┐ ╭─────────╮
22
- │ merge / llm · ├───▶│ __end__ │
23
- │ disableTools │ ╰─────────╯
24
- └─────────────────┘
25
- ```
26
-
27
- ```mermaid
28
- flowchart TB
29
- start((__start__)) --> split[split / code]
30
- split --> report["branch-report / llm · disableTools"]
31
- split --> task["branch-task / llm · disableTools"]
32
- report --> merge["merge / llm · disableTools"]
33
- task --> merge
34
- merge --> finish((__end__))
35
- ```
36
-
37
- **适用**:多步骤、独立分支同时推进后再汇合。
38
-
39
- **不适用**:一次只走一条分支。把 `split` 的两条普通出边改成 `conditionalEdges`。
40
-
41
- Session 只保留 `merge` 的正文(`finishPoints: ["merge"]`)。两条分支的意见在 llm-turns / Trace,不写成两条助手消息。
42
-
43
- ## 1. 配置
44
-
45
- 本地 `eap chat` 不要求 `eap login`。`runtime.llm` 会设置 `EAP_LLM_MODE=local`,用 `eap.config.json` 里的网关和 Token,不走 Foundation 模型路由。`platform.foundationServiceUrl` 默认是测试环境地址,给登录/发布用;纯本地可改为 `null`。
46
-
47
- 把 `runtime.llm.models.*.apiKey` 的 `sk-example-token` 换成与 `baseUrl` 一致的有效 Token,不要提交真实密钥。图中 LLM 均设 `disableTools`,无 Tool 节点。
48
-
49
- | 项 | 要求 |
50
- |----|------|
51
- | `runtime.llm.models.*.apiKey` | 模板占位 `sk-example-token`,运行前替换 |
52
- | `baseUrl` | 默认 `https://gtaiapi.gtcloud.cn/v1`。须与 Key 所属网关一致 |
53
- | 生效 | 修改 `eap.config.json` 后重新启动 `eap chat` |
54
-
55
- ## 2. 占位符与密钥
56
-
57
- 模型密钥写在 `eap.config.json` 的 `runtime.llm.models.*.apiKey`,模板占位 `sk-example-token`。
58
-
59
- | 环境 | 处理 |
60
- |------|------|
61
- | 本地 | 替换占位 Token;不要提交真实密钥 |
62
- | 生产 | 不使用 `runtime.llm`。模型密钥由 Foundation 模型路由持有 |
63
-
64
- 华为云 UCS「配置项与密钥」:配置项(ConfigMap)只存放非敏感值;密钥(Secret)仅当该 Pod 必须持有敏感值,且须挂载。禁止将 API Key 写入配置项。
65
-
66
- ## 3. 运行
67
-
68
- ```bash
69
- eap validate --strict
70
- eap chat
71
- ```
72
-
73
- `eap chat` 须在交互式终端中运行。启动摘要应为 `Runtime openai-http · mcp · dev`。
74
-
75
- 试跑:`用户登录后要导出月报,请给出说明和待办。` 预期两个分支都执行,再由 merge 汇总。Session 只保留 merge 这一条用户可见回复(`finishPoints`)。终端与 Playground 在**同一轮**里按节点分块展示,块上标节点 id,不把两路 token 交错拼成一串;`--verbose` 与 llm-turns 可看分支全文。
76
-
77
- 可选:`eap chat --verbose`;`eap dev` 启动 Playground。
78
-
79
- ## 4. 项目结构
80
-
81
- ```text
82
- .
83
- |-- agent.manifest.json
84
- |-- graph.json
85
- |-- eap.config.json
86
- |-- eap.lock.yaml
87
- |-- package.json
88
- |-- .gitignore
89
- `-- skills/README.md
90
- ```
91
-
92
- 发布与部署以 Portal / Hosting 合同为准。
93
-
94
- ## 5. 故障排除
95
-
96
- | 现象 | 处理 |
97
- |------|------|
98
- | `LLM API error 401` | Key 无效,或与 `baseUrl` 所属网关不一致 |
99
- | 提示先执行 `eap login` | 升级 CLI。本地 `eap chat` 不要求登录 |
100
- | 启动失败,提示 `no API key resolved` | 把 `eap.config.json` 的 `sk-example-token` 换成有效 Token |
101
- | 校验失败,提示节点 type 非法 | 扇出用普通边,不要发明节点类型 |
102
- | 请求进入 Foundation 模型路由 | `platform.foundationServiceUrl` 设为 `null`,并取消 `FOUNDATION_SERVICE_URL` |
1
+ # DAG 工作流
2
+
3
+ `split` 两条普通出边同时进入 `branch-report` 与 `branch-task`,再在 `merge` 汇合。本模板按无环图交付。
4
+
5
+ 并行扇出就是多条普通边。条件分支把这两条出边改成 `conditionalEdges`,一次只走一条。装配 Skill 见 `skills/README.md`。整图超时:图上未写 `config.timeout` 时为 20 分钟。
6
+
7
+ ## 图结构
8
+
9
+ ```text
10
+ ╭───────────╮ ┌──────────────┐
11
+ │ __start__ ├───▶│ split / code │
12
+ ╰───────────╯ └──────┬───────┘
13
+ ┌──────┴──────┐
14
+ ▼ ▼
15
+ ┌──────────────────┐ ┌──────────────────┐
16
+ │ branch-report │ │ branch-task │
17
+ │ llm disableTools │ │ llm disableTools │
18
+ └────────┬─────────┘ └────────┬─────────┘
19
+ └──────────┬────────────┘
20
+ ▼
21
+ ┌─────────────────┐ ╭─────────╮
22
+ │ merge / llm · ├───▶│ __end__ │
23
+ │ disableTools │ ╰─────────╯
24
+ └─────────────────┘
25
+ ```
26
+
27
+ ```mermaid
28
+ flowchart TB
29
+ start((__start__)) --> split[split / code]
30
+ split --> report["branch-report / llm · disableTools"]
31
+ split --> task["branch-task / llm · disableTools"]
32
+ report --> merge["merge / llm · disableTools"]
33
+ task --> merge
34
+ merge --> finish((__end__))
35
+ ```
36
+
37
+ **适用**:多步骤、独立分支同时推进后再汇合。
38
+
39
+ **不适用**:一次只走一条分支。把 `split` 的两条普通出边改成 `conditionalEdges`。
40
+
41
+ Session 只保留 `merge` 的正文(`finishPoints: ["merge"]`)。两条分支的意见在 llm-turns / Trace,不写成两条助手消息。
42
+
43
+ ## 1. 配置
44
+
45
+ 本地 `eap chat` 不要求 `eap login`。`runtime.llm` 会设置 `EAP_LLM_MODE=local`,用 `eap.config.json` 里的网关和 Token,不走 Foundation 模型路由。CLI 登录和发布使用全局 `eap use test|prod` 选择的平台地址。
46
+
47
+ 把 `runtime.llm.models.*.apiKey` 的 `sk-example-token` 换成与 `baseUrl` 一致的有效 Token,不要提交真实密钥。图中 LLM 均设 `disableTools`,无 Tool 节点。
48
+
49
+ | 项 | 要求 |
50
+ |----|------|
51
+ | `runtime.llm.models.*.apiKey` | 模板占位 `sk-example-token`,运行前替换 |
52
+ | `baseUrl` | 默认 `https://gtaiapi.gtcloud.cn/v1`。须与 Key 所属网关一致 |
53
+ | 生效 | 修改 `eap.config.json` 后重新启动 `eap chat` |
54
+
55
+ ## 2. 占位符与密钥
56
+
57
+ 模型密钥写在 `eap.config.json` 的 `runtime.llm.models.*.apiKey`,模板占位 `sk-example-token`。
58
+
59
+ | 环境 | 处理 |
60
+ |------|------|
61
+ | 本地 | 替换占位 Token;不要提交真实密钥 |
62
+ | 生产 | 不使用 `runtime.llm`。模型密钥由 Foundation 模型路由持有 |
63
+
64
+ 华为云 UCS「配置项与密钥」:配置项(ConfigMap)只存放非敏感值;密钥(Secret)仅当该 Pod 必须持有敏感值,且须挂载。禁止将 API Key 写入配置项。
65
+
66
+ ## 3. 运行
67
+
68
+ ```bash
69
+ eap validate --strict
70
+ eap chat
71
+ ```
72
+
73
+ `eap chat` 须在交互式终端中运行。启动摘要应为 `Runtime openai-http · mcp · dev`。
74
+
75
+ 试跑:`用户登录后要导出月报,请给出说明和待办。` 预期两个分支都执行,再由 merge 汇总。Session 只保留 merge 这一条用户可见回复(`finishPoints`)。终端与 Playground 在**同一轮**里按节点分块展示,块上标节点 id,不把两路 token 交错拼成一串;`--verbose` 与 llm-turns 可看分支全文。
76
+
77
+ 可选:`eap chat --verbose`;`eap dev` 启动 Playground。
78
+
79
+ ## 4. 项目结构
80
+
81
+ ```text
82
+ .
83
+ |-- agent.manifest.json
84
+ |-- graph.json
85
+ |-- eap.config.json
86
+ |-- eap.lock.yaml
87
+ |-- package.json
88
+ |-- .gitignore
89
+ `-- skills/README.md
90
+ ```
91
+
92
+ 发布与部署以 Portal / Hosting 合同为准。
93
+
94
+ ## 5. 故障排除
95
+
96
+ | 现象 | 处理 |
97
+ |------|------|
98
+ | `LLM API error 401` | Key 无效,或与 `baseUrl` 所属网关不一致 |
99
+ | 提示先执行 `eap login` | 升级 CLI。本地 `eap chat` 不要求登录 |
100
+ | 启动失败,提示 `no API key resolved` | 把 `eap.config.json` 的 `sk-example-token` 换成有效 Token |
101
+ | 校验失败,提示节点 type 非法 | 扇出用普通边,不要发明节点类型 |
102
+ | 请求进入 Foundation 模型路由 | 配置 `FOUNDATION_SERVICE_URL` |
@@ -1,19 +1,19 @@
1
- {
2
- "code": "my-agent",
3
- "name": "my-agent",
4
- "version": "1.0.0",
5
- "description": "DAG 工作流:并行扇出后合并",
6
- "toolRefs": [],
7
- "skillRefs": [],
8
- "prompts": {
9
- "system": "对请求同时从报告和任务两个视角处理,再合并。用中文回答。"
10
- },
11
- "models": {
12
- "default": "DeepSeek-V4-Pro",
13
- "allowed": ["DeepSeek-V4-Pro", "DeepSeek-V4-Flash"]
14
- },
15
- "metadata": {
16
- "owner": "agent-template",
17
- "tags": ["template"]
18
- }
19
- }
1
+ {
2
+ "code": "my-agent",
3
+ "name": "my-agent",
4
+ "version": "1.0.0",
5
+ "description": "DAG 工作流:并行扇出后合并",
6
+ "toolRefs": [],
7
+ "skillRefs": [],
8
+ "prompts": {
9
+ "system": "对请求同时从报告和任务两个视角处理,再合并。用中文回答。"
10
+ },
11
+ "models": {
12
+ "default": "DeepSeek-V4-Pro",
13
+ "allowed": ["DeepSeek-V4-Pro", "DeepSeek-V4-Flash"]
14
+ },
15
+ "metadata": {
16
+ "owner": "agent-template",
17
+ "tags": ["template"]
18
+ }
19
+ }
@@ -1,15 +1,11 @@
1
1
  {
2
- "version": "0.2.22",
2
+ "version": "0.2.25",
3
3
  "localToolDirectories": [
4
4
  "./tools"
5
5
  ],
6
6
  "localSkillDirectories": [
7
7
  "./skills"
8
8
  ],
9
- "platform": {
10
- "foundationServiceUrl": "https://eap-foundation-test.gtcloud.cn",
11
- "portalUrl": "https://developer-portal-test.gtcloud.cn"
12
- },
13
9
  "runtime": {
14
10
  "deploymentContext": "dev",
15
11
  "governance": {
@@ -1,51 +1,51 @@
1
- # OS files
2
- .DS_Store
3
- Thumbs.db
4
- Desktop.ini
5
-
6
- # Editor and IDE files
7
- .idea/
8
- .vscode/
9
- *.swp
10
- *.swo
11
-
12
- # Dependencies
13
- node_modules/
14
- .pnpm-store/
15
-
16
- # Lock files
17
- package-lock.json
18
-
19
- # Build outputs
20
- dist/
21
- build/
22
- out/
23
- .output/
24
- .history
25
-
26
- # Logs
27
- *.log
28
- npm-debug.log*
29
- yarn-debug.log*
30
- yarn-error.log*
31
- pnpm-debug.log*
32
-
33
- # Test coverage
34
- coverage/
35
-
36
- # Turbo
37
- .turbo/
38
-
39
- # Environment
40
- .env
41
- .env.local
42
- .env.*.local
43
-
44
- # Temporary files
45
- tmp/
46
- temp/
47
- .cache/
48
- .run/
49
-
50
- # Generated Agent state
51
- .eap/
1
+ # OS files
2
+ .DS_Store
3
+ Thumbs.db
4
+ Desktop.ini
5
+
6
+ # Editor and IDE files
7
+ .idea/
8
+ .vscode/
9
+ *.swp
10
+ *.swo
11
+
12
+ # Dependencies
13
+ node_modules/
14
+ .pnpm-store/
15
+
16
+ # Lock files
17
+ package-lock.json
18
+
19
+ # Build outputs
20
+ dist/
21
+ build/
22
+ out/
23
+ .output/
24
+ .history
25
+
26
+ # Logs
27
+ *.log
28
+ npm-debug.log*
29
+ yarn-debug.log*
30
+ yarn-error.log*
31
+ pnpm-debug.log*
32
+
33
+ # Test coverage
34
+ coverage/
35
+
36
+ # Turbo
37
+ .turbo/
38
+
39
+ # Environment
40
+ .env
41
+ .env.local
42
+ .env.*.local
43
+
44
+ # Temporary files
45
+ tmp/
46
+ temp/
47
+ .cache/
48
+ .run/
49
+
50
+ # Generated Agent state
51
+ .eap/