@kmlckj/licos-ai-cli 0.0.31 → 0.0.32

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.
@@ -31,14 +31,67 @@ bash scripts/http_run.sh -p <%= port %>
31
31
  - `GET /health`
32
32
  - `POST /run`
33
33
  - `POST /stream_run`
34
- - `POST /cancel/{run_id}`
35
- - `POST /node_run/{node_id}`
36
- - `GET /graph_parameter`
37
34
  - `GET /agent/config`
38
- - `GET /agent/canvas`
39
- - `POST /agent/canvas`
40
35
  - `POST /v1/chat/completions`
41
36
 
37
+ `POST /run` 的 Body 是智能体状态输入,常用:
38
+
39
+ ```json
40
+ {
41
+ "input": "请分析这个需求"
42
+ }
43
+ ```
44
+
45
+ 也可以传 OpenAI-style `messages`:
46
+
47
+ ```json
48
+ {
49
+ "messages": [
50
+ {
51
+ "role": "user",
52
+ "content": "请分析这个需求"
53
+ }
54
+ ]
55
+ }
56
+ ```
57
+
58
+ Body 可以同时带 `attachments`、`files`、`references` 等业务字段;运行时会作为图状态传入,具体解释由智能体项目代码决定。
59
+
60
+ `POST /stream_run` 支持 `input` / `messages`,也兼容平台 `content.query.prompt` 包装;文本和附件会归一成智能体图输入,`references` 等业务字段会保留并传给智能体图。`content.query.prompt` 内的 `upload_file` 会从已上传文件 URL 下载到项目附件目录,默认是 `/workspace/projects/assets`,并写入 `attachments` 和 `files`。
61
+
62
+ ```json
63
+ {
64
+ "content": {
65
+ "query": {
66
+ "prompt": [
67
+ {
68
+ "type": "text",
69
+ "content": {
70
+ "text": "请结合附件分析需求"
71
+ }
72
+ },
73
+ {
74
+ "type": "upload_file",
75
+ "content": {
76
+ "upload_file": {
77
+ "file_name": "spec.md",
78
+ "url": "https://files.example.com/spec.md?sign=xxx",
79
+ "mime_type": "text/markdown"
80
+ }
81
+ }
82
+ }
83
+ ]
84
+ }
85
+ },
86
+ "references": [
87
+ {
88
+ "type": "file",
89
+ "path": "docs/spec.md"
90
+ }
91
+ ]
92
+ }
93
+ ```
94
+
42
95
  ## 智能体配置
43
96
 
44
97
  `config/agent_llm_config.json` 是平台预览读取智能体配置和工具列表的来源:
@@ -4,7 +4,7 @@ version = "0.1.0"
4
4
  description = "LICOS LangGraph agent project"
5
5
  requires-python = ">=3.12"
6
6
  dependencies = [
7
- "licos-agent-runtime>=0.2.9",
7
+ "licos-agent-runtime>=0.2.10",
8
8
  ]
9
9
 
10
10
  [tool.uv]
@@ -1 +1 @@
1
- licos-agent-runtime>=0.2.9
1
+ licos-agent-runtime>=0.2.10
@@ -263,8 +263,8 @@ importers:
263
263
  server:
264
264
  dependencies:
265
265
  '@kmlckj/licos-platform-sdk':
266
- specifier: 0.6.2
267
- version: 0.6.2
266
+ specifier: 0.6.3
267
+ version: 0.6.3
268
268
  cors:
269
269
  specifier: ^2.8.5
270
270
  version: 2.8.6
@@ -1321,8 +1321,8 @@ packages:
1321
1321
  '@jridgewell/trace-mapping@0.3.31':
1322
1322
  resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
1323
1323
 
1324
- '@kmlckj/licos-platform-sdk@0.6.2':
1325
- resolution: {integrity: sha512-hnHnSjVpih6Z1DL2kGumql0WV7JClmwX9GulqTxfuNX42JHFbvzTq4xHUXtb37bFtFFMWWHzG7ascQFWrheb4w==}
1324
+ '@kmlckj/licos-platform-sdk@0.6.3':
1325
+ resolution: {integrity: sha512-BzgGAa+ppt2e/LP6053GHpLVXrigyeAV0ZPt73Q6inaJay6tvEMxhSvQitg5wJ8V4uXCAYVCK4gFrGqTAoYODA==}
1326
1326
 
1327
1327
  '@langchain/core@1.1.17':
1328
1328
  resolution: {integrity: sha512-g7/kcKbKEwNZSyyT7aT0utxn7wTOtKErqz0cL6VjrV4v/aOb9g+dKcfj17YkSm42YQmJp/rB2IXGc17vQPEBqA==}
@@ -7562,7 +7562,7 @@ snapshots:
7562
7562
  '@jridgewell/resolve-uri': 3.1.2
7563
7563
  '@jridgewell/sourcemap-codec': 1.5.5
7564
7564
 
7565
- '@kmlckj/licos-platform-sdk@0.6.2': {}
7565
+ '@kmlckj/licos-platform-sdk@0.6.3': {}
7566
7566
 
7567
7567
  '@langchain/core@1.1.17(openai@6.16.0(ws@8.19.0)(zod@4.3.6))':
7568
7568
  dependencies:
@@ -10,7 +10,7 @@
10
10
  "lint": "tsc --noEmit"
11
11
  },
12
12
  "dependencies": {
13
- "@kmlckj/licos-platform-sdk": "0.6.2",
13
+ "@kmlckj/licos-platform-sdk": "0.6.3",
14
14
  "cors": "^2.8.5",
15
15
  "dayjs": "^1.11.19",
16
16
  "dotenv": "^17.2.3",
@@ -1,6 +1,16 @@
1
1
  import type { NextConfig } from 'next';
2
2
 
3
+ function normalizeBasePath(value?: string): string | undefined {
4
+ const trimmed = value?.trim();
5
+ if (!trimmed || trimmed === '/') return undefined;
6
+ return `/${trimmed.replace(/^\/+|\/+$/g, '')}`;
7
+ }
8
+
9
+ const basePath =
10
+ process.env.LICOS_PROJECT_ENV === 'PROD' ? normalizeBasePath(process.env.BASE_PATH) : undefined;
11
+
3
12
  const nextConfig: NextConfig = {
13
+ ...(basePath ? { basePath } : {}),
4
14
  // outputFileTracingRoot: path.resolve(__dirname, '../../'), // Uncomment and add 'import path from "path"' if needed
5
15
  /* config options here */
6
16
  allowedDevOrigins: ['*.dev.licos.local'],
@@ -14,7 +14,7 @@
14
14
  "ts-check": "tsc -p tsconfig.json"
15
15
  },
16
16
  "dependencies": {
17
- "@kmlckj/licos-platform-sdk": "0.6.2",
17
+ "@kmlckj/licos-platform-sdk": "0.6.3",
18
18
  "@aws-sdk/client-s3": "^3.958.0",
19
19
  "@aws-sdk/lib-storage": "^3.958.0",
20
20
  "@hookform/resolvers": "^5.2.2",
@@ -18,8 +18,8 @@ importers:
18
18
  specifier: ^5.2.2
19
19
  version: 5.2.2(react-hook-form@7.71.1(react@19.2.3))
20
20
  '@kmlckj/licos-platform-sdk':
21
- specifier: 0.6.2
22
- version: 0.6.2
21
+ specifier: 0.6.3
22
+ version: 0.6.3
23
23
  '@radix-ui/react-accordion':
24
24
  specifier: ^1.2.12
25
25
  version: 1.2.12(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
@@ -1331,8 +1331,8 @@ packages:
1331
1331
  '@jridgewell/trace-mapping@0.3.31':
1332
1332
  resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
1333
1333
 
1334
- '@kmlckj/licos-platform-sdk@0.6.2':
1335
- resolution: {integrity: sha512-hnHnSjVpih6Z1DL2kGumql0WV7JClmwX9GulqTxfuNX42JHFbvzTq4xHUXtb37bFtFFMWWHzG7ascQFWrheb4w==}
1334
+ '@kmlckj/licos-platform-sdk@0.6.3':
1335
+ resolution: {integrity: sha512-BzgGAa+ppt2e/LP6053GHpLVXrigyeAV0ZPt73Q6inaJay6tvEMxhSvQitg5wJ8V4uXCAYVCK4gFrGqTAoYODA==}
1336
1336
 
1337
1337
  '@modelcontextprotocol/sdk@1.25.3':
1338
1338
  resolution: {integrity: sha512-vsAMBMERybvYgKbg/l4L1rhS7VXV1c0CtyJg72vwxONVX0l4ZfKVAnZEWTQixJGTzKnELjQ59e4NbdFDALRiAQ==}
@@ -7126,7 +7126,7 @@ snapshots:
7126
7126
  '@jridgewell/resolve-uri': 3.1.2
7127
7127
  '@jridgewell/sourcemap-codec': 1.5.5
7128
7128
 
7129
- '@kmlckj/licos-platform-sdk@0.6.2': {}
7129
+ '@kmlckj/licos-platform-sdk@0.6.3': {}
7130
7130
 
7131
7131
  '@modelcontextprotocol/sdk@1.25.3(@cfworker/json-schema@4.1.1)(hono@4.11.7)(zod@3.25.76)':
7132
7132
  dependencies:
@@ -5,6 +5,12 @@ import { dirname, resolve } from 'path';
5
5
  const __filename = fileURLToPath(import.meta.url);
6
6
  const __dirname = dirname(__filename);
7
7
 
8
+ function normalizeBaseURL(value?: string): string {
9
+ const trimmed = value?.trim();
10
+ if (!trimmed || trimmed === '/') return '/';
11
+ return `/${trimmed.replace(/^\/+|\/+$/g, '')}/`;
12
+ }
13
+
8
14
  export default defineNuxtConfig({
9
15
  compatibilityDate: '2025-07-15',
10
16
  // Disable devtools in CI/test environments (prevents hanging in headless mode)
@@ -15,6 +21,8 @@ export default defineNuxtConfig({
15
21
 
16
22
  // App head configuration
17
23
  app: {
24
+ baseURL:
25
+ process.env.LICOS_PROJECT_ENV === 'PROD' ? normalizeBaseURL(process.env.BASE_PATH) : '/',
18
26
  head: {
19
27
  title: '新应用 | LICOS AI',
20
28
  titleTemplate: '%s | LICOS AI',
@@ -17,7 +17,7 @@
17
17
  "start": "bash ./scripts/start.sh"
18
18
  },
19
19
  "dependencies": {
20
- "@kmlckj/licos-platform-sdk": "0.6.2",
20
+ "@kmlckj/licos-platform-sdk": "0.6.3",
21
21
  "@nuxt/image": "^1.8.1",
22
22
  "nuxt": "^4.3.1",
23
23
  "tailwind-merge": "^2.6.0",
@@ -9,8 +9,8 @@ importers:
9
9
  .:
10
10
  dependencies:
11
11
  '@kmlckj/licos-platform-sdk':
12
- specifier: 0.6.2
13
- version: 0.6.2
12
+ specifier: 0.6.3
13
+ version: 0.6.3
14
14
  '@nuxt/image':
15
15
  specifier: ^1.8.1
16
16
  version: 1.11.0(db0@0.3.4)(ioredis@5.10.0)(magicast@0.5.2)
@@ -411,8 +411,8 @@ packages:
411
411
  '@jridgewell/trace-mapping@0.3.31':
412
412
  resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
413
413
 
414
- '@kmlckj/licos-platform-sdk@0.6.2':
415
- resolution: {integrity: sha512-hnHnSjVpih6Z1DL2kGumql0WV7JClmwX9GulqTxfuNX42JHFbvzTq4xHUXtb37bFtFFMWWHzG7ascQFWrheb4w==}
414
+ '@kmlckj/licos-platform-sdk@0.6.3':
415
+ resolution: {integrity: sha512-BzgGAa+ppt2e/LP6053GHpLVXrigyeAV0ZPt73Q6inaJay6tvEMxhSvQitg5wJ8V4uXCAYVCK4gFrGqTAoYODA==}
416
416
 
417
417
  '@koa/router@12.0.2':
418
418
  resolution: {integrity: sha512-sYcHglGKTxGF+hQ6x67xDfkE9o+NhVlRHBqq6gLywaMc6CojK/5vFZByphdonKinYlMLkEkacm+HEse9HzwgTA==}
@@ -4326,7 +4326,7 @@ snapshots:
4326
4326
  '@jridgewell/resolve-uri': 3.1.2
4327
4327
  '@jridgewell/sourcemap-codec': 1.5.5
4328
4328
 
4329
- '@kmlckj/licos-platform-sdk@0.6.2': {}
4329
+ '@kmlckj/licos-platform-sdk@0.6.3': {}
4330
4330
 
4331
4331
  '@koa/router@12.0.2':
4332
4332
  dependencies:
@@ -186,8 +186,8 @@ importers:
186
186
  specifier: ^3.958.0
187
187
  version: 3.972.0(@aws-sdk/client-s3@3.972.0)
188
188
  '@kmlckj/licos-platform-sdk':
189
- specifier: 0.6.2
190
- version: 0.6.2
189
+ specifier: 0.6.3
190
+ version: 0.6.3
191
191
  '@nestjs/common':
192
192
  specifier: ^10.4.15
193
193
  version: 10.4.20(reflect-metadata@0.2.2)(rxjs@7.8.2)
@@ -3086,8 +3086,8 @@ packages:
3086
3086
  '@keyv/serialize@1.1.1':
3087
3087
  resolution: {integrity: sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==}
3088
3088
 
3089
- '@kmlckj/licos-platform-sdk@0.6.2':
3090
- resolution: {integrity: sha512-hnHnSjVpih6Z1DL2kGumql0WV7JClmwX9GulqTxfuNX42JHFbvzTq4xHUXtb37bFtFFMWWHzG7ascQFWrheb4w==}
3089
+ '@kmlckj/licos-platform-sdk@0.6.3':
3090
+ resolution: {integrity: sha512-BzgGAa+ppt2e/LP6053GHpLVXrigyeAV0ZPt73Q6inaJay6tvEMxhSvQitg5wJ8V4uXCAYVCK4gFrGqTAoYODA==}
3091
3091
 
3092
3092
  '@leejim/wxml-parser@0.1.6':
3093
3093
  resolution: {integrity: sha512-1u4ULGK4GKkWhTlc3Hmac8PknrmpGd7qxZOTnT/Bm6EZ/wtonLgFhJ4vyuiUZpeCptnknOLkRpGx2Um9npwdZw==}
@@ -14089,7 +14089,7 @@ snapshots:
14089
14089
 
14090
14090
  '@keyv/serialize@1.1.1': {}
14091
14091
 
14092
- '@kmlckj/licos-platform-sdk@0.6.2': {}
14092
+ '@kmlckj/licos-platform-sdk@0.6.3': {}
14093
14093
 
14094
14094
  '@leejim/wxml-parser@0.1.6': {}
14095
14095
 
@@ -11,7 +11,7 @@
11
11
  "start:prod": "node dist/main"
12
12
  },
13
13
  "dependencies": {
14
- "@kmlckj/licos-platform-sdk": "0.6.2",
14
+ "@kmlckj/licos-platform-sdk": "0.6.3",
15
15
  "@aws-sdk/client-s3": "^3.958.0",
16
16
  "@aws-sdk/lib-storage": "^3.958.0",
17
17
  "@nestjs/common": "^10.4.15",
@@ -14,7 +14,7 @@
14
14
  "ts-check": "tsc -p tsconfig.json"
15
15
  },
16
16
  "dependencies": {
17
- "@kmlckj/licos-platform-sdk": "0.6.2",
17
+ "@kmlckj/licos-platform-sdk": "0.6.3",
18
18
  "dotenv": "^17.2.3",
19
19
  "express": "^4.21.2"
20
20
  },
@@ -13,8 +13,8 @@ importers:
13
13
  .:
14
14
  dependencies:
15
15
  '@kmlckj/licos-platform-sdk':
16
- specifier: 0.6.2
17
- version: 0.6.2
16
+ specifier: 0.6.3
17
+ version: 0.6.3
18
18
  dotenv:
19
19
  specifier: ^17.2.3
20
20
  version: 17.2.4
@@ -288,8 +288,8 @@ packages:
288
288
  '@jridgewell/trace-mapping@0.3.31':
289
289
  resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
290
290
 
291
- '@kmlckj/licos-platform-sdk@0.6.2':
292
- resolution: {integrity: sha512-hnHnSjVpih6Z1DL2kGumql0WV7JClmwX9GulqTxfuNX42JHFbvzTq4xHUXtb37bFtFFMWWHzG7ascQFWrheb4w==}
291
+ '@kmlckj/licos-platform-sdk@0.6.3':
292
+ resolution: {integrity: sha512-BzgGAa+ppt2e/LP6053GHpLVXrigyeAV0ZPt73Q6inaJay6tvEMxhSvQitg5wJ8V4uXCAYVCK4gFrGqTAoYODA==}
293
293
 
294
294
  '@nodelib/fs.scandir@2.1.5':
295
295
  resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
@@ -1704,7 +1704,7 @@ snapshots:
1704
1704
  '@jridgewell/resolve-uri': 3.1.2
1705
1705
  '@jridgewell/sourcemap-codec': 1.5.5
1706
1706
 
1707
- '@kmlckj/licos-platform-sdk@0.6.2': {}
1707
+ '@kmlckj/licos-platform-sdk@0.6.3': {}
1708
1708
 
1709
1709
  '@nodelib/fs.scandir@2.1.5':
1710
1710
  dependencies:
@@ -1,6 +1,13 @@
1
1
  import { defineConfig } from 'vite';
2
2
 
3
+ function normalizeBasePath(value?: string): string {
4
+ const trimmed = value?.trim();
5
+ if (!trimmed || trimmed === '/') return '/';
6
+ return `/${trimmed.replace(/^\/+|\/+$/g, '')}/`;
7
+ }
8
+
3
9
  export default defineConfig({
10
+ base: process.env.LICOS_PROJECT_ENV === 'PROD' ? normalizeBasePath(process.env.BASE_PATH) : '/',
4
11
  server: {
5
12
  port: <%= port %>,
6
13
  host: '0.0.0.0',
@@ -38,7 +38,17 @@ bash scripts/http_run.sh -p <%= port %>
38
38
  - `POST /v1/api/project/{project_id}/agent/canvas`
39
39
  - `POST /v1/api/project/{project_id}/agent/canvas_submit`
40
40
 
41
- `POST /stream_run` 使用工作流流式协议,事件类型包括 `workflow_start`、`workflow_end`、`node_start`、`node_end`、`error`、`ping`。
41
+ `POST /run` 和 `POST /stream_run` Body 必须匹配工作流输入 schema。模板默认输入是:
42
+
43
+ ```json
44
+ {
45
+ "topic": "AI 新闻热点"
46
+ }
47
+ ```
48
+
49
+ 工作流不会把智能体的 `messages` 或平台 `content.query.prompt` 自动转换成图输入;前端应先调用 `/graph_parameter` 获取 schema,再按 schema 组装 Body。
50
+
51
+ `POST /stream_run` 使用工作流流式协议,事件类型包括 `workflow_start`、`workflow_end`、`error`、`ping`;请求头 `X-Workflow-Stream-Mode: debug` 会额外输出 `node_start`、`node_end`。
42
52
 
43
53
  `/agent/canvas` 返回工作流画布结构,`/agent/canvas_submit` 接收前端编辑后的 `after_canvas` 并生成给 Agent 执行源码修改的 `QueryDiff` 文本。
44
54
 
@@ -4,7 +4,7 @@ version = "0.1.0"
4
4
  description = "LICOS LangGraph workflow project"
5
5
  requires-python = ">=3.12"
6
6
  dependencies = [
7
- "licos-agent-runtime>=0.2.9",
7
+ "licos-agent-runtime>=0.2.10",
8
8
  ]
9
9
 
10
10
  [tool.uv]
@@ -1 +1 @@
1
- licos-agent-runtime>=0.2.9
1
+ licos-agent-runtime>=0.2.10
package/lib/cli.js CHANGED
@@ -2109,7 +2109,7 @@ const EventBuilder = {
2109
2109
  };
2110
2110
 
2111
2111
  var name = "@kmlckj/licos-ai-cli";
2112
- var version = "0.0.31";
2112
+ var version = "0.0.32";
2113
2113
  var description = "LICOS AI coding workspace CLI - project template engine and dev tools";
2114
2114
  var license = "MIT";
2115
2115
  var author = "kmlckj";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kmlckj/licos-ai-cli",
3
- "version": "0.0.31",
3
+ "version": "0.0.32",
4
4
  "description": "LICOS AI coding workspace CLI - project template engine and dev tools",
5
5
  "license": "MIT",
6
6
  "author": "kmlckj",