@kmlckj/licos-ai-cli 1.5.1 → 1.6.1
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/lib/__templates__/agent/AGENTS.md +9 -0
- package/lib/__templates__/agent/pyproject.toml +3 -3
- package/lib/__templates__/agent/requirements.txt +3 -3
- package/lib/__templates__/expo/AGENTS.md +9 -0
- package/lib/__templates__/expo/pnpm-lock.yaml +10 -10
- package/lib/__templates__/expo/server/package.json +2 -2
- package/lib/__templates__/nextjs/AGENTS.md +9 -0
- package/lib/__templates__/nextjs/package.json +2 -2
- package/lib/__templates__/nextjs/pnpm-lock.yaml +10 -10
- package/lib/__templates__/nuxt-vue/AGENTS.md +9 -0
- package/lib/__templates__/nuxt-vue/package.json +2 -2
- package/lib/__templates__/nuxt-vue/pnpm-lock.yaml +10 -10
- package/lib/__templates__/taro/AGENTS.md +9 -0
- package/lib/__templates__/taro/pnpm-lock.yaml +10 -10
- package/lib/__templates__/taro/server/package.json +2 -2
- package/lib/__templates__/vite/AGENTS.md +9 -0
- package/lib/__templates__/vite/package.json +2 -2
- package/lib/__templates__/vite/pnpm-lock.yaml +10 -10
- package/lib/__templates__/workflow/AGENTS.md +44 -35
- package/lib/__templates__/workflow/pyproject.toml +3 -3
- package/lib/__templates__/workflow/requirements.txt +3 -3
- package/package.json +1 -1
|
@@ -38,3 +38,12 @@
|
|
|
38
38
|
- 顶层 `harness` 配置计划、上下文预算、执行上限、工具禁用/确认和结果校验。需要持久历史时先确认用户需求,由 Agent 查看本项目数据库 Schema,按需求用 `licos-platform database` CLI 动态迁移,再在本项目代码中通过 `licos_platform_sdk.database` 按认证用户和会话隔离读写;默认不建历史表。
|
|
39
39
|
- 输入支持 `input`、多轮 `messages`、`event` 及组合,保留附件和多模态内容。
|
|
40
40
|
- `tests/agent_cases.json` 维护可重复的输入及业务工具验收;生成或修改后对已有预览执行 `bash scripts/runtime.sh -m verify`,失败则修复后重验。
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
## 平台调用身份
|
|
44
|
+
|
|
45
|
+
- `LICOS_CURRENT_USER_ID` 仅表示容器初始化用户,不能作为网页登录身份。
|
|
46
|
+
- 当前用户信息、企业知识库、本体搜索/调用/订阅必须显式传本次用户 Token(Node `userToken` / Python `user_token`)。Token 失效直接返回鉴权错误,不换成容器用户。
|
|
47
|
+
- 普通知识库、模型与积分接口默认使用项目身份;需要按网页登录用户执行时显式传 Token。数据库、存储、可观测性和 OAuth 应用管理使用项目身份。项目归属与平台签发的计费上下文独立保留。
|
|
48
|
+
- CLI 用户操作默认按 `LICOS_CURRENT_USER_ID` 换 Token;HTTP 服务调用 CLI 时使用 `--token-stdin`。Dev CLI 可用 `--identity project` 明确选择项目身份。
|
|
49
|
+
- 每个请求单独传 Token 或创建客户端,不把请求 Token、用户 ID 写进共享环境变量。
|
|
@@ -4,9 +4,9 @@ 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.
|
|
8
|
-
"licos-platform-sdk>=0.
|
|
9
|
-
"licos-dev-sdk>=0.
|
|
7
|
+
"licos-agent-runtime>=0.5.1",
|
|
8
|
+
"licos-platform-sdk>=0.7.1",
|
|
9
|
+
"licos-dev-sdk>=0.6.1",
|
|
10
10
|
]
|
|
11
11
|
|
|
12
12
|
[tool.uv]
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
licos-agent-runtime>=0.
|
|
2
|
-
licos-platform-sdk>=0.
|
|
3
|
-
licos-dev-sdk>=0.
|
|
1
|
+
licos-agent-runtime>=0.5.1
|
|
2
|
+
licos-platform-sdk>=0.7.1
|
|
3
|
+
licos-dev-sdk>=0.6.1
|
|
@@ -261,3 +261,12 @@ import { Screen } from '../../../components/Screen';
|
|
|
261
261
|
## 本地开发
|
|
262
262
|
|
|
263
263
|
`licos dev`:用来首次启动前后端服务,也可以用来重启前后端服务(该命令会先尝试杀掉占用端口的进程,再启动服务)
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
## 平台调用身份
|
|
267
|
+
|
|
268
|
+
- `LICOS_CURRENT_USER_ID` 仅表示容器初始化用户,不能作为网页登录身份。
|
|
269
|
+
- 当前用户信息、企业知识库、本体搜索/调用/订阅必须显式传本次用户 Token(Node `userToken` / Python `user_token`)。Token 失效直接返回鉴权错误,不换成容器用户。
|
|
270
|
+
- 普通知识库、模型与积分接口默认使用项目身份;需要按网页登录用户执行时显式传 Token。数据库、存储、可观测性和 OAuth 应用管理使用项目身份。项目归属与平台签发的计费上下文独立保留。
|
|
271
|
+
- CLI 用户操作默认按 `LICOS_CURRENT_USER_ID` 换 Token;HTTP 服务调用 CLI 时使用 `--token-stdin`。Dev CLI 可用 `--identity project` 明确选择项目身份。
|
|
272
|
+
- 每个请求单独传 Token 或创建客户端,不把请求 Token、用户 ID 写进共享环境变量。
|
|
@@ -266,11 +266,11 @@ importers:
|
|
|
266
266
|
server:
|
|
267
267
|
dependencies:
|
|
268
268
|
'@kmlckj/licos-dev-sdk':
|
|
269
|
-
specifier: 0.
|
|
270
|
-
version: 0.
|
|
269
|
+
specifier: 0.4.1
|
|
270
|
+
version: 0.4.1
|
|
271
271
|
'@kmlckj/licos-platform-sdk':
|
|
272
|
-
specifier: 0.
|
|
273
|
-
version: 0.
|
|
272
|
+
specifier: 0.12.1
|
|
273
|
+
version: 0.12.1
|
|
274
274
|
cors:
|
|
275
275
|
specifier: ^2.8.5
|
|
276
276
|
version: 2.8.6
|
|
@@ -1324,13 +1324,13 @@ packages:
|
|
|
1324
1324
|
'@jridgewell/trace-mapping@0.3.31':
|
|
1325
1325
|
resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
|
|
1326
1326
|
|
|
1327
|
-
'@kmlckj/licos-dev-sdk@0.
|
|
1328
|
-
resolution: {integrity: sha512-
|
|
1327
|
+
'@kmlckj/licos-dev-sdk@0.4.1':
|
|
1328
|
+
resolution: {integrity: sha512-iW4r4+sG2SehekAHNQd8Bzn1IFPXnRXcIC3lbodEEYri8bFDOzrjvNBjs8UDprgRrp876uXHlMKehKNYnrIKSA==}
|
|
1329
1329
|
engines: {node: '>=18'}
|
|
1330
1330
|
|
|
1331
|
-
'@kmlckj/licos-platform-sdk@0.
|
|
1331
|
+
'@kmlckj/licos-platform-sdk@0.12.1':
|
|
1332
1332
|
resolution:
|
|
1333
|
-
integrity: sha512-
|
|
1333
|
+
integrity: sha512-j3ESLWG6j4LKi8ac5VZxcxqML5lAgBx4V+YdVyVCiGM7xthuF6v9Luw+VEzQXZJqwu4PktH+gotUVr6srHhTpA==
|
|
1334
1334
|
|
|
1335
1335
|
'@napi-rs/wasm-runtime@0.2.12':
|
|
1336
1336
|
resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==}
|
|
@@ -7515,9 +7515,9 @@ snapshots:
|
|
|
7515
7515
|
'@jridgewell/resolve-uri': 3.1.2
|
|
7516
7516
|
'@jridgewell/sourcemap-codec': 1.5.5
|
|
7517
7517
|
|
|
7518
|
-
'@kmlckj/licos-dev-sdk@0.
|
|
7518
|
+
'@kmlckj/licos-dev-sdk@0.4.1': {}
|
|
7519
7519
|
|
|
7520
|
-
'@kmlckj/licos-platform-sdk@0.
|
|
7520
|
+
'@kmlckj/licos-platform-sdk@0.12.1':
|
|
7521
7521
|
dependencies:
|
|
7522
7522
|
ajv: 8.17.1
|
|
7523
7523
|
ajv-formats: 3.0.1(ajv@8.17.1)
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
"lint": "tsc --noEmit"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@kmlckj/licos-dev-sdk": "0.
|
|
14
|
-
"@kmlckj/licos-platform-sdk": "0.
|
|
13
|
+
"@kmlckj/licos-dev-sdk": "0.4.1",
|
|
14
|
+
"@kmlckj/licos-platform-sdk": "0.12.1",
|
|
15
15
|
"cors": "^2.8.5",
|
|
16
16
|
"dayjs": "^1.11.19",
|
|
17
17
|
"dotenv": "^17.2.3",
|
|
@@ -62,3 +62,12 @@
|
|
|
62
62
|
|
|
63
63
|
- 模板默认预装核心组件库 `shadcn/ui`,位于`src/components/ui/`目录下
|
|
64
64
|
- Next.js 项目**必须默认**采用 shadcn/ui 组件、风格和规范,**除非用户指定用其他的组件和规范。**
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
## 平台调用身份
|
|
68
|
+
|
|
69
|
+
- `LICOS_CURRENT_USER_ID` 仅表示容器初始化用户,不能作为网页登录身份。
|
|
70
|
+
- 当前用户信息、企业知识库、本体搜索/调用/订阅必须显式传本次用户 Token(Node `userToken` / Python `user_token`)。Token 失效直接返回鉴权错误,不换成容器用户。
|
|
71
|
+
- 普通知识库、模型与积分接口默认使用项目身份;需要按网页登录用户执行时显式传 Token。数据库、存储、可观测性和 OAuth 应用管理使用项目身份。项目归属与平台签发的计费上下文独立保留。
|
|
72
|
+
- CLI 用户操作默认按 `LICOS_CURRENT_USER_ID` 换 Token;HTTP 服务调用 CLI 时使用 `--token-stdin`。Dev CLI 可用 `--identity project` 明确选择项目身份。
|
|
73
|
+
- 每个请求单独传 Token 或创建客户端,不把请求 Token、用户 ID 写进共享环境变量。
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
"ts-check": "tsc -p tsconfig.json"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@kmlckj/licos-dev-sdk": "0.
|
|
18
|
-
"@kmlckj/licos-platform-sdk": "0.
|
|
17
|
+
"@kmlckj/licos-dev-sdk": "0.4.1",
|
|
18
|
+
"@kmlckj/licos-platform-sdk": "0.12.1",
|
|
19
19
|
"@aws-sdk/client-s3": "^3.958.0",
|
|
20
20
|
"@aws-sdk/lib-storage": "^3.958.0",
|
|
21
21
|
"@hookform/resolvers": "^5.2.2",
|
|
@@ -18,11 +18,11 @@ importers:
|
|
|
18
18
|
specifier: ^5.2.2
|
|
19
19
|
version: 5.4.0(react-hook-form@7.77.0(react@19.2.3))
|
|
20
20
|
'@kmlckj/licos-dev-sdk':
|
|
21
|
-
specifier: 0.
|
|
22
|
-
version: 0.
|
|
21
|
+
specifier: 0.4.1
|
|
22
|
+
version: 0.4.1
|
|
23
23
|
'@kmlckj/licos-platform-sdk':
|
|
24
|
-
specifier: 0.
|
|
25
|
-
version: 0.
|
|
24
|
+
specifier: 0.12.1
|
|
25
|
+
version: 0.12.1
|
|
26
26
|
'@radix-ui/react-accordion':
|
|
27
27
|
specifier: ^1.2.12
|
|
28
28
|
version: 1.2.12(@types/react-dom@19.2.3(@types/react@19.2.16))(@types/react@19.2.16)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
|
|
@@ -1380,13 +1380,13 @@ packages:
|
|
|
1380
1380
|
'@jridgewell/trace-mapping@0.3.31':
|
|
1381
1381
|
resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
|
|
1382
1382
|
|
|
1383
|
-
'@kmlckj/licos-dev-sdk@0.
|
|
1384
|
-
resolution: {integrity: sha512-
|
|
1383
|
+
'@kmlckj/licos-dev-sdk@0.4.1':
|
|
1384
|
+
resolution: {integrity: sha512-iW4r4+sG2SehekAHNQd8Bzn1IFPXnRXcIC3lbodEEYri8bFDOzrjvNBjs8UDprgRrp876uXHlMKehKNYnrIKSA==}
|
|
1385
1385
|
engines: {node: '>=18'}
|
|
1386
1386
|
|
|
1387
|
-
'@kmlckj/licos-platform-sdk@0.
|
|
1387
|
+
'@kmlckj/licos-platform-sdk@0.12.1':
|
|
1388
1388
|
resolution:
|
|
1389
|
-
integrity: sha512-
|
|
1389
|
+
integrity: sha512-j3ESLWG6j4LKi8ac5VZxcxqML5lAgBx4V+YdVyVCiGM7xthuF6v9Luw+VEzQXZJqwu4PktH+gotUVr6srHhTpA==
|
|
1390
1390
|
|
|
1391
1391
|
'@modelcontextprotocol/sdk@1.29.0':
|
|
1392
1392
|
resolution: {integrity: sha512-zo37mZA9hJWpULgkRpowewez1y6ML5GsXJPY8FI0tBBCd77HEvza4jDqRKOXgHNn867PVGCyTdzqpz0izu5ZjQ==}
|
|
@@ -6716,9 +6716,9 @@ snapshots:
|
|
|
6716
6716
|
'@jridgewell/resolve-uri': 3.1.2
|
|
6717
6717
|
'@jridgewell/sourcemap-codec': 1.5.5
|
|
6718
6718
|
|
|
6719
|
-
'@kmlckj/licos-dev-sdk@0.
|
|
6719
|
+
'@kmlckj/licos-dev-sdk@0.4.1': {}
|
|
6720
6720
|
|
|
6721
|
-
'@kmlckj/licos-platform-sdk@0.
|
|
6721
|
+
'@kmlckj/licos-platform-sdk@0.12.1':
|
|
6722
6722
|
dependencies:
|
|
6723
6723
|
ajv: 8.17.1
|
|
6724
6724
|
ajv-formats: 3.0.1(ajv@8.17.1)
|
|
@@ -43,3 +43,12 @@
|
|
|
43
43
|
|
|
44
44
|
- 使用 Tailwind CSS 进行样式开发
|
|
45
45
|
- 项目根 `assets/` 会通过 Nitro 映射到 `/assets/*`,需要按 URL 访问时使用 `useRuntimeConfig().public.baseURL` 派生路径,例如 `assetUrl('assets/logo.svg')`;业务 CSS 仍优先放到 `nuxt.config.ts` 的 `css` 数组或组件 `<style scoped>`。
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
## 平台调用身份
|
|
49
|
+
|
|
50
|
+
- `LICOS_CURRENT_USER_ID` 仅表示容器初始化用户,不能作为网页登录身份。
|
|
51
|
+
- 当前用户信息、企业知识库、本体搜索/调用/订阅必须显式传本次用户 Token(Node `userToken` / Python `user_token`)。Token 失效直接返回鉴权错误,不换成容器用户。
|
|
52
|
+
- 普通知识库、模型与积分接口默认使用项目身份;需要按网页登录用户执行时显式传 Token。数据库、存储、可观测性和 OAuth 应用管理使用项目身份。项目归属与平台签发的计费上下文独立保留。
|
|
53
|
+
- CLI 用户操作默认按 `LICOS_CURRENT_USER_ID` 换 Token;HTTP 服务调用 CLI 时使用 `--token-stdin`。Dev CLI 可用 `--identity project` 明确选择项目身份。
|
|
54
|
+
- 每个请求单独传 Token 或创建客户端,不把请求 Token、用户 ID 写进共享环境变量。
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
"start": "bash ./scripts/start.sh"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@kmlckj/licos-dev-sdk": "0.
|
|
21
|
-
"@kmlckj/licos-platform-sdk": "0.
|
|
20
|
+
"@kmlckj/licos-dev-sdk": "0.4.1",
|
|
21
|
+
"@kmlckj/licos-platform-sdk": "0.12.1",
|
|
22
22
|
"@nuxt/image": "2.0.0",
|
|
23
23
|
"nuxt": "4.3.1",
|
|
24
24
|
"tailwind-merge": "2.6.0",
|
|
@@ -13,11 +13,11 @@ importers:
|
|
|
13
13
|
.:
|
|
14
14
|
dependencies:
|
|
15
15
|
'@kmlckj/licos-dev-sdk':
|
|
16
|
-
specifier: 0.
|
|
17
|
-
version: 0.
|
|
16
|
+
specifier: 0.4.1
|
|
17
|
+
version: 0.4.1
|
|
18
18
|
'@kmlckj/licos-platform-sdk':
|
|
19
|
-
specifier: 0.
|
|
20
|
-
version: 0.
|
|
19
|
+
specifier: 0.12.1
|
|
20
|
+
version: 0.12.1
|
|
21
21
|
'@nuxt/image':
|
|
22
22
|
specifier: 2.0.0
|
|
23
23
|
version: 2.0.0(db0@0.3.4)(ioredis@5.11.0)(magicast@0.5.3)(srvx@0.11.16)
|
|
@@ -731,13 +731,13 @@ packages:
|
|
|
731
731
|
'@jridgewell/trace-mapping@0.3.31':
|
|
732
732
|
resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
|
|
733
733
|
|
|
734
|
-
'@kmlckj/licos-dev-sdk@0.
|
|
735
|
-
resolution: {integrity: sha512-
|
|
734
|
+
'@kmlckj/licos-dev-sdk@0.4.1':
|
|
735
|
+
resolution: {integrity: sha512-iW4r4+sG2SehekAHNQd8Bzn1IFPXnRXcIC3lbodEEYri8bFDOzrjvNBjs8UDprgRrp876uXHlMKehKNYnrIKSA==}
|
|
736
736
|
engines: {node: '>=18'}
|
|
737
737
|
|
|
738
|
-
'@kmlckj/licos-platform-sdk@0.
|
|
738
|
+
'@kmlckj/licos-platform-sdk@0.12.1':
|
|
739
739
|
resolution:
|
|
740
|
-
integrity: sha512-
|
|
740
|
+
integrity: sha512-j3ESLWG6j4LKi8ac5VZxcxqML5lAgBx4V+YdVyVCiGM7xthuF6v9Luw+VEzQXZJqwu4PktH+gotUVr6srHhTpA==
|
|
741
741
|
|
|
742
742
|
'@koa/router@12.0.2':
|
|
743
743
|
resolution: {integrity: sha512-sYcHglGKTxGF+hQ6x67xDfkE9o+NhVlRHBqq6gLywaMc6CojK/5vFZByphdonKinYlMLkEkacm+HEse9HzwgTA==}
|
|
@@ -4773,9 +4773,9 @@ snapshots:
|
|
|
4773
4773
|
'@jridgewell/resolve-uri': 3.1.2
|
|
4774
4774
|
'@jridgewell/sourcemap-codec': 1.5.5
|
|
4775
4775
|
|
|
4776
|
-
'@kmlckj/licos-dev-sdk@0.
|
|
4776
|
+
'@kmlckj/licos-dev-sdk@0.4.1': {}
|
|
4777
4777
|
|
|
4778
|
-
'@kmlckj/licos-platform-sdk@0.
|
|
4778
|
+
'@kmlckj/licos-platform-sdk@0.12.1':
|
|
4779
4779
|
dependencies:
|
|
4780
4780
|
ajv: 8.17.1
|
|
4781
4781
|
ajv-formats: 3.0.1(ajv@8.17.1)
|
|
@@ -574,3 +574,12 @@ import { Input } from '@/components/ui/input'
|
|
|
574
574
|
</View>
|
|
575
575
|
)}
|
|
576
576
|
```
|
|
577
|
+
|
|
578
|
+
|
|
579
|
+
## 平台调用身份
|
|
580
|
+
|
|
581
|
+
- `LICOS_CURRENT_USER_ID` 仅表示容器初始化用户,不能作为网页登录身份。
|
|
582
|
+
- 当前用户信息、企业知识库、本体搜索/调用/订阅必须显式传本次用户 Token(Node `userToken` / Python `user_token`)。Token 失效直接返回鉴权错误,不换成容器用户。
|
|
583
|
+
- 普通知识库、模型与积分接口默认使用项目身份;需要按网页登录用户执行时显式传 Token。数据库、存储、可观测性和 OAuth 应用管理使用项目身份。项目归属与平台签发的计费上下文独立保留。
|
|
584
|
+
- CLI 用户操作默认按 `LICOS_CURRENT_USER_ID` 换 Token;HTTP 服务调用 CLI 时使用 `--token-stdin`。Dev CLI 可用 `--identity project` 明确选择项目身份。
|
|
585
|
+
- 每个请求单独传 Token 或创建客户端,不把请求 Token、用户 ID 写进共享环境变量。
|
|
@@ -181,11 +181,11 @@ importers:
|
|
|
181
181
|
server:
|
|
182
182
|
dependencies:
|
|
183
183
|
'@kmlckj/licos-dev-sdk':
|
|
184
|
-
specifier: 0.
|
|
185
|
-
version: 0.
|
|
184
|
+
specifier: 0.4.1
|
|
185
|
+
version: 0.4.1
|
|
186
186
|
'@kmlckj/licos-platform-sdk':
|
|
187
|
-
specifier: 0.
|
|
188
|
-
version: 0.
|
|
187
|
+
specifier: 0.12.1
|
|
188
|
+
version: 0.12.1
|
|
189
189
|
'@nestjs/common':
|
|
190
190
|
specifier: ^10.4.15
|
|
191
191
|
version: 10.4.22(reflect-metadata@0.2.2)(rxjs@7.8.2)
|
|
@@ -2590,12 +2590,12 @@ packages:
|
|
|
2590
2590
|
'@keyv/serialize@1.1.1':
|
|
2591
2591
|
resolution: {integrity: sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==}
|
|
2592
2592
|
|
|
2593
|
-
'@kmlckj/licos-dev-sdk@0.
|
|
2594
|
-
resolution: {integrity: sha512-
|
|
2593
|
+
'@kmlckj/licos-dev-sdk@0.4.1':
|
|
2594
|
+
resolution: {integrity: sha512-iW4r4+sG2SehekAHNQd8Bzn1IFPXnRXcIC3lbodEEYri8bFDOzrjvNBjs8UDprgRrp876uXHlMKehKNYnrIKSA==}
|
|
2595
2595
|
engines: {node: '>=18'}
|
|
2596
2596
|
|
|
2597
|
-
'@kmlckj/licos-platform-sdk@0.
|
|
2598
|
-
resolution: {integrity: sha512-
|
|
2597
|
+
'@kmlckj/licos-platform-sdk@0.12.1':
|
|
2598
|
+
resolution: {integrity: sha512-j3ESLWG6j4LKi8ac5VZxcxqML5lAgBx4V+YdVyVCiGM7xthuF6v9Luw+VEzQXZJqwu4PktH+gotUVr6srHhTpA==}
|
|
2599
2599
|
|
|
2600
2600
|
'@leejim/wxml-parser@0.1.6':
|
|
2601
2601
|
resolution: {integrity: sha512-1u4ULGK4GKkWhTlc3Hmac8PknrmpGd7qxZOTnT/Bm6EZ/wtonLgFhJ4vyuiUZpeCptnknOLkRpGx2Um9npwdZw==}
|
|
@@ -12408,9 +12408,9 @@ snapshots:
|
|
|
12408
12408
|
|
|
12409
12409
|
'@keyv/serialize@1.1.1': {}
|
|
12410
12410
|
|
|
12411
|
-
'@kmlckj/licos-dev-sdk@0.
|
|
12411
|
+
'@kmlckj/licos-dev-sdk@0.4.1': {}
|
|
12412
12412
|
|
|
12413
|
-
'@kmlckj/licos-platform-sdk@0.
|
|
12413
|
+
'@kmlckj/licos-platform-sdk@0.12.1':
|
|
12414
12414
|
dependencies:
|
|
12415
12415
|
ajv: 8.17.1
|
|
12416
12416
|
ajv-formats: 3.0.1(ajv@8.17.1)
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
"start:prod": "node dist/main"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@kmlckj/licos-dev-sdk": "0.
|
|
15
|
-
"@kmlckj/licos-platform-sdk": "0.
|
|
14
|
+
"@kmlckj/licos-dev-sdk": "0.4.1",
|
|
15
|
+
"@kmlckj/licos-platform-sdk": "0.12.1",
|
|
16
16
|
"@nestjs/common": "^10.4.15",
|
|
17
17
|
"@nestjs/core": "^10.4.15",
|
|
18
18
|
"@nestjs/platform-express": "^10.4.15",
|
|
@@ -43,3 +43,12 @@
|
|
|
43
43
|
|
|
44
44
|
- 使用 Tailwind CSS 进行样式开发
|
|
45
45
|
- 项目根 `assets/` 可放需要按 URL 访问的静态资源;部署在子路径时必须通过 `import.meta.env.BASE_URL` 派生访问路径,例如 `assetUrl('assets/logo.svg')`。
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
## 平台调用身份
|
|
49
|
+
|
|
50
|
+
- `LICOS_CURRENT_USER_ID` 仅表示容器初始化用户,不能作为网页登录身份。
|
|
51
|
+
- 当前用户信息、企业知识库、本体搜索/调用/订阅必须显式传本次用户 Token(Node `userToken` / Python `user_token`)。Token 失效直接返回鉴权错误,不换成容器用户。
|
|
52
|
+
- 普通知识库、模型与积分接口默认使用项目身份;需要按网页登录用户执行时显式传 Token。数据库、存储、可观测性和 OAuth 应用管理使用项目身份。项目归属与平台签发的计费上下文独立保留。
|
|
53
|
+
- CLI 用户操作默认按 `LICOS_CURRENT_USER_ID` 换 Token;HTTP 服务调用 CLI 时使用 `--token-stdin`。Dev CLI 可用 `--identity project` 明确选择项目身份。
|
|
54
|
+
- 每个请求单独传 Token 或创建客户端,不把请求 Token、用户 ID 写进共享环境变量。
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
"ts-check": "tsc -p tsconfig.json"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@kmlckj/licos-dev-sdk": "0.
|
|
18
|
-
"@kmlckj/licos-platform-sdk": "0.
|
|
17
|
+
"@kmlckj/licos-dev-sdk": "0.4.1",
|
|
18
|
+
"@kmlckj/licos-platform-sdk": "0.12.1",
|
|
19
19
|
"dotenv": "^17.2.3",
|
|
20
20
|
"express": "^4.21.2"
|
|
21
21
|
},
|
|
@@ -13,11 +13,11 @@ importers:
|
|
|
13
13
|
.:
|
|
14
14
|
dependencies:
|
|
15
15
|
'@kmlckj/licos-dev-sdk':
|
|
16
|
-
specifier: 0.
|
|
17
|
-
version: 0.
|
|
16
|
+
specifier: 0.4.1
|
|
17
|
+
version: 0.4.1
|
|
18
18
|
'@kmlckj/licos-platform-sdk':
|
|
19
|
-
specifier: 0.
|
|
20
|
-
version: 0.
|
|
19
|
+
specifier: 0.12.1
|
|
20
|
+
version: 0.12.1
|
|
21
21
|
dotenv:
|
|
22
22
|
specifier: ^17.2.3
|
|
23
23
|
version: 17.2.4
|
|
@@ -291,13 +291,13 @@ packages:
|
|
|
291
291
|
'@jridgewell/trace-mapping@0.3.31':
|
|
292
292
|
resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
|
|
293
293
|
|
|
294
|
-
'@kmlckj/licos-dev-sdk@0.
|
|
295
|
-
resolution: {integrity: sha512-
|
|
294
|
+
'@kmlckj/licos-dev-sdk@0.4.1':
|
|
295
|
+
resolution: {integrity: sha512-iW4r4+sG2SehekAHNQd8Bzn1IFPXnRXcIC3lbodEEYri8bFDOzrjvNBjs8UDprgRrp876uXHlMKehKNYnrIKSA==}
|
|
296
296
|
engines: {node: '>=18'}
|
|
297
297
|
|
|
298
|
-
'@kmlckj/licos-platform-sdk@0.
|
|
298
|
+
'@kmlckj/licos-platform-sdk@0.12.1':
|
|
299
299
|
resolution:
|
|
300
|
-
integrity: sha512-
|
|
300
|
+
integrity: sha512-j3ESLWG6j4LKi8ac5VZxcxqML5lAgBx4V+YdVyVCiGM7xthuF6v9Luw+VEzQXZJqwu4PktH+gotUVr6srHhTpA==
|
|
301
301
|
|
|
302
302
|
'@nodelib/fs.scandir@2.1.5':
|
|
303
303
|
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
|
|
@@ -1751,9 +1751,9 @@ snapshots:
|
|
|
1751
1751
|
'@jridgewell/resolve-uri': 3.1.2
|
|
1752
1752
|
'@jridgewell/sourcemap-codec': 1.5.5
|
|
1753
1753
|
|
|
1754
|
-
'@kmlckj/licos-dev-sdk@0.
|
|
1754
|
+
'@kmlckj/licos-dev-sdk@0.4.1': {}
|
|
1755
1755
|
|
|
1756
|
-
'@kmlckj/licos-platform-sdk@0.
|
|
1756
|
+
'@kmlckj/licos-platform-sdk@0.12.1':
|
|
1757
1757
|
dependencies:
|
|
1758
1758
|
ajv: 8.17.1
|
|
1759
1759
|
ajv-formats: 3.0.1(ajv@8.17.1)
|
|
@@ -1,39 +1,48 @@
|
|
|
1
|
-
# 项目上下文
|
|
2
|
-
|
|
3
|
-
## 技术栈
|
|
4
|
-
|
|
5
|
-
- **项目类型**: WORKFLOW
|
|
6
|
-
- **运行时**: Python + LangGraph + licos-agent-runtime
|
|
7
|
-
- **入口**: `src/graphs/graph.py`
|
|
8
|
-
|
|
9
|
-
## 目录结构
|
|
10
|
-
|
|
11
|
-
```text
|
|
12
|
-
├── config/
|
|
13
|
-
├── scripts/
|
|
14
|
-
├── src/
|
|
15
|
-
│ ├── main.py
|
|
16
|
-
│ └── graphs/
|
|
17
|
-
│ ├── graph.py
|
|
18
|
-
│ ├── state.py
|
|
19
|
-
│ └── nodes/
|
|
20
|
-
└── AGENTS.md
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## 项目说明
|
|
24
|
-
|
|
25
|
-
本文件用于记录用户项目可维护的长期上下文,例如业务目标、节点清单、外部 API 约定、输入输出样例、测试方式和后续注意事项。
|
|
26
|
-
|
|
27
|
-
维护规则:
|
|
28
|
-
|
|
29
|
-
- `AGENTS.md` 只是项目索引,输入输出样例必须跟随 `src/graphs/state.py` 和节点实现更新。
|
|
30
|
-
- 工作流存在真实业务节点时,不要把输入输出写成 `{}`,除非它确实没有外部输入也没有返回结果。
|
|
31
|
-
- 涉及文件输入/输出时,schema 使用文件对象字段,例如 `url`、`file_type`、`content`、`name`。节点生成文件时优先写入 `assets/`,并在输出中返回 `/assets/<文件名>`、`assets/<文件名>` 或本地文件路径。运行时会自动把输出文件发布到 Studio 对象存储并补齐签名 URL、`download_url`、`file_id`、`expires_at` 等字段。
|
|
32
|
-
- 不要在节点代码里手写 workspace-file-service 公共 URL、MinIO URL、签名参数或平台文件服务路径;部署后的工作流没有开发态文件服务,文件发布交给运行时统一处理。
|
|
33
|
-
- 如果文档与源码 schema 冲突,应修正文档,不要为了匹配文档清空 `GraphInput` / `GraphOutput`。
|
|
34
|
-
- 可视化条件节点必须在 `graph.py` 的 `add_node(..., metadata={...})` 中保存 `definition.branches`;`branches[].id` 与路由函数返回值一致,`branches[].target` 与 `add_conditional_edges(..., path_map=...)` 目标一致。条件节点函数只透传状态,不要把路由函数同时作为节点函数。
|
|
35
|
-
- 根据画布 QueryDiff 修改已有 Action 节点时,必须以 QueryDiff 的 `node.id` 为准更新同一个节点的 metadata、状态字段和实现文件;只有 QueryDiff 明确是新增节点且用户明确要增加业务步骤时才新增节点。
|
|
1
|
+
# 项目上下文
|
|
2
|
+
|
|
3
|
+
## 技术栈
|
|
4
|
+
|
|
5
|
+
- **项目类型**: WORKFLOW
|
|
6
|
+
- **运行时**: Python + LangGraph + licos-agent-runtime
|
|
7
|
+
- **入口**: `src/graphs/graph.py`
|
|
8
|
+
|
|
9
|
+
## 目录结构
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
├── config/
|
|
13
|
+
├── scripts/
|
|
14
|
+
├── src/
|
|
15
|
+
│ ├── main.py
|
|
16
|
+
│ └── graphs/
|
|
17
|
+
│ ├── graph.py
|
|
18
|
+
│ ├── state.py
|
|
19
|
+
│ └── nodes/
|
|
20
|
+
└── AGENTS.md
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## 项目说明
|
|
24
|
+
|
|
25
|
+
本文件用于记录用户项目可维护的长期上下文,例如业务目标、节点清单、外部 API 约定、输入输出样例、测试方式和后续注意事项。
|
|
26
|
+
|
|
27
|
+
维护规则:
|
|
28
|
+
|
|
29
|
+
- `AGENTS.md` 只是项目索引,输入输出样例必须跟随 `src/graphs/state.py` 和节点实现更新。
|
|
30
|
+
- 工作流存在真实业务节点时,不要把输入输出写成 `{}`,除非它确实没有外部输入也没有返回结果。
|
|
31
|
+
- 涉及文件输入/输出时,schema 使用文件对象字段,例如 `url`、`file_type`、`content`、`name`。节点生成文件时优先写入 `assets/`,并在输出中返回 `/assets/<文件名>`、`assets/<文件名>` 或本地文件路径。运行时会自动把输出文件发布到 Studio 对象存储并补齐签名 URL、`download_url`、`file_id`、`expires_at` 等字段。
|
|
32
|
+
- 不要在节点代码里手写 workspace-file-service 公共 URL、MinIO URL、签名参数或平台文件服务路径;部署后的工作流没有开发态文件服务,文件发布交给运行时统一处理。
|
|
33
|
+
- 如果文档与源码 schema 冲突,应修正文档,不要为了匹配文档清空 `GraphInput` / `GraphOutput`。
|
|
34
|
+
- 可视化条件节点必须在 `graph.py` 的 `add_node(..., metadata={...})` 中保存 `definition.branches`;`branches[].id` 与路由函数返回值一致,`branches[].target` 与 `add_conditional_edges(..., path_map=...)` 目标一致。条件节点函数只透传状态,不要把路由函数同时作为节点函数。
|
|
35
|
+
- 根据画布 QueryDiff 修改已有 Action 节点时,必须以 QueryDiff 的 `node.id` 为准更新同一个节点的 metadata、状态字段和实现文件;只有 QueryDiff 明确是新增节点且用户明确要增加业务步骤时才新增节点。
|
|
36
36
|
- 禁止保留默认标题“请填写动作内容”作为最终节点标题;Action 节点标题必须稳定、可读并表达业务含义,已有节点的 ID 不能因为标题或内容调整而改变。
|
|
37
37
|
- 默认不创建持久化配置、迁移文件或检查点表。只有用户明确要求本项目断点续跑时,才按 README 中的运行时契约在本项目生成版本化 SQL 迁移,核对目标项目与环境并执行、加入 `config/workflow-runtime.json`,并检查图编译时使用 `workflow_checkpointer()`。
|
|
38
38
|
- 只有用户明确要求人工处理或异步设备回执时,才在本项目启用 `signals.enabled` 并生成 README 指定的增量迁移;普通项目不加等待表或字段。人工和回执共用 `/workflow/instances/{instance_id}/signals`,`/resume` 只处理执行失败。设备下发与等待回执必须分为两个节点,采用稳定 `wait_id` 和外部幂等键;参见 `examples/wait_signal.md`。
|
|
39
39
|
- 有副作用的业务节点在恢复后可能再次执行。写入外部系统必须使用由工作流实例 ID、稳定节点 ID 和业务操作号组成的幂等键;对没有幂等能力的系统,先查询原操作结果,状态不明时停止并交给业务规则处理,不自动重复写入。
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
## 平台调用身份
|
|
43
|
+
|
|
44
|
+
- `LICOS_CURRENT_USER_ID` 仅表示容器初始化用户,不能作为网页登录身份。
|
|
45
|
+
- 当前用户信息、企业知识库、本体搜索/调用/订阅必须显式传本次用户 Token(Node `userToken` / Python `user_token`)。Token 失效直接返回鉴权错误,不换成容器用户。
|
|
46
|
+
- 普通知识库、模型与积分接口默认使用项目身份;需要按网页登录用户执行时显式传 Token。数据库、存储、可观测性和 OAuth 应用管理使用项目身份。项目归属与平台签发的计费上下文独立保留。
|
|
47
|
+
- CLI 用户操作默认按 `LICOS_CURRENT_USER_ID` 换 Token;HTTP 服务调用 CLI 时使用 `--token-stdin`。Dev CLI 可用 `--identity project` 明确选择项目身份。
|
|
48
|
+
- 每个请求单独传 Token 或创建客户端,不把请求 Token、用户 ID 写进共享环境变量。
|
|
@@ -4,9 +4,9 @@ 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.
|
|
8
|
-
"licos-platform-sdk>=0.
|
|
9
|
-
"licos-dev-sdk>=0.
|
|
7
|
+
"licos-agent-runtime>=0.5.1",
|
|
8
|
+
"licos-platform-sdk>=0.7.1",
|
|
9
|
+
"licos-dev-sdk>=0.6.1",
|
|
10
10
|
]
|
|
11
11
|
|
|
12
12
|
[tool.uv]
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
licos-agent-runtime>=0.
|
|
2
|
-
licos-platform-sdk>=0.
|
|
3
|
-
licos-dev-sdk>=0.
|
|
1
|
+
licos-agent-runtime>=0.5.1
|
|
2
|
+
licos-platform-sdk>=0.7.1
|
|
3
|
+
licos-dev-sdk>=0.6.1
|