@tencentcloudadp/cli 0.0.0-stage → 0.1.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/README.md +118 -2
- package/bin/adp.js +4 -0
- package/config-schema.json +319 -0
- package/dist/cli.js +28513 -0
- package/dist/cli.js.map +1 -0
- package/package.json +70 -4
- package/skills/adp/SKILL.md +116 -0
- package/skills/adp/configuration/SKILL.md +51 -0
- package/skills/adp/create/SKILL.md +189 -0
- package/skills/adp/evals/evals.json +60 -0
- package/skills/adp/gotchas/SKILL.md +92 -0
- package/skills/adp/references/app-keys.md +41 -0
- package/skills/adp/references/app-modes.md +36 -0
- package/skills/adp/references/auth.md +45 -0
- package/skills/adp/references/canvas/branch.json +159 -0
- package/skills/adp/references/canvas/deep-research.json +267 -0
- package/skills/adp/references/canvas/dynamic-option.json +410 -0
- package/skills/adp/references/canvas/extract.json +109 -0
- package/skills/adp/references/canvas/intent.json +340 -0
- package/skills/adp/references/canvas/llm.json +161 -0
- package/skills/adp/references/canvas/main.json +155 -0
- package/skills/adp/references/canvas/option.json +97 -0
- package/skills/adp/references/canvas/single.json +155 -0
- package/skills/adp/references/canvas/sub.json +125 -0
- package/skills/adp/references/credentials.md +40 -0
- package/skills/adp/references/inventory.md +39 -0
- package/skills/adp/references/memory.md +54 -0
- package/skills/adp/references/operations.md +56 -0
- package/skills/adp/references/pitfalls.md +125 -0
- package/skills/adp/references/platform-skills.md +31 -0
- package/skills/adp/references/timers.md +42 -0
- package/skills/adp/references/tuning.md +79 -0
- package/skills/adp/references/volumes.md +18 -0
- package/skills/adp/references/workflows.md +241 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# AppKey 与分享
|
|
2
|
+
|
|
3
|
+
AppKey 是终端用户通道(SSE / WebSocket 对话、分享页)调用应用时用的密钥。应用发布过一次才会有 key。
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
adp app key get --app-id <id> --format json # 默认打码:前4位…后4位
|
|
7
|
+
adp app key get --app-id <id> --reveal --format json # result.appKey 是完整明文
|
|
8
|
+
adp app key list --app-id <id> --reveal
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
- 用户要拿 key 去集成时用 `--reveal`。拿到后直接交给用户或写入用户指定的环境变量,不要回显到日志、提交到仓库或贴进对话摘要。
|
|
12
|
+
- 启停、删除用 `--key <后4位以上>` 指定,不需要粘贴完整 key:`adp app key disable --key Wezw`。
|
|
13
|
+
- 应用至少保留一个启用的 key(`AppKeyLastEnabled`)。`disable` / `delete` 在 `--dry-run` 时也会先读 key 列表,最后一把启用的 key 直接报这个错。轮换时先 `create`,再禁用旧的。
|
|
14
|
+
- `create` 报 `AppKeyNotCreated` 表示平台没保存新 key(部分账号只允许一个 key),继续用现有 key。
|
|
15
|
+
- 查一个 key 属于哪个应用:`printf %s "$KEY" | adp app key lookup --stdin`。
|
|
16
|
+
- `adp chat` 会自动读取 AppKey,不需要手动传。
|
|
17
|
+
|
|
18
|
+
## 分享
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
adp app share-url --app-id <id> --yes --format json # result.shareUrl:公开对话链接
|
|
22
|
+
adp conversation share create --app-id <id> --record-id <提问记录ID> --record-id <回复记录ID>
|
|
23
|
+
adp conversation share get --share-id <id>
|
|
24
|
+
adp app shared list --space-id <id> --query 助手 # 企业共享应用目录
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
- `share-url` 每次都会换一条新链接,旧链接可能失效。只在用户要链接时调用,并告诉用户之前的链接可能不能用了。
|
|
28
|
+
- 分享会话没有删除接口,拿到分享 ID 的人都能看。分享前和用户确认内容可以公开。
|
|
29
|
+
- 记录 ID 来自对话流:提问和回复各有一个 `RecordId`。快照里 `type: "thought"` 是模型思考,展示给用户时通常跳过。
|
|
30
|
+
|
|
31
|
+
## A2A 地址
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
adp app a2a-url --app-id <id> --format json # 默认打码
|
|
35
|
+
adp app a2a-url --app-id <id> --refresh --yes --reveal # 生成或轮换,旧地址立即失效
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
发布后 A2A 地址不会自动生成:没跑过 `--refresh` 时 `a2a-url` 返回空的 `a2aUrl`(`generated: false`),这不是发布失败。第一次需要 `--refresh --yes` 生成;之后再 `--refresh` 会轮换地址,旧地址立即失效,所以只在第一次或用户明确要轮换时用。
|
|
39
|
+
|
|
40
|
+
- A2A 地址里的 `agt_…` 段等同凭证,和 AppKey 一样:只在用户要接入时才 `--reveal`,不要写进日志或回复里的其他地方。
|
|
41
|
+
- 必须先 `adp deploy` 发布,否则报 `AppNotReleased`。轮换会让已接入的调用方失效,先问用户。
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Application modes (`adp init --app-mode`)
|
|
2
|
+
|
|
3
|
+
Integer enum on `CreateApp` / `adp.jsonc` `app_mode`:
|
|
4
|
+
|
|
5
|
+
| `app_mode` | Name | Instructions live on | Mount Skills | Typical use |
|
|
6
|
+
| ---: | --- | --- | --- | --- |
|
|
7
|
+
| 1 | Standard | App-level `role_description` | No | FAQ / knowledge QA. No `agent_id`; `CreateAgent` is rejected. A query that matches no workflow (or knowledge) is answered by the model under `role_description`, not by a fallback workflow — write the fallback behaviour into `role_description`. |
|
|
8
|
+
| 2 | Multi-Agent (`adp init` default) | Agent `Instructions` (`ModifyAgent`) | No | Team + handoff / workflow orchestration |
|
|
9
|
+
| 3 | Single workflow | App-level role description | No | Fixed pipeline, lowest token |
|
|
10
|
+
| 4 | Claw | App-level role description | **Yes** | Autonomous coding / general agent |
|
|
11
|
+
|
|
12
|
+
## Switching
|
|
13
|
+
|
|
14
|
+
- `1` / `2` / `3` can switch among themselves via `ModifyApp` / `adp app update` (mode change is not a v1 flag; create a new app if unsure).
|
|
15
|
+
- **Claw (`4`) is isolated.** Switching an existing app into or out of Claw requires a **new** app.
|
|
16
|
+
|
|
17
|
+
## Two layers (easy to mix up)
|
|
18
|
+
|
|
19
|
+
1. **Application mode** = `app_mode` on the app (this table).
|
|
20
|
+
2. **Collaboration sub-mode** = only inside `app_mode=2`. Set `mode.multi_agent.collaboration_mode` in `adp.jsonc`: `1` free-handoff, `2` workflow orchestration, `3` Plan-and-Execute. That is **not** `--app-mode`.
|
|
21
|
+
|
|
22
|
+
## AgentSpec
|
|
23
|
+
|
|
24
|
+
- Claw (`4`) only releases with a Claw-scene model: `adp models --scene 18 --space-id <id> --format json`. Any other `agent.model.model_id` fails `adp deploy` with `4600005`. Details: [pitfalls.md](pitfalls.md).
|
|
25
|
+
- `adp.jsonc` `agent.skill_ids` is meaningful for Claw (`4`). For mode `2`, leave it empty; the platform rejects skill mounts.
|
|
26
|
+
- `agent.tools` is `{ plugin_id, tool_id }` (optional `tool_source`: 0 plugin / 1 workflow). `agent.plugin_ids` / `agent.plugins` enable plugins; `agent.connector_ids` are connectors (same `PluginList` on the wire). Do not stuff connector ids into `plugin_ids`.
|
|
27
|
+
- Greeting, memory, web search, shared KBs, and Claw team prompt live on the **app**, not the agent: `greeting`, `memory`, `web_search`, `shared_kb_ids`, `mode.claw`.
|
|
28
|
+
- Default-KB documents: `adp kb doc import --file …` (KB id defaults to `app_id`). Create shared KBs with `adp kb create`; bind them with `shared_kb_ids`.
|
|
29
|
+
- **`shared_kb_ids` is full-overwrite.** Omitting the key leaves bindings untouched;
|
|
30
|
+
`[]` unbinds everything; a list replaces the whole set. Always read `adp app get`
|
|
31
|
+
first and push the complete target set. Ids are plain numeric strings, no `kb_`
|
|
32
|
+
prefix. Details: [pitfalls.md](pitfalls.md).
|
|
33
|
+
- Sub-agents are not Tools. Never put a child `agent_id` into a plugin/tool list.
|
|
34
|
+
- Binding an existing canvas workflow: `mode.single_workflow.workflow_id`. `adp workflow`
|
|
35
|
+
(CAM keys, cloud site only) can also list, get, deploy, enable, disable, export, import, remove, and async-run (`workflow run`, mode 3 with an entry workflow)
|
|
36
|
+
canvases; `adp app export` / `adp app import` move a released app's config as a package (no workflows: a mode 3 copy needs its entry workflow exported, imported and bound again) — see [../create/SKILL.md](../create/SKILL.md) §Workflows.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# 鉴权与站点
|
|
2
|
+
|
|
3
|
+
先 `adp auth status --format json` 查看 `profile/site/endpoint/source`。
|
|
4
|
+
`adp auth list --format json` 查看已存 profile。不要读取凭据文件内容到上下文。
|
|
5
|
+
|
|
6
|
+
- 公有云 `cloud` 的 CAM SecretId 以 AKID 开头,入口 https://console.cloud.tencent.com/cam/capi。
|
|
7
|
+
- 独立站 `independent` 使用 OneID,不要求 AKID 前缀;登录时显式 `--site independent`。
|
|
8
|
+
- 自定义站点使用 `--site custom --endpoint <host>`,先确认用户提供的目标地址。
|
|
9
|
+
- `--profile` 优先于 `ADP_PROFILE` 和 active profile,但环境凭据仍优先于 profile 中的凭据。
|
|
10
|
+
根据 `source` 验证实际身份,不凭参数猜测。profile 存于 `~/.adp/profiles/`,权限 0600。
|
|
11
|
+
|
|
12
|
+
已有 profile 时无需重新登录。
|
|
13
|
+
|
|
14
|
+
## 在对话里完成首次登录(WorkBuddy 等 agent 环境)
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
adp auth login --web --detach --format json # 返回 result.url / expiresAt / pid
|
|
18
|
+
adp auth status --format json # 轮询,直到 ok:true
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
- 页面只监听 `127.0.0.1`,链接带一次性 token,默认 5 分钟过期(`--timeout <秒>` 调整,最长 1800)。
|
|
22
|
+
- 页面先用一次只读调用校验密钥,校验失败会在页面上提示并允许重填,不会保存无效密钥。
|
|
23
|
+
- 用户关闭页面或过期后重新执行一次 `--web --detach`;不要改为在对话中收集密钥。
|
|
24
|
+
- `--site independent` / `--profile <name>` 可与 `--web` 同用;`--open` 会尝试直接打开浏览器。
|
|
25
|
+
|
|
26
|
+
## 在终端或 CI 登录
|
|
27
|
+
|
|
28
|
+
需要登录时让用户通过受保护的本地环境设置
|
|
29
|
+
`TENCENTCLOUD_SECRET_ID`、`TENCENTCLOUD_SECRET_KEY`,然后运行:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
adp auth login --site cloud --format json
|
|
33
|
+
adp auth status --format json
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
不要把密钥放进 CLI 参数、聊天、报告或仓库。CLI 为兼容保留了 secret 参数,agent 不使用。
|
|
37
|
+
agent/非 TTY 缺凭据时退出,不等待交互输入;提示用户在本地完成安全配置。
|
|
38
|
+
|
|
39
|
+
## 只有一套凭据
|
|
40
|
+
|
|
41
|
+
所有命令(含 `adp workflow`、`adp kb doc`)都只用 CAM SecretId/SecretKey,没有 Tool Key。
|
|
42
|
+
`adp workflow` 和 `adp kb doc import` 会调用 LKE 2023-11-30 接口,只支持公有云站点;
|
|
43
|
+
鉴权失败时先看 `auth status` 的 `source`,再让用户确认 CAM 策略含 ADP 与 LKE 权限。
|
|
44
|
+
不要反复登录,不要换应用绕过权限。
|
|
45
|
+
`adp env list --format json` 只列环境变量名称和敏感标记,不返回值。
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
{
|
|
2
|
+
"ProtoVersion": "V2_6",
|
|
3
|
+
"WorkflowID": "",
|
|
4
|
+
"WorkflowName": "zz-demo-branch",
|
|
5
|
+
"WorkflowDesc": "Reply BR-YES when the query contains yes, otherwise BR-NO",
|
|
6
|
+
"Nodes": [
|
|
7
|
+
{
|
|
8
|
+
"NodeID": "start",
|
|
9
|
+
"NodeName": "Start",
|
|
10
|
+
"NodeDesc": "",
|
|
11
|
+
"NodeType": "START",
|
|
12
|
+
"StartNodeData": {},
|
|
13
|
+
"Inputs": [],
|
|
14
|
+
"Outputs": [],
|
|
15
|
+
"NextNodeIDs": [
|
|
16
|
+
"logic1"
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"NodeID": "logic1",
|
|
21
|
+
"NodeName": "判断",
|
|
22
|
+
"NodeDesc": "",
|
|
23
|
+
"NodeType": "LOGIC_EVALUATOR",
|
|
24
|
+
"LogicEvaluatorNodeData": {
|
|
25
|
+
"Group": [
|
|
26
|
+
{
|
|
27
|
+
"Logical": {
|
|
28
|
+
"LogicalOperator": "UNSPECIFIED",
|
|
29
|
+
"Compound": [],
|
|
30
|
+
"Comparison": {
|
|
31
|
+
"Left": {
|
|
32
|
+
"InputType": "SYSTEM_VARIABLE",
|
|
33
|
+
"SystemVariable": {
|
|
34
|
+
"Name": "SYS.UserQuery"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"LeftType": "STRING",
|
|
38
|
+
"Operator": "CONTAINS",
|
|
39
|
+
"Right": {
|
|
40
|
+
"InputType": "USER_INPUT",
|
|
41
|
+
"UserInputValue": {
|
|
42
|
+
"Values": [
|
|
43
|
+
"yes"
|
|
44
|
+
],
|
|
45
|
+
"FileNames": []
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"MatchType": "PRECISE"
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"NextNodeIDs": [
|
|
52
|
+
"ans_yes"
|
|
53
|
+
]
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"NextNodeIDs": [
|
|
57
|
+
"ans_no"
|
|
58
|
+
]
|
|
59
|
+
}
|
|
60
|
+
]
|
|
61
|
+
},
|
|
62
|
+
"Inputs": [],
|
|
63
|
+
"Outputs": [],
|
|
64
|
+
"NextNodeIDs": []
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"NodeID": "ans_yes",
|
|
68
|
+
"NodeName": "ans_yes",
|
|
69
|
+
"NodeDesc": "",
|
|
70
|
+
"NodeType": "ANSWER",
|
|
71
|
+
"AnswerNodeData": {
|
|
72
|
+
"Answer": "BR-YES"
|
|
73
|
+
},
|
|
74
|
+
"Inputs": [],
|
|
75
|
+
"Outputs": [
|
|
76
|
+
{
|
|
77
|
+
"Title": "Output",
|
|
78
|
+
"Type": "OBJECT",
|
|
79
|
+
"Required": [],
|
|
80
|
+
"Properties": [
|
|
81
|
+
{
|
|
82
|
+
"Title": "Answer",
|
|
83
|
+
"Type": "STRING",
|
|
84
|
+
"Required": [],
|
|
85
|
+
"Properties": [],
|
|
86
|
+
"Desc": "Reply to User Message",
|
|
87
|
+
"Value": {
|
|
88
|
+
"InputType": "USER_INPUT",
|
|
89
|
+
"UserInputValue": {
|
|
90
|
+
"Values": [
|
|
91
|
+
""
|
|
92
|
+
],
|
|
93
|
+
"FileNames": []
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
"AnalysisMethod": "COVER"
|
|
97
|
+
}
|
|
98
|
+
],
|
|
99
|
+
"Desc": "Output content",
|
|
100
|
+
"AnalysisMethod": "COVER"
|
|
101
|
+
}
|
|
102
|
+
],
|
|
103
|
+
"NextNodeIDs": [
|
|
104
|
+
"end"
|
|
105
|
+
]
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"NodeID": "ans_no",
|
|
109
|
+
"NodeName": "ans_no",
|
|
110
|
+
"NodeDesc": "",
|
|
111
|
+
"NodeType": "ANSWER",
|
|
112
|
+
"AnswerNodeData": {
|
|
113
|
+
"Answer": "BR-NO"
|
|
114
|
+
},
|
|
115
|
+
"Inputs": [],
|
|
116
|
+
"Outputs": [
|
|
117
|
+
{
|
|
118
|
+
"Title": "Output",
|
|
119
|
+
"Type": "OBJECT",
|
|
120
|
+
"Required": [],
|
|
121
|
+
"Properties": [
|
|
122
|
+
{
|
|
123
|
+
"Title": "Answer",
|
|
124
|
+
"Type": "STRING",
|
|
125
|
+
"Required": [],
|
|
126
|
+
"Properties": [],
|
|
127
|
+
"Desc": "Reply to User Message",
|
|
128
|
+
"Value": {
|
|
129
|
+
"InputType": "USER_INPUT",
|
|
130
|
+
"UserInputValue": {
|
|
131
|
+
"Values": [
|
|
132
|
+
""
|
|
133
|
+
],
|
|
134
|
+
"FileNames": []
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
"AnalysisMethod": "COVER"
|
|
138
|
+
}
|
|
139
|
+
],
|
|
140
|
+
"Desc": "Output content",
|
|
141
|
+
"AnalysisMethod": "COVER"
|
|
142
|
+
}
|
|
143
|
+
],
|
|
144
|
+
"NextNodeIDs": [
|
|
145
|
+
"end"
|
|
146
|
+
]
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"NodeID": "end",
|
|
150
|
+
"NodeName": "End",
|
|
151
|
+
"NodeDesc": "",
|
|
152
|
+
"NodeType": "END",
|
|
153
|
+
"Inputs": [],
|
|
154
|
+
"Outputs": [],
|
|
155
|
+
"NextNodeIDs": []
|
|
156
|
+
}
|
|
157
|
+
],
|
|
158
|
+
"Mode": "NORMAL"
|
|
159
|
+
}
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
{
|
|
2
|
+
"ProtoVersion": "V2_6",
|
|
3
|
+
"WorkflowID": "",
|
|
4
|
+
"WorkflowName": "deep-research-main",
|
|
5
|
+
"WorkflowDesc": "Deep research: plan, research, summarize the user question",
|
|
6
|
+
"Nodes": [
|
|
7
|
+
{
|
|
8
|
+
"NodeID": "start",
|
|
9
|
+
"NodeName": "Start",
|
|
10
|
+
"NodeDesc": "",
|
|
11
|
+
"NodeType": "START",
|
|
12
|
+
"StartNodeData": {},
|
|
13
|
+
"Inputs": [],
|
|
14
|
+
"Outputs": [],
|
|
15
|
+
"NextNodeIDs": [
|
|
16
|
+
"ref_plan"
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"NodeID": "ref_plan",
|
|
21
|
+
"NodeName": "拆解问题",
|
|
22
|
+
"NodeDesc": "",
|
|
23
|
+
"NodeType": "WORKFLOW_REF",
|
|
24
|
+
"WorkflowRefNodeData": {
|
|
25
|
+
"WorkflowID": "<PLAN_WORKFLOW_ID>",
|
|
26
|
+
"RefInputs": [
|
|
27
|
+
{
|
|
28
|
+
"Name": "topic",
|
|
29
|
+
"Type": "STRING",
|
|
30
|
+
"Input": {
|
|
31
|
+
"InputType": "SYSTEM_VARIABLE",
|
|
32
|
+
"SystemVariable": {
|
|
33
|
+
"Name": "SYS.UserQuery"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
"Inputs": [],
|
|
40
|
+
"Outputs": [
|
|
41
|
+
{
|
|
42
|
+
"Title": "Output",
|
|
43
|
+
"Type": "OBJECT",
|
|
44
|
+
"Required": [],
|
|
45
|
+
"Properties": [
|
|
46
|
+
{
|
|
47
|
+
"Title": "result",
|
|
48
|
+
"Name": "result",
|
|
49
|
+
"Type": "STRING",
|
|
50
|
+
"Required": [],
|
|
51
|
+
"Properties": [],
|
|
52
|
+
"Desc": "",
|
|
53
|
+
"AnalysisMethod": "COVER"
|
|
54
|
+
}
|
|
55
|
+
],
|
|
56
|
+
"Desc": "Output content",
|
|
57
|
+
"AnalysisMethod": "COVER"
|
|
58
|
+
}
|
|
59
|
+
],
|
|
60
|
+
"NextNodeIDs": [
|
|
61
|
+
"ref_research"
|
|
62
|
+
],
|
|
63
|
+
"ExceptionHandling": {
|
|
64
|
+
"Switch": "OFF",
|
|
65
|
+
"MaxRetries": "3",
|
|
66
|
+
"RetryInterval": "1",
|
|
67
|
+
"AbnormalOutputResult": "",
|
|
68
|
+
"HandleMethod": "EXCEPTION_OUTPUT",
|
|
69
|
+
"NextNodeIDs": [],
|
|
70
|
+
"AbnormalRetrySwitch": "ABNORMAL_RETRY_ON",
|
|
71
|
+
"Timeout": "0"
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"NodeID": "ref_research",
|
|
76
|
+
"NodeName": "检索研究",
|
|
77
|
+
"NodeDesc": "",
|
|
78
|
+
"NodeType": "WORKFLOW_REF",
|
|
79
|
+
"WorkflowRefNodeData": {
|
|
80
|
+
"WorkflowID": "<RESEARCH_WORKFLOW_ID>",
|
|
81
|
+
"RefInputs": [
|
|
82
|
+
{
|
|
83
|
+
"Name": "topic",
|
|
84
|
+
"Type": "STRING",
|
|
85
|
+
"Input": {
|
|
86
|
+
"InputType": "REFERENCE_OUTPUT",
|
|
87
|
+
"Reference": {
|
|
88
|
+
"NodeID": "ref_plan",
|
|
89
|
+
"JsonPath": "Output.result"
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
]
|
|
94
|
+
},
|
|
95
|
+
"Inputs": [],
|
|
96
|
+
"Outputs": [
|
|
97
|
+
{
|
|
98
|
+
"Title": "Output",
|
|
99
|
+
"Type": "OBJECT",
|
|
100
|
+
"Required": [],
|
|
101
|
+
"Properties": [
|
|
102
|
+
{
|
|
103
|
+
"Title": "result",
|
|
104
|
+
"Name": "result",
|
|
105
|
+
"Type": "STRING",
|
|
106
|
+
"Required": [],
|
|
107
|
+
"Properties": [],
|
|
108
|
+
"Desc": "",
|
|
109
|
+
"AnalysisMethod": "COVER"
|
|
110
|
+
}
|
|
111
|
+
],
|
|
112
|
+
"Desc": "Output content",
|
|
113
|
+
"AnalysisMethod": "COVER"
|
|
114
|
+
}
|
|
115
|
+
],
|
|
116
|
+
"NextNodeIDs": [
|
|
117
|
+
"ref_summarize"
|
|
118
|
+
],
|
|
119
|
+
"ExceptionHandling": {
|
|
120
|
+
"Switch": "OFF",
|
|
121
|
+
"MaxRetries": "3",
|
|
122
|
+
"RetryInterval": "1",
|
|
123
|
+
"AbnormalOutputResult": "",
|
|
124
|
+
"HandleMethod": "EXCEPTION_OUTPUT",
|
|
125
|
+
"NextNodeIDs": [],
|
|
126
|
+
"AbnormalRetrySwitch": "ABNORMAL_RETRY_ON",
|
|
127
|
+
"Timeout": "0"
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"NodeID": "ref_summarize",
|
|
132
|
+
"NodeName": "汇总结论",
|
|
133
|
+
"NodeDesc": "",
|
|
134
|
+
"NodeType": "WORKFLOW_REF",
|
|
135
|
+
"WorkflowRefNodeData": {
|
|
136
|
+
"WorkflowID": "<SUMMARIZE_WORKFLOW_ID>",
|
|
137
|
+
"RefInputs": [
|
|
138
|
+
{
|
|
139
|
+
"Name": "topic",
|
|
140
|
+
"Type": "STRING",
|
|
141
|
+
"Input": {
|
|
142
|
+
"InputType": "REFERENCE_OUTPUT",
|
|
143
|
+
"Reference": {
|
|
144
|
+
"NodeID": "ref_research",
|
|
145
|
+
"JsonPath": "Output.result"
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
]
|
|
150
|
+
},
|
|
151
|
+
"Inputs": [],
|
|
152
|
+
"Outputs": [
|
|
153
|
+
{
|
|
154
|
+
"Title": "Output",
|
|
155
|
+
"Type": "OBJECT",
|
|
156
|
+
"Required": [],
|
|
157
|
+
"Properties": [
|
|
158
|
+
{
|
|
159
|
+
"Title": "result",
|
|
160
|
+
"Name": "result",
|
|
161
|
+
"Type": "STRING",
|
|
162
|
+
"Required": [],
|
|
163
|
+
"Properties": [],
|
|
164
|
+
"Desc": "",
|
|
165
|
+
"AnalysisMethod": "COVER"
|
|
166
|
+
}
|
|
167
|
+
],
|
|
168
|
+
"Desc": "Output content",
|
|
169
|
+
"AnalysisMethod": "COVER"
|
|
170
|
+
}
|
|
171
|
+
],
|
|
172
|
+
"NextNodeIDs": [
|
|
173
|
+
"answer1"
|
|
174
|
+
],
|
|
175
|
+
"ExceptionHandling": {
|
|
176
|
+
"Switch": "OFF",
|
|
177
|
+
"MaxRetries": "3",
|
|
178
|
+
"RetryInterval": "1",
|
|
179
|
+
"AbnormalOutputResult": "",
|
|
180
|
+
"HandleMethod": "EXCEPTION_OUTPUT",
|
|
181
|
+
"NextNodeIDs": [],
|
|
182
|
+
"AbnormalRetrySwitch": "ABNORMAL_RETRY_ON",
|
|
183
|
+
"Timeout": "0"
|
|
184
|
+
}
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
"NodeID": "answer1",
|
|
188
|
+
"NodeName": "回复",
|
|
189
|
+
"NodeDesc": "",
|
|
190
|
+
"NodeType": "ANSWER",
|
|
191
|
+
"AnswerNodeData": {
|
|
192
|
+
"Answer": "MAIN:{{r}}"
|
|
193
|
+
},
|
|
194
|
+
"Inputs": [
|
|
195
|
+
{
|
|
196
|
+
"Name": "r",
|
|
197
|
+
"Type": "STRING",
|
|
198
|
+
"Input": {
|
|
199
|
+
"InputType": "REFERENCE_OUTPUT",
|
|
200
|
+
"Reference": {
|
|
201
|
+
"NodeID": "ref_summarize",
|
|
202
|
+
"JsonPath": "Output.result"
|
|
203
|
+
}
|
|
204
|
+
},
|
|
205
|
+
"Desc": "",
|
|
206
|
+
"IsRequired": false,
|
|
207
|
+
"SubInputs": [],
|
|
208
|
+
"DefaultValue": "",
|
|
209
|
+
"DefaultFileName": ""
|
|
210
|
+
}
|
|
211
|
+
],
|
|
212
|
+
"Outputs": [
|
|
213
|
+
{
|
|
214
|
+
"Title": "Output",
|
|
215
|
+
"Type": "OBJECT",
|
|
216
|
+
"Required": [],
|
|
217
|
+
"Properties": [
|
|
218
|
+
{
|
|
219
|
+
"Title": "Answer",
|
|
220
|
+
"Type": "STRING",
|
|
221
|
+
"Required": [],
|
|
222
|
+
"Properties": [],
|
|
223
|
+
"Desc": "Reply to User Message",
|
|
224
|
+
"Value": {
|
|
225
|
+
"InputType": "USER_INPUT",
|
|
226
|
+
"UserInputValue": {
|
|
227
|
+
"Values": [
|
|
228
|
+
""
|
|
229
|
+
],
|
|
230
|
+
"FileNames": []
|
|
231
|
+
}
|
|
232
|
+
},
|
|
233
|
+
"AnalysisMethod": "COVER"
|
|
234
|
+
}
|
|
235
|
+
],
|
|
236
|
+
"Desc": "Output content",
|
|
237
|
+
"AnalysisMethod": "COVER"
|
|
238
|
+
}
|
|
239
|
+
],
|
|
240
|
+
"NextNodeIDs": [
|
|
241
|
+
"end"
|
|
242
|
+
]
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
"NodeID": "end",
|
|
246
|
+
"NodeName": "End",
|
|
247
|
+
"NodeDesc": "",
|
|
248
|
+
"NodeType": "END",
|
|
249
|
+
"Inputs": [],
|
|
250
|
+
"Outputs": [
|
|
251
|
+
{
|
|
252
|
+
"Title": "Output",
|
|
253
|
+
"Type": "OBJECT",
|
|
254
|
+
"Required": [],
|
|
255
|
+
"Properties": [],
|
|
256
|
+
"Desc": "Output content",
|
|
257
|
+
"Value": {
|
|
258
|
+
"InputType": "USER_INPUT"
|
|
259
|
+
},
|
|
260
|
+
"AnalysisMethod": "COVER"
|
|
261
|
+
}
|
|
262
|
+
],
|
|
263
|
+
"NextNodeIDs": []
|
|
264
|
+
}
|
|
265
|
+
],
|
|
266
|
+
"Mode": "NORMAL"
|
|
267
|
+
}
|