@gt-fe/eap-cli 0.2.9 → 0.2.11
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/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +0 -6
- package/dist/commands/login.js.map +1 -1
- package/dist/static/playground/index.html +131 -131
- package/dist/static/playground/playground.css +209 -209
- package/dist/static/playground/playground.js +151 -151
- package/dist/static/playground-app/index.html +11 -11
- package/dist/templates/agent-api-orchestration/.env +16 -16
- package/dist/templates/agent-api-orchestration/agent.manifest.json +19 -19
- package/dist/templates/agent-api-orchestration/eap.config.json +1 -1
- package/dist/templates/agent-api-orchestration/eap.lock.yaml +5 -5
- package/dist/templates/agent-api-orchestration/gitignore +3 -3
- package/dist/templates/agent-api-orchestration/package.json +1 -1
- package/dist/templates/agent-api-orchestration/scripts/api-test.mjs +443 -443
- package/dist/templates/agent-api-orchestration/scripts/build-runtime.mjs +26 -26
- package/dist/templates/agent-api-orchestration/scripts/validate.mjs +12 -12
- package/dist/templates/agent-api-orchestration/src/embedded-agent.ts +91 -91
- package/dist/templates/agent-api-orchestration/src/http/app.ts +58 -58
- package/dist/templates/agent-api-orchestration/src/http/config.ts +34 -34
- package/dist/templates/agent-api-orchestration/src/http/errors.ts +63 -63
- package/dist/templates/agent-api-orchestration/src/http/index.ts +4 -4
- package/dist/templates/agent-api-orchestration/src/http/middleware/cors.ts +17 -17
- package/dist/templates/agent-api-orchestration/src/http/routes/agent.ts +33 -33
- package/dist/templates/agent-api-orchestration/src/http/routes/health.ts +15 -15
- package/dist/templates/agent-api-orchestration/src/http/routes/invocations.ts +29 -29
- package/dist/templates/agent-api-orchestration/src/http/routes/sessions.ts +70 -70
- package/dist/templates/agent-api-orchestration/src/http/services/agent-service.ts +60 -60
- package/dist/templates/agent-api-orchestration/src/http/services/resource-service.ts +95 -95
- package/dist/templates/agent-api-orchestration/src/http/shared/request.ts +82 -82
- package/dist/templates/agent-api-orchestration/src/http/shared/sse.ts +32 -32
- package/dist/templates/agent-api-orchestration/src/http/types.ts +39 -39
- package/dist/templates/agent-api-orchestration/src/index.ts +91 -91
- package/dist/templates/agent-api-orchestration/src/platform-user.ts +36 -36
- package/dist/templates/agent-api-orchestration/src/project-config.ts +45 -45
- package/dist/templates/agent-api-orchestration/tsconfig.json +15 -15
- package/dist/templates/dag-workflow/eap.config.json +1 -1
- package/dist/templates/dag-workflow/eap.lock.yaml +5 -5
- package/dist/templates/dag-workflow/package.json +10 -10
- package/dist/templates/plan-and-execute/eap.config.json +1 -1
- package/dist/templates/plan-and-execute/eap.lock.yaml +1 -5
- package/dist/templates/plan-and-execute/graph.json +0 -1
- package/dist/templates/plan-and-execute/package.json +10 -10
- package/dist/templates/plan-and-execute/tools/echo-tool/src/index.js +17 -17
- package/dist/templates/plan-and-execute/tools/echo-tool/toolset.manifest.json +55 -55
- package/dist/templates/simple-flow/eap.config.json +1 -1
- package/dist/templates/simple-flow/eap.lock.yaml +5 -5
- package/dist/templates/single-agent-with-tools/eap.config.json +1 -1
- package/dist/templates/single-agent-with-tools/eap.lock.yaml +1 -9
- package/dist/templates/single-agent-with-tools/package.json +10 -10
- package/dist/templates/single-agent-with-tools/tools/echo-tool/src/index.js +17 -17
- package/dist/templates/single-agent-with-tools/tools/echo-tool/toolset.manifest.json +55 -55
- package/package.json +3 -3
|
@@ -1,151 +1,151 @@
|
|
|
1
|
-
const $ = (id) => document.getElementById(id);
|
|
2
|
-
const defaultSessionId = () => {
|
|
3
|
-
if (globalThis.crypto?.randomUUID) return globalThis.crypto.randomUUID();
|
|
4
|
-
return 'session-' + Math.random().toString(16).slice(2) + Date.now().toString(16);
|
|
5
|
-
};
|
|
6
|
-
|
|
7
|
-
function setText(id, text) {
|
|
8
|
-
$(id).textContent = text;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
function setJson(id, value) {
|
|
12
|
-
$(id).textContent = JSON.stringify(value, null, 2);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
function setBusy(isBusy, message) {
|
|
16
|
-
$('run').disabled = isBusy;
|
|
17
|
-
$('stream').disabled = isBusy;
|
|
18
|
-
setText('outputMeta', message);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
function markLogin(loggedIn, label) {
|
|
22
|
-
const dot = $('loginDot');
|
|
23
|
-
dot.classList.toggle('ok', loggedIn);
|
|
24
|
-
dot.classList.toggle('error', !loggedIn);
|
|
25
|
-
setText('loginStatus', label);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
function showMeta(meta) {
|
|
29
|
-
if (meta?.executionContext) {
|
|
30
|
-
setJson('state', meta.executionContext);
|
|
31
|
-
}
|
|
32
|
-
if (meta?.trace) {
|
|
33
|
-
setJson('trace', meta.trace);
|
|
34
|
-
if (meta.trace.traceUrl) {
|
|
35
|
-
$('traceSummary').innerHTML = '<a class="trace-link" href="' + meta.trace.traceUrl + '" target="_blank" rel="noreferrer">打开追踪</a>';
|
|
36
|
-
} else {
|
|
37
|
-
setText('traceSummary', '暂无追踪链接');
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
setJson('token', meta?.tokenUsage ?? null);
|
|
41
|
-
setText('correlationSummary', meta?.correlationId ?? '-');
|
|
42
|
-
setText('sessionSummary', meta?.sessionId ?? $('sessionId').value ?? '-');
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
async function loadContext() {
|
|
46
|
-
try {
|
|
47
|
-
const res = await fetch('/api/context');
|
|
48
|
-
const data = await res.json();
|
|
49
|
-
setJson('state', {
|
|
50
|
-
executionContext: data.executionContext ?? { error: '未登录' },
|
|
51
|
-
toolMode: data.toolMode,
|
|
52
|
-
});
|
|
53
|
-
setText('toolMode', data.toolMode ?? '-');
|
|
54
|
-
markLogin(Boolean(data.loggedIn), data.loggedIn ? '已登录' : '未登录');
|
|
55
|
-
} catch (e) {
|
|
56
|
-
markLogin(false, '上下文加载失败');
|
|
57
|
-
setText('state', String(e));
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
async function loadGraph() {
|
|
62
|
-
try {
|
|
63
|
-
const res = await fetch('/api/graph');
|
|
64
|
-
const data = await res.json();
|
|
65
|
-
setText('graph', data.content ?? JSON.stringify(data, null, 2));
|
|
66
|
-
setText('graphMeta', data.file ? '已加载 ' + data.file : '当前项目未找到 Graph 文件。');
|
|
67
|
-
} catch (e) {
|
|
68
|
-
setText('graphMeta', 'Graph 加载失败。');
|
|
69
|
-
setText('graph', String(e));
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
async function refreshDiagnostics() {
|
|
74
|
-
await Promise.all([loadContext(), loadGraph()]);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
async function runInvoke() {
|
|
78
|
-
const agentCode = $('agentCode').value.trim() || 'demo-agent';
|
|
79
|
-
const input = $('input').value;
|
|
80
|
-
const sessionId = $('sessionId').value.trim() || defaultSessionId();
|
|
81
|
-
$('sessionId').value = sessionId;
|
|
82
|
-
setBusy(true, '正在调用 ' + agentCode + '...');
|
|
83
|
-
setText('output', '运行中...');
|
|
84
|
-
try {
|
|
85
|
-
const res = await fetch('/api/invoke', {
|
|
86
|
-
method: 'POST',
|
|
87
|
-
headers: { 'Content-Type': 'application/json' },
|
|
88
|
-
body: JSON.stringify({ agentCode, input, sessionId }),
|
|
89
|
-
});
|
|
90
|
-
const data = await res.json();
|
|
91
|
-
setJson('output', data.runtime ?? data);
|
|
92
|
-
if (data.meta) showMeta(data.meta);
|
|
93
|
-
setBusy(false, '调用完成,HTTP ' + res.status + '。');
|
|
94
|
-
} catch (e) {
|
|
95
|
-
setText('output', String(e));
|
|
96
|
-
setBusy(false, '调用失败。');
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
async function runStream() {
|
|
101
|
-
const agentCode = $('agentCode').value.trim() || 'demo-agent';
|
|
102
|
-
const input = $('input').value;
|
|
103
|
-
const sessionId = $('sessionId').value.trim() || defaultSessionId();
|
|
104
|
-
$('sessionId').value = sessionId;
|
|
105
|
-
setBusy(true, '正在从 ' + agentCode + ' 接收流式响应...');
|
|
106
|
-
setText('output', '流式响应中...\\n');
|
|
107
|
-
try {
|
|
108
|
-
const res = await fetch('/api/stream', {
|
|
109
|
-
method: 'POST',
|
|
110
|
-
headers: { 'Content-Type': 'application/json' },
|
|
111
|
-
body: JSON.stringify({ agentCode, input, sessionId }),
|
|
112
|
-
});
|
|
113
|
-
if (!res.body) {
|
|
114
|
-
setBusy(false, '流式响应没有返回 body。');
|
|
115
|
-
return;
|
|
116
|
-
}
|
|
117
|
-
const reader = res.body.getReader();
|
|
118
|
-
const dec = new TextDecoder();
|
|
119
|
-
while (true) {
|
|
120
|
-
const { done, value } = await reader.read();
|
|
121
|
-
if (done) break;
|
|
122
|
-
$('output').textContent += dec.decode(value);
|
|
123
|
-
}
|
|
124
|
-
setBusy(false, '流式调用完成,HTTP ' + res.status + '。');
|
|
125
|
-
} catch (e) {
|
|
126
|
-
$('output').textContent += String(e);
|
|
127
|
-
setBusy(false, '流式调用失败。');
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
$('sessionId').value = defaultSessionId();
|
|
132
|
-
$('newSession').onclick = () => {
|
|
133
|
-
$('sessionId').value = defaultSessionId();
|
|
134
|
-
setText('sessionSummary', $('sessionId').value);
|
|
135
|
-
};
|
|
136
|
-
$('run').onclick = runInvoke;
|
|
137
|
-
$('stream').onclick = runStream;
|
|
138
|
-
$('clearOutput').onclick = () => {
|
|
139
|
-
setText('output', '就绪。');
|
|
140
|
-
setText('outputMeta', '空闲,已准备好调用本地 Agent。');
|
|
141
|
-
};
|
|
142
|
-
$('copyOutput').onclick = async () => {
|
|
143
|
-
try {
|
|
144
|
-
await navigator.clipboard.writeText($('output').textContent);
|
|
145
|
-
setText('outputMeta', '输出已复制到剪贴板。');
|
|
146
|
-
} catch (e) {
|
|
147
|
-
setText('outputMeta', '复制到剪贴板失败:' + String(e));
|
|
148
|
-
}
|
|
149
|
-
};
|
|
150
|
-
$('refreshContext').onclick = refreshDiagnostics;
|
|
151
|
-
refreshDiagnostics();
|
|
1
|
+
const $ = (id) => document.getElementById(id);
|
|
2
|
+
const defaultSessionId = () => {
|
|
3
|
+
if (globalThis.crypto?.randomUUID) return globalThis.crypto.randomUUID();
|
|
4
|
+
return 'session-' + Math.random().toString(16).slice(2) + Date.now().toString(16);
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
function setText(id, text) {
|
|
8
|
+
$(id).textContent = text;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
function setJson(id, value) {
|
|
12
|
+
$(id).textContent = JSON.stringify(value, null, 2);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
function setBusy(isBusy, message) {
|
|
16
|
+
$('run').disabled = isBusy;
|
|
17
|
+
$('stream').disabled = isBusy;
|
|
18
|
+
setText('outputMeta', message);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function markLogin(loggedIn, label) {
|
|
22
|
+
const dot = $('loginDot');
|
|
23
|
+
dot.classList.toggle('ok', loggedIn);
|
|
24
|
+
dot.classList.toggle('error', !loggedIn);
|
|
25
|
+
setText('loginStatus', label);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function showMeta(meta) {
|
|
29
|
+
if (meta?.executionContext) {
|
|
30
|
+
setJson('state', meta.executionContext);
|
|
31
|
+
}
|
|
32
|
+
if (meta?.trace) {
|
|
33
|
+
setJson('trace', meta.trace);
|
|
34
|
+
if (meta.trace.traceUrl) {
|
|
35
|
+
$('traceSummary').innerHTML = '<a class="trace-link" href="' + meta.trace.traceUrl + '" target="_blank" rel="noreferrer">打开追踪</a>';
|
|
36
|
+
} else {
|
|
37
|
+
setText('traceSummary', '暂无追踪链接');
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
setJson('token', meta?.tokenUsage ?? null);
|
|
41
|
+
setText('correlationSummary', meta?.correlationId ?? '-');
|
|
42
|
+
setText('sessionSummary', meta?.sessionId ?? $('sessionId').value ?? '-');
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
async function loadContext() {
|
|
46
|
+
try {
|
|
47
|
+
const res = await fetch('/api/context');
|
|
48
|
+
const data = await res.json();
|
|
49
|
+
setJson('state', {
|
|
50
|
+
executionContext: data.executionContext ?? { error: '未登录' },
|
|
51
|
+
toolMode: data.toolMode,
|
|
52
|
+
});
|
|
53
|
+
setText('toolMode', data.toolMode ?? '-');
|
|
54
|
+
markLogin(Boolean(data.loggedIn), data.loggedIn ? '已登录' : '未登录');
|
|
55
|
+
} catch (e) {
|
|
56
|
+
markLogin(false, '上下文加载失败');
|
|
57
|
+
setText('state', String(e));
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
async function loadGraph() {
|
|
62
|
+
try {
|
|
63
|
+
const res = await fetch('/api/graph');
|
|
64
|
+
const data = await res.json();
|
|
65
|
+
setText('graph', data.content ?? JSON.stringify(data, null, 2));
|
|
66
|
+
setText('graphMeta', data.file ? '已加载 ' + data.file : '当前项目未找到 Graph 文件。');
|
|
67
|
+
} catch (e) {
|
|
68
|
+
setText('graphMeta', 'Graph 加载失败。');
|
|
69
|
+
setText('graph', String(e));
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
async function refreshDiagnostics() {
|
|
74
|
+
await Promise.all([loadContext(), loadGraph()]);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
async function runInvoke() {
|
|
78
|
+
const agentCode = $('agentCode').value.trim() || 'demo-agent';
|
|
79
|
+
const input = $('input').value;
|
|
80
|
+
const sessionId = $('sessionId').value.trim() || defaultSessionId();
|
|
81
|
+
$('sessionId').value = sessionId;
|
|
82
|
+
setBusy(true, '正在调用 ' + agentCode + '...');
|
|
83
|
+
setText('output', '运行中...');
|
|
84
|
+
try {
|
|
85
|
+
const res = await fetch('/api/invoke', {
|
|
86
|
+
method: 'POST',
|
|
87
|
+
headers: { 'Content-Type': 'application/json' },
|
|
88
|
+
body: JSON.stringify({ agentCode, input, sessionId }),
|
|
89
|
+
});
|
|
90
|
+
const data = await res.json();
|
|
91
|
+
setJson('output', data.runtime ?? data);
|
|
92
|
+
if (data.meta) showMeta(data.meta);
|
|
93
|
+
setBusy(false, '调用完成,HTTP ' + res.status + '。');
|
|
94
|
+
} catch (e) {
|
|
95
|
+
setText('output', String(e));
|
|
96
|
+
setBusy(false, '调用失败。');
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
async function runStream() {
|
|
101
|
+
const agentCode = $('agentCode').value.trim() || 'demo-agent';
|
|
102
|
+
const input = $('input').value;
|
|
103
|
+
const sessionId = $('sessionId').value.trim() || defaultSessionId();
|
|
104
|
+
$('sessionId').value = sessionId;
|
|
105
|
+
setBusy(true, '正在从 ' + agentCode + ' 接收流式响应...');
|
|
106
|
+
setText('output', '流式响应中...\\n');
|
|
107
|
+
try {
|
|
108
|
+
const res = await fetch('/api/stream', {
|
|
109
|
+
method: 'POST',
|
|
110
|
+
headers: { 'Content-Type': 'application/json' },
|
|
111
|
+
body: JSON.stringify({ agentCode, input, sessionId }),
|
|
112
|
+
});
|
|
113
|
+
if (!res.body) {
|
|
114
|
+
setBusy(false, '流式响应没有返回 body。');
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
const reader = res.body.getReader();
|
|
118
|
+
const dec = new TextDecoder();
|
|
119
|
+
while (true) {
|
|
120
|
+
const { done, value } = await reader.read();
|
|
121
|
+
if (done) break;
|
|
122
|
+
$('output').textContent += dec.decode(value);
|
|
123
|
+
}
|
|
124
|
+
setBusy(false, '流式调用完成,HTTP ' + res.status + '。');
|
|
125
|
+
} catch (e) {
|
|
126
|
+
$('output').textContent += String(e);
|
|
127
|
+
setBusy(false, '流式调用失败。');
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
$('sessionId').value = defaultSessionId();
|
|
132
|
+
$('newSession').onclick = () => {
|
|
133
|
+
$('sessionId').value = defaultSessionId();
|
|
134
|
+
setText('sessionSummary', $('sessionId').value);
|
|
135
|
+
};
|
|
136
|
+
$('run').onclick = runInvoke;
|
|
137
|
+
$('stream').onclick = runStream;
|
|
138
|
+
$('clearOutput').onclick = () => {
|
|
139
|
+
setText('output', '就绪。');
|
|
140
|
+
setText('outputMeta', '空闲,已准备好调用本地 Agent。');
|
|
141
|
+
};
|
|
142
|
+
$('copyOutput').onclick = async () => {
|
|
143
|
+
try {
|
|
144
|
+
await navigator.clipboard.writeText($('output').textContent);
|
|
145
|
+
setText('outputMeta', '输出已复制到剪贴板。');
|
|
146
|
+
} catch (e) {
|
|
147
|
+
setText('outputMeta', '复制到剪贴板失败:' + String(e));
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
$('refreshContext').onclick = refreshDiagnostics;
|
|
151
|
+
refreshDiagnostics();
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="zh-CN">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8" />
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
-
<title>EAP Playground</title>
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="zh-CN">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<title>EAP Playground</title>
|
|
7
7
|
<script type="module" crossorigin src="/playground/app/assets/index-CjAzCUkk.js"></script>
|
|
8
8
|
<link rel="stylesheet" crossorigin href="/playground/app/assets/index-Bg09N-Dc.css">
|
|
9
|
-
</head>
|
|
10
|
-
<body>
|
|
11
|
-
<div id="playground-root"></div>
|
|
12
|
-
</body>
|
|
13
|
-
</html>
|
|
9
|
+
</head>
|
|
10
|
+
<body>
|
|
11
|
+
<div id="playground-root"></div>
|
|
12
|
+
</body>
|
|
13
|
+
</html>
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
# 演示模板统一环境变量(npm run dev / npm run build / npm start)。
|
|
2
|
-
#
|
|
3
|
-
# EAP_RUNTIME_ROOT 是相对后缀:dev 以项目根为基准物化到 .eap/runtime,
|
|
4
|
-
# 生产构建以 dist 为基准物化到 dist/.eap/runtime,由 scripts/build-runtime.mjs 的 --dev 决定。
|
|
5
|
-
EAP_RUNTIME_ROOT=.eap/runtime
|
|
6
|
-
|
|
7
|
-
# 本地演示 Token 回退;生产宿主应改用 createEmbeddedAgent({ credentialProvider }) 显式注入。
|
|
8
|
-
EAP_SDK_TOKEN=replace-with-external-sdk-token
|
|
9
|
-
|
|
10
|
-
# HTTP 服务监听。生产建议由反向代理负责 TLS、限流与请求日志脱敏,
|
|
11
|
-
# 并按需改为 EAP_HTTP_HOST=0.0.0.0 / 线上 CORS 源。
|
|
12
|
-
EAP_HTTP_HOST=127.0.0.1
|
|
13
|
-
EAP_HTTP_PORT=3000
|
|
14
|
-
EAP_HTTP_CORS_ORIGIN=http://localhost:5173
|
|
15
|
-
# 单次 JSON 请求体上限(字节)。
|
|
16
|
-
EAP_HTTP_MAX_BODY_BYTES=1048576
|
|
1
|
+
# 演示模板统一环境变量(npm run dev / npm run build / npm start)。
|
|
2
|
+
#
|
|
3
|
+
# EAP_RUNTIME_ROOT 是相对后缀:dev 以项目根为基准物化到 .eap/runtime,
|
|
4
|
+
# 生产构建以 dist 为基准物化到 dist/.eap/runtime,由 scripts/build-runtime.mjs 的 --dev 决定。
|
|
5
|
+
EAP_RUNTIME_ROOT=.eap/runtime
|
|
6
|
+
|
|
7
|
+
# 本地演示 Token 回退;生产宿主应改用 createEmbeddedAgent({ credentialProvider }) 显式注入。
|
|
8
|
+
EAP_SDK_TOKEN=replace-with-external-sdk-token
|
|
9
|
+
|
|
10
|
+
# HTTP 服务监听。生产建议由反向代理负责 TLS、限流与请求日志脱敏,
|
|
11
|
+
# 并按需改为 EAP_HTTP_HOST=0.0.0.0 / 线上 CORS 源。
|
|
12
|
+
EAP_HTTP_HOST=127.0.0.1
|
|
13
|
+
EAP_HTTP_PORT=3000
|
|
14
|
+
EAP_HTTP_CORS_ORIGIN=http://localhost:5173
|
|
15
|
+
# 单次 JSON 请求体上限(字节)。
|
|
16
|
+
EAP_HTTP_MAX_BODY_BYTES=1048576
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
{
|
|
2
|
-
"code": "my-agent",
|
|
3
|
-
"name": "my-agent",
|
|
4
|
-
"version": "1.0.0",
|
|
5
|
-
"description": "通过 Agent API 编排 Runtime 行为",
|
|
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-api-orchestration-template",
|
|
17
|
-
"tags": ["agent-api", "orchestration", "embedded-runtime"]
|
|
18
|
-
}
|
|
19
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"code": "my-agent",
|
|
3
|
+
"name": "my-agent",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"description": "通过 Agent API 编排 Runtime 行为",
|
|
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-api-orchestration-template",
|
|
17
|
+
"tags": ["agent-api", "orchestration", "embedded-runtime"]
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
lockfileVersion: 2
|
|
2
|
-
resources:
|
|
3
|
-
tools: []
|
|
4
|
-
skills: []
|
|
5
|
-
subagents: []
|
|
1
|
+
lockfileVersion: 2
|
|
2
|
+
resources:
|
|
3
|
+
tools: []
|
|
4
|
+
skills: []
|
|
5
|
+
subagents: []
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
node_modules/
|
|
2
|
-
dist/
|
|
3
|
-
.eap/
|
|
1
|
+
node_modules/
|
|
2
|
+
dist/
|
|
3
|
+
.eap/
|