tars-cli 0.1.2__tar.gz → 0.1.4__tar.gz
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.
- {tars_cli-0.1.2 → tars_cli-0.1.4}/PKG-INFO +65 -4
- {tars_cli-0.1.2 → tars_cli-0.1.4}/README.md +64 -3
- {tars_cli-0.1.2 → tars_cli-0.1.4}/pyproject.toml +1 -1
- tars_cli-0.1.4/tars_cli/__init__.py +1 -0
- {tars_cli-0.1.2 → tars_cli-0.1.4}/tars_cli/commands/auth_cmd.py +5 -1
- {tars_cli-0.1.2 → tars_cli-0.1.4}/tars_cli/commands/eval_cmd.py +2 -3
- {tars_cli-0.1.2 → tars_cli-0.1.4}/tars_cli/commands/plugin_cmd.py +4 -3
- {tars_cli-0.1.2 → tars_cli-0.1.4}/tars_cli/hints.py +2 -2
- {tars_cli-0.1.2 → tars_cli-0.1.4}/tars_cli.egg-info/PKG-INFO +65 -4
- tars_cli-0.1.2/tars_cli/__init__.py +0 -1
- {tars_cli-0.1.2 → tars_cli-0.1.4}/setup.cfg +0 -0
- {tars_cli-0.1.2 → tars_cli-0.1.4}/tars_cli/__main__.py +0 -0
- {tars_cli-0.1.2 → tars_cli-0.1.4}/tars_cli/app.py +0 -0
- {tars_cli-0.1.2 → tars_cli-0.1.4}/tars_cli/auth.py +0 -0
- {tars_cli-0.1.2 → tars_cli-0.1.4}/tars_cli/client.py +0 -0
- {tars_cli-0.1.2 → tars_cli-0.1.4}/tars_cli/commands/__init__.py +0 -0
- {tars_cli-0.1.2 → tars_cli-0.1.4}/tars_cli/commands/dataset_cmd.py +0 -0
- {tars_cli-0.1.2 → tars_cli-0.1.4}/tars_cli/commands/template_cmd.py +0 -0
- {tars_cli-0.1.2 → tars_cli-0.1.4}/tars_cli/config.py +0 -0
- {tars_cli-0.1.2 → tars_cli-0.1.4}/tars_cli/output.py +0 -0
- {tars_cli-0.1.2 → tars_cli-0.1.4}/tars_cli/utils/__init__.py +0 -0
- {tars_cli-0.1.2 → tars_cli-0.1.4}/tars_cli/utils/polling.py +0 -0
- {tars_cli-0.1.2 → tars_cli-0.1.4}/tars_cli/utils/progress.py +0 -0
- {tars_cli-0.1.2 → tars_cli-0.1.4}/tars_cli.egg-info/SOURCES.txt +0 -0
- {tars_cli-0.1.2 → tars_cli-0.1.4}/tars_cli.egg-info/dependency_links.txt +0 -0
- {tars_cli-0.1.2 → tars_cli-0.1.4}/tars_cli.egg-info/entry_points.txt +0 -0
- {tars_cli-0.1.2 → tars_cli-0.1.4}/tars_cli.egg-info/requires.txt +0 -0
- {tars_cli-0.1.2 → tars_cli-0.1.4}/tars_cli.egg-info/top_level.txt +0 -0
- {tars_cli-0.1.2 → tars_cli-0.1.4}/tests/test_auth.py +0 -0
- {tars_cli-0.1.2 → tars_cli-0.1.4}/tests/test_client.py +0 -0
- {tars_cli-0.1.2 → tars_cli-0.1.4}/tests/test_config.py +0 -0
- {tars_cli-0.1.2 → tars_cli-0.1.4}/tests/test_hints.py +0 -0
- {tars_cli-0.1.2 → tars_cli-0.1.4}/tests/test_output.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tars-cli
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.4
|
|
4
4
|
Summary: tars 平台命令行工具
|
|
5
5
|
Requires-Python: >=3.11
|
|
6
6
|
Description-Content-Type: text/markdown
|
|
@@ -32,7 +32,7 @@ pip install tars-cli
|
|
|
32
32
|
|
|
33
33
|
```bash
|
|
34
34
|
$ tars --version
|
|
35
|
-
tars-cli 0.1.
|
|
35
|
+
tars-cli 0.1.4
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
### 升级
|
|
@@ -91,6 +91,14 @@ $ tars plugin import https://github.com/example/agent-eval.git
|
|
|
91
91
|
插件ID: 46a387de-f10b-4e6a-be0e-04f634f53915
|
|
92
92
|
查看详情: https://your-tars-server.com/plugins/46a387de-f10b-4e6a-be0e-04f634f53915
|
|
93
93
|
|
|
94
|
+
$ tars plugin import /Users/easyops/Downloads/ticket-mate-1.0.0.zip --overwrite
|
|
95
|
+
正在验证插件...
|
|
96
|
+
✓ 插件验证通过
|
|
97
|
+
正在导入插件...
|
|
98
|
+
✓ 插件导入成功(已覆盖)
|
|
99
|
+
插件ID: 46a387de-f10b-4e6a-be0e-04f634f53915
|
|
100
|
+
查看详情: https://your-tars-server.com/plugins/46a387de-f10b-4e6a-be0e-04f634f53915
|
|
101
|
+
|
|
94
102
|
$ tars plugin export-report 46a387de-f10b-4e6a-be0e-04f634f53915
|
|
95
103
|
✓ 报告已导出
|
|
96
104
|
文件: report_46a387de_20260518120000.html
|
|
@@ -114,8 +122,14 @@ $ tars template download testcase-multi
|
|
|
114
122
|
|
|
115
123
|
### 数据集管理
|
|
116
124
|
|
|
125
|
+
> `--agent-name` 和 `--skill-name` 二选一,必须指定其中一个。`publish` 仅需版本 ID,无需指定目标。
|
|
126
|
+
>
|
|
127
|
+
> `--conversation-type`(简写 `-t`)支持 `single_turn`(默认)和 `multi_turn`,用于指定会话类型。
|
|
128
|
+
|
|
129
|
+
#### 按 Agent 生成 & 管理
|
|
130
|
+
|
|
117
131
|
```bash
|
|
118
|
-
$ tars dataset generate 46a387de-f10b-4e6a-be0e-04f634f53915 --agent-name agent-eval
|
|
132
|
+
$ tars dataset generate 46a387de-f10b-4e6a-be0e-04f634f53915 --agent-name agent-eval --conversation-type single_turn
|
|
119
133
|
正在创建数据集版本...
|
|
120
134
|
✓ 版本已创建: fbe88a2a-b830-4b1f-89d9-2ec6c158aaa2
|
|
121
135
|
正在生成评估计划...
|
|
@@ -125,20 +139,49 @@ $ tars dataset generate 46a387de-f10b-4e6a-be0e-04f634f53915 --agent-name agent-
|
|
|
125
139
|
███████████████████████████████████████ 100%
|
|
126
140
|
✓ 测试用例生成完成 (15 条)
|
|
127
141
|
|
|
128
|
-
$ tars dataset list 46a387de-f10b-4e6a-be0e-04f634f53915 --agent-name agent-eval
|
|
142
|
+
$ tars dataset list 46a387de-f10b-4e6a-be0e-04f634f53915 --agent-name agent-eval --conversation-type single_turn
|
|
129
143
|
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┓
|
|
130
144
|
┃ Version ID ┃ Status ┃ Cases ┃ Created At ┃
|
|
131
145
|
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━┩
|
|
132
146
|
│ fbe88a2a-b830-4b1f... │ published│ 15 │ 2026-05-18 12:00 │
|
|
133
147
|
│ 35839ba6-824b-4581... │ draft │ 10 │ 2026-05-17 09:30 │
|
|
134
148
|
└──────────────────────────────┴──────────┴────────┴────────────────────┘
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
#### 按 Skill 生成 & 管理
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
$ tars dataset generate 46a387de-f10b-4e6a-be0e-04f634f53915 --skill-name my-skill --conversation-type multi_turn
|
|
155
|
+
正在创建数据集版本...
|
|
156
|
+
✓ 版本已创建: a1b2c3d4-e5f6-7890-abcd-ef1234567890
|
|
157
|
+
正在生成评估计划...
|
|
158
|
+
███████████████████████████████████████ 100%
|
|
159
|
+
✓ 评估计划生成完成
|
|
160
|
+
正在生成测试用例...
|
|
161
|
+
███████████████████████████████████████ 100%
|
|
162
|
+
✓ 测试用例生成完成 (8 条)
|
|
163
|
+
|
|
164
|
+
$ tars dataset list 46a387de-f10b-4e6a-be0e-04f634f53915 --skill-name my-skill --conversation-type multi_turn
|
|
165
|
+
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┓
|
|
166
|
+
┃ Version ID ┃ Status ┃ Cases ┃ Created At ┃
|
|
167
|
+
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━┩
|
|
168
|
+
│ a1b2c3d4-e5f6-7890... │ published│ 8 │ 2026-05-18 14:00 │
|
|
169
|
+
└──────────────────────────────┴──────────┴────────┴────────────────────┘
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
#### 发布数据集版本
|
|
135
173
|
|
|
174
|
+
```bash
|
|
136
175
|
$ tars dataset publish fbe88a2a-b830-4b1f-89d9-2ec6c158aaa2
|
|
137
176
|
✓ 数据集版本已发布
|
|
138
177
|
```
|
|
139
178
|
|
|
140
179
|
### 评估
|
|
141
180
|
|
|
181
|
+
> `--agent-name` 和 `--skill-name` 二选一,可不传。`eval status` 仅需任务 ID。
|
|
182
|
+
|
|
183
|
+
#### 按 Agent 评估
|
|
184
|
+
|
|
142
185
|
```bash
|
|
143
186
|
$ tars eval run 46a387de-f10b-4e6a-be0e-04f634f53915 --agent-name agent-eval --dataset-version fbe88a2a-b830-4b1f-89d9-2ec6c158aaa2
|
|
144
187
|
正在创建评估任务...
|
|
@@ -155,7 +198,25 @@ $ tars eval run 46a387de-f10b-4e6a-be0e-04f634f53915 --agent-name agent-eval --d
|
|
|
155
198
|
总分: 0.75
|
|
156
199
|
阈值: 0.8
|
|
157
200
|
✗ 评估未通过:总分 0.75 低于阈值 0.8
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
#### 按 Skill 评估
|
|
158
204
|
|
|
205
|
+
```bash
|
|
206
|
+
$ tars eval run db22abf8-9706-43fb-926e-20c1b836616a --skill-name tickets --dataset-version 02412e94-2af5-4f82-ab3f-1a6b098be2b9
|
|
207
|
+
正在创建评估任务...
|
|
208
|
+
✓ 评估任务已创建: 6612b197-6b3c-461b-a412-ae0176ea1b31
|
|
209
|
+
正在执行评估...
|
|
210
|
+
███████████████████████████████████████ 100%
|
|
211
|
+
✓ 评估完成
|
|
212
|
+
总分: 0.82
|
|
213
|
+
通过: 10/12 (83%)
|
|
214
|
+
查看详情: https://your-tars-server.com/plugins/db22abf8-9706-43fb-926e-20c1b836616a/evaluation/6612b197-6b3c-461b-a412-ae0176ea1b31
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
#### 查看评估状态
|
|
218
|
+
|
|
219
|
+
```bash
|
|
159
220
|
$ tars eval status 6612b197-6b3c-461b-a412-ae0176ea1b31
|
|
160
221
|
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┓
|
|
161
222
|
┃ Task ID ┃ Status ┃ Score ┃ Total ┃ Passed ┃ Failed ┃
|
|
@@ -12,7 +12,7 @@ pip install tars-cli
|
|
|
12
12
|
|
|
13
13
|
```bash
|
|
14
14
|
$ tars --version
|
|
15
|
-
tars-cli 0.1.
|
|
15
|
+
tars-cli 0.1.4
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
### 升级
|
|
@@ -71,6 +71,14 @@ $ tars plugin import https://github.com/example/agent-eval.git
|
|
|
71
71
|
插件ID: 46a387de-f10b-4e6a-be0e-04f634f53915
|
|
72
72
|
查看详情: https://your-tars-server.com/plugins/46a387de-f10b-4e6a-be0e-04f634f53915
|
|
73
73
|
|
|
74
|
+
$ tars plugin import /Users/easyops/Downloads/ticket-mate-1.0.0.zip --overwrite
|
|
75
|
+
正在验证插件...
|
|
76
|
+
✓ 插件验证通过
|
|
77
|
+
正在导入插件...
|
|
78
|
+
✓ 插件导入成功(已覆盖)
|
|
79
|
+
插件ID: 46a387de-f10b-4e6a-be0e-04f634f53915
|
|
80
|
+
查看详情: https://your-tars-server.com/plugins/46a387de-f10b-4e6a-be0e-04f634f53915
|
|
81
|
+
|
|
74
82
|
$ tars plugin export-report 46a387de-f10b-4e6a-be0e-04f634f53915
|
|
75
83
|
✓ 报告已导出
|
|
76
84
|
文件: report_46a387de_20260518120000.html
|
|
@@ -94,8 +102,14 @@ $ tars template download testcase-multi
|
|
|
94
102
|
|
|
95
103
|
### 数据集管理
|
|
96
104
|
|
|
105
|
+
> `--agent-name` 和 `--skill-name` 二选一,必须指定其中一个。`publish` 仅需版本 ID,无需指定目标。
|
|
106
|
+
>
|
|
107
|
+
> `--conversation-type`(简写 `-t`)支持 `single_turn`(默认)和 `multi_turn`,用于指定会话类型。
|
|
108
|
+
|
|
109
|
+
#### 按 Agent 生成 & 管理
|
|
110
|
+
|
|
97
111
|
```bash
|
|
98
|
-
$ tars dataset generate 46a387de-f10b-4e6a-be0e-04f634f53915 --agent-name agent-eval
|
|
112
|
+
$ tars dataset generate 46a387de-f10b-4e6a-be0e-04f634f53915 --agent-name agent-eval --conversation-type single_turn
|
|
99
113
|
正在创建数据集版本...
|
|
100
114
|
✓ 版本已创建: fbe88a2a-b830-4b1f-89d9-2ec6c158aaa2
|
|
101
115
|
正在生成评估计划...
|
|
@@ -105,20 +119,49 @@ $ tars dataset generate 46a387de-f10b-4e6a-be0e-04f634f53915 --agent-name agent-
|
|
|
105
119
|
███████████████████████████████████████ 100%
|
|
106
120
|
✓ 测试用例生成完成 (15 条)
|
|
107
121
|
|
|
108
|
-
$ tars dataset list 46a387de-f10b-4e6a-be0e-04f634f53915 --agent-name agent-eval
|
|
122
|
+
$ tars dataset list 46a387de-f10b-4e6a-be0e-04f634f53915 --agent-name agent-eval --conversation-type single_turn
|
|
109
123
|
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┓
|
|
110
124
|
┃ Version ID ┃ Status ┃ Cases ┃ Created At ┃
|
|
111
125
|
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━┩
|
|
112
126
|
│ fbe88a2a-b830-4b1f... │ published│ 15 │ 2026-05-18 12:00 │
|
|
113
127
|
│ 35839ba6-824b-4581... │ draft │ 10 │ 2026-05-17 09:30 │
|
|
114
128
|
└──────────────────────────────┴──────────┴────────┴────────────────────┘
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
#### 按 Skill 生成 & 管理
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
$ tars dataset generate 46a387de-f10b-4e6a-be0e-04f634f53915 --skill-name my-skill --conversation-type multi_turn
|
|
135
|
+
正在创建数据集版本...
|
|
136
|
+
✓ 版本已创建: a1b2c3d4-e5f6-7890-abcd-ef1234567890
|
|
137
|
+
正在生成评估计划...
|
|
138
|
+
███████████████████████████████████████ 100%
|
|
139
|
+
✓ 评估计划生成完成
|
|
140
|
+
正在生成测试用例...
|
|
141
|
+
███████████████████████████████████████ 100%
|
|
142
|
+
✓ 测试用例生成完成 (8 条)
|
|
143
|
+
|
|
144
|
+
$ tars dataset list 46a387de-f10b-4e6a-be0e-04f634f53915 --skill-name my-skill --conversation-type multi_turn
|
|
145
|
+
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┓
|
|
146
|
+
┃ Version ID ┃ Status ┃ Cases ┃ Created At ┃
|
|
147
|
+
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━┩
|
|
148
|
+
│ a1b2c3d4-e5f6-7890... │ published│ 8 │ 2026-05-18 14:00 │
|
|
149
|
+
└──────────────────────────────┴──────────┴────────┴────────────────────┘
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
#### 发布数据集版本
|
|
115
153
|
|
|
154
|
+
```bash
|
|
116
155
|
$ tars dataset publish fbe88a2a-b830-4b1f-89d9-2ec6c158aaa2
|
|
117
156
|
✓ 数据集版本已发布
|
|
118
157
|
```
|
|
119
158
|
|
|
120
159
|
### 评估
|
|
121
160
|
|
|
161
|
+
> `--agent-name` 和 `--skill-name` 二选一,可不传。`eval status` 仅需任务 ID。
|
|
162
|
+
|
|
163
|
+
#### 按 Agent 评估
|
|
164
|
+
|
|
122
165
|
```bash
|
|
123
166
|
$ tars eval run 46a387de-f10b-4e6a-be0e-04f634f53915 --agent-name agent-eval --dataset-version fbe88a2a-b830-4b1f-89d9-2ec6c158aaa2
|
|
124
167
|
正在创建评估任务...
|
|
@@ -135,7 +178,25 @@ $ tars eval run 46a387de-f10b-4e6a-be0e-04f634f53915 --agent-name agent-eval --d
|
|
|
135
178
|
总分: 0.75
|
|
136
179
|
阈值: 0.8
|
|
137
180
|
✗ 评估未通过:总分 0.75 低于阈值 0.8
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
#### 按 Skill 评估
|
|
138
184
|
|
|
185
|
+
```bash
|
|
186
|
+
$ tars eval run db22abf8-9706-43fb-926e-20c1b836616a --skill-name tickets --dataset-version 02412e94-2af5-4f82-ab3f-1a6b098be2b9
|
|
187
|
+
正在创建评估任务...
|
|
188
|
+
✓ 评估任务已创建: 6612b197-6b3c-461b-a412-ae0176ea1b31
|
|
189
|
+
正在执行评估...
|
|
190
|
+
███████████████████████████████████████ 100%
|
|
191
|
+
✓ 评估完成
|
|
192
|
+
总分: 0.82
|
|
193
|
+
通过: 10/12 (83%)
|
|
194
|
+
查看详情: https://your-tars-server.com/plugins/db22abf8-9706-43fb-926e-20c1b836616a/evaluation/6612b197-6b3c-461b-a412-ae0176ea1b31
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
#### 查看评估状态
|
|
198
|
+
|
|
199
|
+
```bash
|
|
139
200
|
$ tars eval status 6612b197-6b3c-461b-a412-ae0176ea1b31
|
|
140
201
|
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┓
|
|
141
202
|
┃ Task ID ┃ Status ┃ Score ┃ Total ┃ Passed ┃ Failed ┃
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.1.4"
|
|
@@ -28,7 +28,11 @@ def login(
|
|
|
28
28
|
try:
|
|
29
29
|
resp = client.post("/auth/login", json={"username": username, "password": password})
|
|
30
30
|
if resp.status_code != 200:
|
|
31
|
-
|
|
31
|
+
try:
|
|
32
|
+
detail = resp.json().get("detail", resp.text)
|
|
33
|
+
except Exception:
|
|
34
|
+
detail = resp.text or f"HTTP {resp.status_code}"
|
|
35
|
+
typer.echo(f"登录失败: {detail}", err=True)
|
|
32
36
|
raise typer.Exit(code=2)
|
|
33
37
|
|
|
34
38
|
data = resp.json()
|
|
@@ -39,9 +39,8 @@ def run(
|
|
|
39
39
|
client = TarsAPIClient(server_url=creds.server_url, credentials=creds, verbose=verbose)
|
|
40
40
|
try:
|
|
41
41
|
body: dict = {"dataset_version_id": dataset_version}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
body["agent_name"] = target_name
|
|
42
|
+
if agent_name:
|
|
43
|
+
body["agent_name"] = agent_name
|
|
45
44
|
if skill_name and not agent_name:
|
|
46
45
|
body["evaluation_target_type"] = "skill"
|
|
47
46
|
body["skill_name"] = skill_name
|
|
@@ -19,6 +19,7 @@ def _is_git_url(source: str) -> bool:
|
|
|
19
19
|
@plugin_app.command("import")
|
|
20
20
|
def import_plugin(
|
|
21
21
|
source: str = typer.Argument(help="Git URL 或本地文件路径"),
|
|
22
|
+
overwrite: bool = typer.Option(False, "--overwrite", help="覆盖同名 Plugin"),
|
|
22
23
|
) -> None:
|
|
23
24
|
"""导入 Plugin(自动识别 Git URL 或文件)"""
|
|
24
25
|
output_fmt, quiet, verbose, server = get_global_options()
|
|
@@ -30,12 +31,12 @@ def import_plugin(
|
|
|
30
31
|
client = TarsAPIClient(server_url=creds.server_url, credentials=creds, verbose=verbose)
|
|
31
32
|
try:
|
|
32
33
|
if _is_git_url(source):
|
|
33
|
-
resp = client.post("/plugins/import-git/validate", json={"
|
|
34
|
+
resp = client.post("/plugins/import-git/validate", json={"url": source})
|
|
34
35
|
if not resp.is_success:
|
|
35
36
|
typer.echo(f"Git URL 验证失败: {resp.text}", err=True)
|
|
36
37
|
raise typer.Exit(code=2)
|
|
37
38
|
|
|
38
|
-
resp = client.post("/plugins/import-git", json={"
|
|
39
|
+
resp = client.post("/plugins/import-git", json={"url": source, "overwrite": overwrite})
|
|
39
40
|
else:
|
|
40
41
|
file_path = Path(source)
|
|
41
42
|
if not file_path.exists():
|
|
@@ -49,7 +50,7 @@ def import_plugin(
|
|
|
49
50
|
raise typer.Exit(code=2)
|
|
50
51
|
|
|
51
52
|
with open(file_path, "rb") as f:
|
|
52
|
-
resp = client.post("/plugins/upload", files={"file": (file_path.name, f)})
|
|
53
|
+
resp = client.post("/plugins/upload", files={"file": (file_path.name, f)}, data={"overwrite": str(overwrite).lower()})
|
|
53
54
|
|
|
54
55
|
if not resp.is_success:
|
|
55
56
|
typer.echo(f"导入失败: {resp.text}", err=True)
|
|
@@ -16,8 +16,8 @@ ROUTE_MAP: dict[str, str] = {
|
|
|
16
16
|
NEXT_STEP_MAP: dict[str, str] = {
|
|
17
17
|
"auth_login": "tars plugin import <git_url_or_file_path>",
|
|
18
18
|
"plugin_import": "tars dataset generate {plugin_id} --agent-name <name> --conversation-type single_turn",
|
|
19
|
-
"dataset_generate": "tars
|
|
20
|
-
"dataset_upload": "tars
|
|
19
|
+
"dataset_generate": "tars dataset publish {version_id}",
|
|
20
|
+
"dataset_upload": "tars dataset publish {version_id}",
|
|
21
21
|
"dataset_publish": "tars eval run {plugin_id} --agent-name <name> --dataset-version {version_id}",
|
|
22
22
|
"eval_run": "tars plugin export-report {plugin_id}",
|
|
23
23
|
"template_download": "tars dataset upload {plugin_id} --agent-name <name> --plan plan.yaml --cases cases.yaml",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tars-cli
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.4
|
|
4
4
|
Summary: tars 平台命令行工具
|
|
5
5
|
Requires-Python: >=3.11
|
|
6
6
|
Description-Content-Type: text/markdown
|
|
@@ -32,7 +32,7 @@ pip install tars-cli
|
|
|
32
32
|
|
|
33
33
|
```bash
|
|
34
34
|
$ tars --version
|
|
35
|
-
tars-cli 0.1.
|
|
35
|
+
tars-cli 0.1.4
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
### 升级
|
|
@@ -91,6 +91,14 @@ $ tars plugin import https://github.com/example/agent-eval.git
|
|
|
91
91
|
插件ID: 46a387de-f10b-4e6a-be0e-04f634f53915
|
|
92
92
|
查看详情: https://your-tars-server.com/plugins/46a387de-f10b-4e6a-be0e-04f634f53915
|
|
93
93
|
|
|
94
|
+
$ tars plugin import /Users/easyops/Downloads/ticket-mate-1.0.0.zip --overwrite
|
|
95
|
+
正在验证插件...
|
|
96
|
+
✓ 插件验证通过
|
|
97
|
+
正在导入插件...
|
|
98
|
+
✓ 插件导入成功(已覆盖)
|
|
99
|
+
插件ID: 46a387de-f10b-4e6a-be0e-04f634f53915
|
|
100
|
+
查看详情: https://your-tars-server.com/plugins/46a387de-f10b-4e6a-be0e-04f634f53915
|
|
101
|
+
|
|
94
102
|
$ tars plugin export-report 46a387de-f10b-4e6a-be0e-04f634f53915
|
|
95
103
|
✓ 报告已导出
|
|
96
104
|
文件: report_46a387de_20260518120000.html
|
|
@@ -114,8 +122,14 @@ $ tars template download testcase-multi
|
|
|
114
122
|
|
|
115
123
|
### 数据集管理
|
|
116
124
|
|
|
125
|
+
> `--agent-name` 和 `--skill-name` 二选一,必须指定其中一个。`publish` 仅需版本 ID,无需指定目标。
|
|
126
|
+
>
|
|
127
|
+
> `--conversation-type`(简写 `-t`)支持 `single_turn`(默认)和 `multi_turn`,用于指定会话类型。
|
|
128
|
+
|
|
129
|
+
#### 按 Agent 生成 & 管理
|
|
130
|
+
|
|
117
131
|
```bash
|
|
118
|
-
$ tars dataset generate 46a387de-f10b-4e6a-be0e-04f634f53915 --agent-name agent-eval
|
|
132
|
+
$ tars dataset generate 46a387de-f10b-4e6a-be0e-04f634f53915 --agent-name agent-eval --conversation-type single_turn
|
|
119
133
|
正在创建数据集版本...
|
|
120
134
|
✓ 版本已创建: fbe88a2a-b830-4b1f-89d9-2ec6c158aaa2
|
|
121
135
|
正在生成评估计划...
|
|
@@ -125,20 +139,49 @@ $ tars dataset generate 46a387de-f10b-4e6a-be0e-04f634f53915 --agent-name agent-
|
|
|
125
139
|
███████████████████████████████████████ 100%
|
|
126
140
|
✓ 测试用例生成完成 (15 条)
|
|
127
141
|
|
|
128
|
-
$ tars dataset list 46a387de-f10b-4e6a-be0e-04f634f53915 --agent-name agent-eval
|
|
142
|
+
$ tars dataset list 46a387de-f10b-4e6a-be0e-04f634f53915 --agent-name agent-eval --conversation-type single_turn
|
|
129
143
|
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┓
|
|
130
144
|
┃ Version ID ┃ Status ┃ Cases ┃ Created At ┃
|
|
131
145
|
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━┩
|
|
132
146
|
│ fbe88a2a-b830-4b1f... │ published│ 15 │ 2026-05-18 12:00 │
|
|
133
147
|
│ 35839ba6-824b-4581... │ draft │ 10 │ 2026-05-17 09:30 │
|
|
134
148
|
└──────────────────────────────┴──────────┴────────┴────────────────────┘
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
#### 按 Skill 生成 & 管理
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
$ tars dataset generate 46a387de-f10b-4e6a-be0e-04f634f53915 --skill-name my-skill --conversation-type multi_turn
|
|
155
|
+
正在创建数据集版本...
|
|
156
|
+
✓ 版本已创建: a1b2c3d4-e5f6-7890-abcd-ef1234567890
|
|
157
|
+
正在生成评估计划...
|
|
158
|
+
███████████████████████████████████████ 100%
|
|
159
|
+
✓ 评估计划生成完成
|
|
160
|
+
正在生成测试用例...
|
|
161
|
+
███████████████████████████████████████ 100%
|
|
162
|
+
✓ 测试用例生成完成 (8 条)
|
|
163
|
+
|
|
164
|
+
$ tars dataset list 46a387de-f10b-4e6a-be0e-04f634f53915 --skill-name my-skill --conversation-type multi_turn
|
|
165
|
+
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┓
|
|
166
|
+
┃ Version ID ┃ Status ┃ Cases ┃ Created At ┃
|
|
167
|
+
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━┩
|
|
168
|
+
│ a1b2c3d4-e5f6-7890... │ published│ 8 │ 2026-05-18 14:00 │
|
|
169
|
+
└──────────────────────────────┴──────────┴────────┴────────────────────┘
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
#### 发布数据集版本
|
|
135
173
|
|
|
174
|
+
```bash
|
|
136
175
|
$ tars dataset publish fbe88a2a-b830-4b1f-89d9-2ec6c158aaa2
|
|
137
176
|
✓ 数据集版本已发布
|
|
138
177
|
```
|
|
139
178
|
|
|
140
179
|
### 评估
|
|
141
180
|
|
|
181
|
+
> `--agent-name` 和 `--skill-name` 二选一,可不传。`eval status` 仅需任务 ID。
|
|
182
|
+
|
|
183
|
+
#### 按 Agent 评估
|
|
184
|
+
|
|
142
185
|
```bash
|
|
143
186
|
$ tars eval run 46a387de-f10b-4e6a-be0e-04f634f53915 --agent-name agent-eval --dataset-version fbe88a2a-b830-4b1f-89d9-2ec6c158aaa2
|
|
144
187
|
正在创建评估任务...
|
|
@@ -155,7 +198,25 @@ $ tars eval run 46a387de-f10b-4e6a-be0e-04f634f53915 --agent-name agent-eval --d
|
|
|
155
198
|
总分: 0.75
|
|
156
199
|
阈值: 0.8
|
|
157
200
|
✗ 评估未通过:总分 0.75 低于阈值 0.8
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
#### 按 Skill 评估
|
|
158
204
|
|
|
205
|
+
```bash
|
|
206
|
+
$ tars eval run db22abf8-9706-43fb-926e-20c1b836616a --skill-name tickets --dataset-version 02412e94-2af5-4f82-ab3f-1a6b098be2b9
|
|
207
|
+
正在创建评估任务...
|
|
208
|
+
✓ 评估任务已创建: 6612b197-6b3c-461b-a412-ae0176ea1b31
|
|
209
|
+
正在执行评估...
|
|
210
|
+
███████████████████████████████████████ 100%
|
|
211
|
+
✓ 评估完成
|
|
212
|
+
总分: 0.82
|
|
213
|
+
通过: 10/12 (83%)
|
|
214
|
+
查看详情: https://your-tars-server.com/plugins/db22abf8-9706-43fb-926e-20c1b836616a/evaluation/6612b197-6b3c-461b-a412-ae0176ea1b31
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
#### 查看评估状态
|
|
218
|
+
|
|
219
|
+
```bash
|
|
159
220
|
$ tars eval status 6612b197-6b3c-461b-a412-ae0176ea1b31
|
|
160
221
|
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┓
|
|
161
222
|
┃ Task ID ┃ Status ┃ Score ┃ Total ┃ Passed ┃ Failed ┃
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.1.0"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|