Skip to content

Commit 17c269b

Browse files
committed
Merge remote-tracking branch 'refs/remotes/origin/perf/offline-e2e-optimization' into chore/chore-e2e-test
# Conflicts: # packages/commands/tests/e2e/helpers.ts
2 parents 41610aa + 9fd3228 commit 17c269b

121 files changed

Lines changed: 5617 additions & 766 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
name: Clean npm tags
2+
run-name: Clean npm tags (${{ inputs.dry_run && 'preview' || 'delete' }})
3+
4+
on:
5+
workflow_dispatch:
6+
inputs:
7+
bailian_cli:
8+
description: "bailian-cli"
9+
type: boolean
10+
default: true
11+
bailian_cli_core:
12+
description: "bailian-cli-core"
13+
type: boolean
14+
default: true
15+
bailian_cli_runtime:
16+
description: "bailian-cli-runtime"
17+
type: boolean
18+
default: true
19+
bailian_cli_commands:
20+
description: "bailian-cli-commands"
21+
type: boolean
22+
default: true
23+
knowledge_studio_cli:
24+
description: "knowledge-studio-cli"
25+
type: boolean
26+
default: true
27+
bailian_kb_dsh:
28+
description: "bailian-kb-dsh"
29+
type: boolean
30+
default: true
31+
tags:
32+
description: "Tags to remove (spaces, commas or newlines). latest is protected."
33+
type: string
34+
required: true
35+
dry_run:
36+
description: "Preview only / 只预览,不删除"
37+
type: boolean
38+
default: true
39+
40+
permissions:
41+
contents: read
42+
43+
concurrency:
44+
group: cleanup-npm-tags
45+
cancel-in-progress: false
46+
47+
jobs:
48+
cleanup:
49+
runs-on: ubuntu-latest
50+
timeout-minutes: 15
51+
permissions:
52+
contents: read
53+
id-token: write
54+
steps:
55+
- uses: actions/checkout@v6
56+
- uses: actions/setup-node@v6
57+
with:
58+
node-version: "24"
59+
registry-url: "https://registry.npmjs.org/"
60+
package-manager-cache: false
61+
- name: Install npm with OIDC dist-tag support
62+
run: npm install --global npm@11.21.0
63+
- name: Clean selected tags
64+
env:
65+
CLEANUP_CLI: ${{ inputs.bailian_cli }}
66+
CLEANUP_CORE: ${{ inputs.bailian_cli_core }}
67+
CLEANUP_RUNTIME: ${{ inputs.bailian_cli_runtime }}
68+
CLEANUP_COMMANDS: ${{ inputs.bailian_cli_commands }}
69+
CLEANUP_KSCLI: ${{ inputs.knowledge_studio_cli }}
70+
CLEANUP_DSH: ${{ inputs.bailian_kb_dsh }}
71+
CLEANUP_TAGS: ${{ inputs.tags }}
72+
CLEANUP_DRY_RUN: ${{ inputs.dry_run }}
73+
run: node tools/release/cleanup-npm-tags.mjs

‎CHANGELOG.md‎

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,38 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and
66

77
[中文版](CHANGELOG.zh.md) · [README](README.md) · [Contributing](CONTRIBUTING.md)
88

9+
## [2.3.0] - 2026-10-14
10+
11+
### Added
12+
13+
- **Pi Agent integration** — Added support for Pi:
14+
- `bl config agent` adds `--agent pi` to configure Pi to use Bailian models.
15+
- `bl mcp connect` / `bl mcp disconnect` add `--agent pi` to register or remove Bailian MCP servers.
16+
17+
### Fixed
18+
19+
- **Global flag placement** — Use global flags before the complete command path, for example `bl --config token-plan auth status`; command-specific and credential flags must follow the path.
20+
- **Parameter validation and messages** — Help and version queries validate supplied flags. Only explicitly declared flag names are accepted, and parsing errors support English and Chinese messages based on the configured language.
21+
- **File upload timeout** — Use `--timeout` to set the transfer timeout when uploading local files to temporary OSS storage.
22+
23+
## [2.2.2] - 2026-10-14
24+
25+
### Added
26+
27+
- **Model compression lifecycle** — Added `bl finetune compress templates/create/list/get/watch/logs/cancel/delete` for quantizing supported full-parameter fine-tuned models, including dry-run previews, status polling, log retrieval, and safe deletion confirmation.
28+
- **Pi agent support** — `bl config agent` and `bl mcp connect` / `bl mcp disconnect` now support Pi, writing its native configuration while preserving existing settings and redacting credentials in output.
29+
- **Global flags before the command path** — Global flags such as `--config` can now precede the command (`bl --config token-plan auth status`) as well as follow it; both select the Profile for that invocation only, without changing `active_config`. Command-specific and credential flags must still follow the command path.
30+
- **Decision model inference** — Added `bl decision` for TypeSafe System One requests against workspace-scoped endpoints, including `choice` / `noul` / `score` validation, JSON and text output, training-sample reuse, Beijing/Singapore routing, and dry-run previews.
31+
32+
### Changed
33+
34+
- **Decision dataset validation** — Aligned the `decision` schema with the current API: `state` may be a string, object, or array; `instructions` is optional; and question criteria now enforce API limits.
35+
- **Stricter flag validation** — Only flags defined for a command are accepted. Unknown flags, missing values, and invalid values now return usage exit code 2 even when the invocation would otherwise show help, and parser errors follow the Profile language. A bare root or command-group invocation still shows help and returns 0. `--timeout` uses the same positive-finite rule on the command line and in resolved settings.
36+
37+
### Fixed
38+
39+
- **Temporary file upload timeout** — Uploads of local files to temporary OSS storage now honor `--timeout` instead of a fixed 120-second limit.
40+
941
## [2.2.1] - 2026-10-12
1042

1143
### Fixed

‎CHANGELOG.zh.md‎

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,38 @@
66

77
[English](CHANGELOG.md) · [README](README.zh.md) · [参与贡献](CONTRIBUTING.zh.md)
88

9+
## [2.3.0] - 2026-10-14
10+
11+
### 新增
12+
13+
- **Pi Agent 接入** —— 新增 Pi 支持:
14+
- `bl config agent` 新增 `--agent pi`,用于配置 Pi 使用百炼模型。
15+
- `bl mcp connect` / `bl mcp disconnect` 新增 `--agent pi`,用于接入和移除百炼 MCP 服务。
16+
17+
### 修复
18+
19+
- **全局参数位置** —— 支持在完整命令路径前使用全局参数,例如 `bl --config token-plan auth status`;命令专属参数和鉴权参数需放在路径后。
20+
- **参数校验与提示** —— 帮助和版本查询会校验已传入的参数;仅接受命令支持的参数名,参数解析错误支持按配置语言显示中英文提示。
21+
- **文件上传超时** —— `--timeout` 可设置本地文件上传至临时 OSS 的传输超时时间。
22+
23+
## [2.2.2] - 2026-10-14
24+
25+
### 新增
26+
27+
- **模型压缩完整生命周期** —— 新增 `bl finetune compress templates/create/list/get/watch/logs/cancel/delete`,支持对符合条件的全参调优模型执行量化压缩,并覆盖 dry-run 预览、状态轮询、日志查询和安全删除确认。
28+
- **支持 Pi Agent** —— `bl config agent` 与 `bl mcp connect` / `bl mcp disconnect` 新增支持 Pi,写入其原生配置并保留已有设置,输出中的凭据会脱敏。
29+
- **全局参数可前置** —— `--config` 等全局参数现在既可放在命令之后,也可放在命令之前(`bl --config token-plan auth status`);两种写法都只对本次调用选择 Profile,不修改 `active_config`。命令专属参数和凭证域参数仍须放在命令路径之后。
30+
- **决策模型推理** —— 新增 `bl decision`,通过工作空间专属 Endpoint 调用 TypeSafe System One,支持 `choice` / `noul` / `score` 校验、JSON 与文本输出、复用训练样本、北京/新加坡地域路由及 dry-run 预览。
31+
32+
### 变更
33+
34+
- **决策数据集校验** —— 与最新 API 对齐:`state` 可为字符串、对象或数组,`instructions` 改为可选,并按接口限制校验各类问题的 criteria。
35+
- **更严格的参数校验** —— 只接受命令已定义的参数。未知参数、缺少参数值或参数值非法时,即使本次调用原本会显示帮助,也返回用法错误退出码 2,解析错误提示跟随 Profile 语言;不带参数的根命令或命令组仍显示帮助并返回 0。`--timeout` 在命令行和最终生效配置中使用同一套“正有限数”校验规则。
36+
37+
### 修复
38+
39+
- **临时文件上传超时** —— 本地文件上传到临时 OSS 存储时会遵循 `--timeout`,不再固定为 120 秒。
40+
941
## [2.2.1] - 2026-10-12
1042

1143
### 修复

‎README.md‎

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
[![TypeScript](https://img.shields.io/badge/TypeScript-strict-3178c6)](https://www.typescriptlang.org)
1010
[![License](https://img.shields.io/badge/license-Apache%202.0-blue)](LICENSE)
1111

12-
[Aliyun Model Studio CLI Site](https://bailian.console.aliyun.com/cli?source_channel=cli_github&) · [中文文档](https://github.com/modelstudioai/cli/blob/main/README.zh.md) · [API Documentation](https://help.aliyun.com/zh/model-studio/) · [Get API Key](https://bailian.console.aliyun.com/cn-beijing/?source_channel=key_github&tab=app#/api-key)
12+
[Aliyun Model Studio CLI Site](https://bailian.console.aliyun.com/cli?spm=a2ty07.github) · [中文文档](https://github.com/modelstudioai/cli/blob/main/README.zh.md) · [API Documentation](https://help.aliyun.com/zh/model-studio/) · [Get API Key](https://bailian.console.aliyun.com/cn-beijing/?spm=a2ty07.github&tab=app#/api-key)
1313

1414
---
1515

@@ -26,7 +26,7 @@ _Built for AI Agents. Every command works as a structured tool call._
2626
- **Model generation** — Full-modality generation across text, image, video, and speech, with editing and reference-based generation
2727
- **Asset understanding** — Parse and ask questions about images, documents, audio, and long videos
2828
- **App orchestration** — Call Managed Agents, agents, and workflows published on Aliyun Model Studio, wired to knowledge bases, memory, web search, and MCP tools
29-
- **Native MCP setup** — Register Bailian MCP servers in Codex, Claude Code, Cursor, Qoder, Qoder Work, QwenWork (千问办公), Qwen Code, Gemini CLI, or Pi with channel attribution preserved
29+
- **Native MCP setup** — Register Bailian MCP servers in Codex, Claude Code, Cursor, Qoder, Qoder Work, QwenWork (千问办公), Qwen Code, Gemini CLI, or Pi
3030
- **Training & deployment** — Validate and upload datasets, fine-tune models, deploy dedicated models as endpoints
3131
- **Account operations** — Login, UI-based configuration, model marketplace, usage and quota, rate-limit increases, team seat management
3232
- **Plan onboarding** — Connect subscription plans such as Token Plan to the CLI and common coding agents in one step
@@ -67,7 +67,7 @@ One sentence builds a reusable cloud-side short-film director for storyboarding,
6767

6868
- **[Qwen Code](https://github.com/QwenLM/qwen-code)** — understands the requirement and generates the agent configuration
6969
- **[Aliyun Model Studio CLI](https://github.com/modelstudioai/cli/)** — validates the configuration, previews the changes, and completes the deployment
70-
- **[Managed Agent](https://bailian.console.aliyun.com/cn-beijing/?tab=managed-agents#/managed-agents/quick-start)** — runs the director role along with its skills and tools in the cloud
70+
- **[Managed Agent](https://bailian.console.aliyun.com/cn-beijing/?spm=a2ty07.github&tab=managed-agents#/managed-agents/quick-start)** — runs the director role along with its skills and tools in the cloud
7171

7272
### The single prompt
7373

@@ -121,9 +121,10 @@ Once installed, just describe your task to your AI Agent — no need to assemble
121121
| Monitoring & alerts | "Show my model call stats, failures and logs, and create an alert rule." |
122122
| Throughput reservations | "List my throughput reservations and capacity instances, then scale, renew or release capacity and wait for the operation to finish." |
123123
| Model selection | "Recommend a model for image understanding and customer support." |
124+
| Decision model | "Use the Bailian decision model to route this ticket and assess whether it needs escalation." |
124125
| About Bailian CLI | "Tell me what Bailian CLI can do for me, and suggest how to use it for my needs." |
125126

126-
> More examples and scenarios: [Aliyun Model Studio CLI Site](https://bailian.console.aliyun.com/cli?source_channel=cli_github&)
127+
> More examples and scenarios: [Aliyun Model Studio CLI Site](https://bailian.console.aliyun.com/cli?spm=a2ty07.github)
127128
128129
## Authentication
129130

@@ -145,7 +146,7 @@ To use an existing ordinary API key or a Token Plan subscription key, run the sa
145146
bl auth login --api-key <API_KEY>
146147
```
147148

148-
Get an ordinary key from the [DashScope Console](https://bailian.console.aliyun.com/cn-beijing/?source_channel=key_github&tab=app#/api-key), or a Token Plan key from the [subscription overview](https://bailian.console.aliyun.com/cn-beijing?tab=plan#/efm/subscription/overview).
149+
Get an ordinary key from the [DashScope Console](https://bailian.console.aliyun.com/cn-beijing/?spm=a2ty07.github&tab=app#/api-key), or a Token Plan key from the [subscription overview](https://bailian.console.aliyun.com/cn-beijing?spm=a2ty07.github&tab=plan#/efm/subscription/overview).
149150

150151
### Alibaba Cloud OpenAPI AK/SK
151152

@@ -193,12 +194,12 @@ Scan the QR code to join the Aliyun Model Studio CLI DingTalk user group for usa
193194

194195
## Links
195196

196-
| Resource | URL |
197-
| :--------------------------- | :---------------------------------------------------------------------------------------- |
198-
| Aliyun Model Studio CLI Site | https://bailian.console.aliyun.com/cli?source_channel=cli_github& |
199-
| DashScope API Docs | https://help.aliyun.com/zh/model-studio/ |
200-
| Qwen Model List | https://help.aliyun.com/zh/model-studio/getting-started/models |
201-
| Aliyun Model Studio Console | https://bailian.console.aliyun.com/?source_channel=cli_github |
202-
| Get API Key | https://bailian.console.aliyun.com/cn-beijing/?source_channel=key_github&tab=app#/api-key |
203-
| Get Token Plan API Key | https://bailian.console.aliyun.com/cn-beijing?tab=plan#/efm/subscription/overview |
204-
| Get AccessKey | https://ram.console.aliyun.com/manage/ak |
197+
| Resource | URL |
198+
| :--------------------------- | :-------------------------------------------------------------------------------------------------- |
199+
| Aliyun Model Studio CLI Site | https://bailian.console.aliyun.com/cli?spm=a2ty07.github |
200+
| DashScope API Docs | https://help.aliyun.com/zh/model-studio/ |
201+
| Qwen Model List | https://help.aliyun.com/zh/model-studio/getting-started/models |
202+
| Aliyun Model Studio Console | https://bailian.console.aliyun.com/?spm=a2ty07.github |
203+
| Get API Key | https://bailian.console.aliyun.com/cn-beijing/?spm=a2ty07.github&tab=app#/api-key |
204+
| Get Token Plan API Key | https://bailian.console.aliyun.com/cn-beijing?spm=a2ty07.github&tab=plan#/efm/subscription/overview |
205+
| Get AccessKey | https://ram.console.aliyun.com/manage/ak |

0 commit comments

Comments
 (0)