Skip to content

Commit 2767491

Browse files
authored
Merge pull request #182 from modelstudioai/feat/managed-agent-ci
Feat/managed agent ci 添加managed agents模块的ci能力
2 parents 8e5dd12 + efb8328 commit 2767491

29 files changed

Lines changed: 2036 additions & 36 deletions

CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,19 @@ 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+
## [1.21.0] - 2026-09-07
10+
11+
### Added
12+
13+
- **Managed Agent directory projects** — initialize, validate, build, and publish local projects with Agent-scoped resource configuration and resource examples.
14+
- **Local project versions** — enable or disable snapshot versioning, list and preview history, and restore project files without Git.
15+
- **Project Workbench** — edit resources, review changes, publish updates, and manage local versions in a browser.
16+
17+
### Changed
18+
19+
- **Playground version resolution** — check npm before launch, reuse matching local versions, and fetch the latest version when needed; retain explicit version and binary overrides.
20+
- **Managed Agent SDK** — upgrade to `0.7.0` and consume project workspace and version services through SDK subpath exports.
21+
922
## [1.20.0] - 2026-09-03
1023

1124
> Managed Agents now combines YAML-first infrastructure management with direct Bailian AgentStudio resource and runtime operations.

CHANGELOG.zh.md

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

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

9+
## [1.21.0] - 2026-09-07
10+
11+
### 新增
12+
13+
- **Managed Agent 目录项目** —— 支持初始化、校验、构建和发布本地项目,按 Agent 组织资源配置,并提供资源示例。
14+
- **本地项目版本管理** —— 无需 Git 即可启停快照版本管理、查看和预览历史,以及恢复项目文件。
15+
- **项目 Workbench** —— 在浏览器中编辑资源、审阅变更、发布更新和管理本地版本。
16+
17+
### 变更
18+
19+
- **Playground 版本选择** —— 启动前查询 npm,复用版本一致的本地安装,否则按需下载最新版;保留显式版本和启动文件覆盖。
20+
- **Managed Agent SDK** —— 升级至 `0.7.0`,通过 SDK 子路径复用项目目录和版本服务。
21+
922
## [1.20.0] - 2026-09-03
1023

1124
> Managed Agent 现在同时提供 YAML-first 基础设施管理与百炼 AgentStudio 资源、运行时 API 操作。

packages/cli/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "bailian-cli",
3-
"version": "1.20.0",
3+
"version": "1.21.0",
44
"description": "CLI for Aliyun Model Studio (DashScope) AI Platform.",
55
"keywords": [
66
"agent",

packages/cli/src/commands.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,18 @@ import {
140140
managedAgentPlan,
141141
managedAgentApply,
142142
managedAgentDestroy,
143+
managedAgentPlayground,
144+
managedAgentProjectInit,
145+
managedAgentProjectValidate,
146+
managedAgentProjectBuild,
147+
managedAgentProjectPublish,
148+
managedAgentProjectWorkbench,
149+
managedAgentProjectVersionEnable,
150+
managedAgentProjectVersionDisable,
151+
managedAgentProjectVersionStatus,
152+
managedAgentProjectVersionList,
153+
managedAgentProjectVersionPreview,
154+
managedAgentProjectVersionRestore,
143155
managedAgentStateList,
144156
managedAgentStateShow,
145157
managedAgentStateRm,
@@ -344,6 +356,18 @@ export const commands: Record<string, AnyCommand> = {
344356
"managed-agent plan": managedAgentPlan,
345357
"managed-agent apply": managedAgentApply,
346358
"managed-agent destroy": managedAgentDestroy,
359+
"managed-agent playground": managedAgentPlayground,
360+
"managed-agent project init": managedAgentProjectInit,
361+
"managed-agent project validate": managedAgentProjectValidate,
362+
"managed-agent project build": managedAgentProjectBuild,
363+
"managed-agent project publish": managedAgentProjectPublish,
364+
"managed-agent project workbench": managedAgentProjectWorkbench,
365+
"managed-agent project version enable": managedAgentProjectVersionEnable,
366+
"managed-agent project version disable": managedAgentProjectVersionDisable,
367+
"managed-agent project version status": managedAgentProjectVersionStatus,
368+
"managed-agent project version list": managedAgentProjectVersionList,
369+
"managed-agent project version preview": managedAgentProjectVersionPreview,
370+
"managed-agent project version restore": managedAgentProjectVersionRestore,
347371
"managed-agent state list": managedAgentStateList,
348372
"managed-agent state show": managedAgentStateShow,
349373
"managed-agent state rm": managedAgentStateRm,

packages/commands/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "bailian-cli-commands",
3-
"version": "1.20.0",
3+
"version": "1.21.0",
44
"description": "Command library for bailian-cli products (knowledge, memory, media, …). See https://www.npmjs.com/package/bailian-cli for usage.",
55
"homepage": "https://bailian.console.aliyun.com/cli",
66
"bugs": {
@@ -40,7 +40,7 @@
4040
"check": "vp check"
4141
},
4242
"dependencies": {
43-
"@openagentpack/sdk": "0.5.0",
43+
"@openagentpack/sdk": "0.7.0",
4444
"bailian-cli-core": "workspace:*",
4545
"bailian-cli-runtime": "workspace:*",
4646
"boxen": "catalog:",

packages/commands/src/commands/managed-agent/_engine/config-loader.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,11 @@ export const BAILIAN_PROVIDER = "bailian";
3030

3131
interface AgentConfigOptions {
3232
resolveEnv?: boolean;
33+
environment?: Record<string, string>;
3334
projectName?: string;
3435
statePath?: string;
3536
credentials?: CredentialScope;
37+
overrideBailianBaseUrl?: boolean;
3638
}
3739

3840
/**
@@ -56,7 +58,9 @@ export async function resolveAgentProjectConfig(
5658
prepareProviderEnv();
5759
const resolved = await resolveProjectConfig(filePath, options);
5860
normalizeInterpolatedProviderBlocks(resolved.config.providers);
59-
injectProviderCredentials(resolved.config.providers, host);
61+
injectProviderCredentials(resolved.config.providers, host, {
62+
overrideBaseUrl: options.overrideBailianBaseUrl,
63+
});
6064
scrubCredentialEnv();
6165
assertBailianOnlyProviders(resolved.config.providers);
6266
if ((options.credentials ?? "all") !== "none") {

packages/commands/src/commands/managed-agent/_engine/credentials.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -99,9 +99,10 @@ export function prepareProviderEnv(): void {
9999
* Override the bailian provider block with bl's authStage-resolved credential, so
100100
* the bailian API key is authoritatively the CLI auth chain's — never a config
101101
* file bare-read or a stale env value. `api_key` is replaced unconditionally
102-
* when a credential resolved; `base_url` / `workspace_id` are filled only when
103-
* the block references them and the interpolated value is empty (a literal in
104-
* agents.yaml is respected).
102+
* when a credential resolved. `base_url` is normally filled only when empty so
103+
* a literal in agents.yaml remains supported; directory projects pass
104+
* `overrideBaseUrl` so their connection always follows the Bailian CLI auth
105+
* chain. `workspace_id` is filled only when empty.
105106
*
106107
* `base_url` carries {@link AGENTSTUDIO_API_PATH} because the SDK appends resource
107108
* paths onto it verbatim; a value already ending in the suffix is left as-is.
@@ -114,14 +115,15 @@ export function prepareProviderEnv(): void {
114115
export function injectProviderCredentials(
115116
providers: Record<string, unknown>,
116117
host: CredentialHost,
118+
options: { overrideBaseUrl?: boolean } = {},
117119
): void {
118120
const bailian = providers.bailian;
119121
if (!bailian || typeof bailian !== "object") return;
120122
const block = bailian as Record<string, unknown>;
121123

122124
const cred = host.client.exportApiCredential();
123125
if (cred) block.api_key = cred.token;
124-
if ("base_url" in block && !block.base_url) {
126+
if ("base_url" in block && (options.overrideBaseUrl || !block.base_url)) {
125127
// Defensive normalization: the auth chain already normalizes base_url to
126128
// an origin, but never let a trailing slash produce "//api/v1/agentstudio".
127129
const origin = host.client.baseUrl.replace(/\/+$/, "");

0 commit comments

Comments
 (0)