Skip to content

Commit 3638180

Browse files
authored
Merge pull request #261 from modelstudioai/feat/cma-command
Feat/managed-agent-command
2 parents 4bf8513 + 55d4a63 commit 3638180

55 files changed

Lines changed: 5992 additions & 272 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎CHANGELOG.md‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,15 @@ 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.4.0] - 2026-10-19
10+
11+
### Added
12+
13+
- **Managed Agent memory** — Manage Memory Stores, memory contents and historical versions, and mount memory into Sessions.
14+
- **Workspace Webhooks** — Manage and test Webhooks, rotate signing secrets, and inspect delivery events.
15+
- **Agent resource bindings** — Agent creation supports default Environment and Vault bindings and MCP market servers through `--environment`, `--vault` and `--mcp`.
16+
- **Runtime environment variables** — Session creation, Session runs and Deployment creation accept repeatable `--environment_variables KEY=VALUE`.
17+
918
## [2.3.3] - 2026-10-19
1019

1120
### Fixed

‎CHANGELOG.zh.md‎

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

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

9+
## [2.4.0] - 2026-10-19
10+
11+
### 新增
12+
13+
- **Managed Agent 记忆管理** —— 支持管理 Memory Store、记忆内容和历史版本,并将记忆挂载到 Session。
14+
- **工作空间 Webhook** —— 支持管理和测试 Webhook、重置签名密钥及查询投递事件。
15+
- **Agent 资源绑定** —— 创建 Agent 时可通过 `--environment`、`--vault` 和 `--mcp` 绑定默认 Environment、Vault 及 MCP 市场服务。
16+
- **运行时环境变量** —— 创建 Session、运行 Session 和创建 Deployment 时可重复传入 `--environment_variables KEY=VALUE`。
17+
918
## [2.3.3] - 2026-10-19
1019

1120
### 修复

‎docs/agents/auth-change.md‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,14 @@ defineCommand({ auth }) → runtime/authStage → ctx.client → command.run(ctx
7777

7878
禁止命令层直接 `readConfigFile` 裸读凭证;Bailian 字段以 CLI 鉴权链为唯一信源。SDK bootstrap 期间读取到的兼容凭证变量也会在配置解析后统一清扫。
7979

80+
### 例外:工作空间 Webhook 的轻量 SDK context
81+
82+
`managed-agent webhook` 是工作空间 API,使用 `auth: "apiKey"`,不加载 `agents.yaml`、项目 `.env` 或 State,也不走上述项目凭证 bootstrap。命令通过 `managed-agent/_engine/**` 的轻量 context,将 `ctx.client.exportApiCredential()`、解析后的 Base URL 与工作空间作用域仅在内存中交给 SDK,固定 `provider: "bailian"`,并按 runtime 的 `settings.timeout` 构造请求 `AbortSignal`。不得用 YAML 临时文件拼接 Provider,也不得另建一条 HTTP 或凭证解析链。
83+
84+
- `--workspace-id` 由命令自声明,读取 `ctx.flags.workspaceId` 后回退 `ctx.settings.workspaceId`;Base URL 和 API Key 复用 CLI 的 flags → env → Profile 优先级。
85+
- 所有 Webhook 写操作声明 `risk: "high"`;`--dry-run` 在创建 SDK context、读取项目文件或请求远端前返回,不要求 API Key。
86+
- `create` / `reset-secret` 成功响应中的 `signing_secret` 保留在用户请求的结果中;verbose 诊断和错误输出必须脱敏,不得把成功响应的密钥复制到日志。服务端错误的普通 message 仍原样透传。
87+
8088
## 必查清单
8189

8290
### A. core 层(类型 + 解析)

‎docs/agents/command-flag-change.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@ pnpm -F bailian-cli exec tsx src/main.ts <command> --new-flag x # 实测一遍
5353

5454
## 常见漏点
5555

56+
- SDK 的通用参数解析器可能接受其他 Provider 的资源类型;产品命令应在鉴权和 dry-run 输出前限制支持的类型,错误文案不得回显资源凭证或任意输入值。
57+
- 定向创建仅解析新增资源声明;已有项目中的 instructions / Memory 正文已完成文件读取,不能再把它们当作原始文件路径解析。跨资源引用继续交给完整项目的定向 plan 校验。
5658
- 修改请求超时时,检查底层 HTTP 限制:core 的公共 HTTP 请求层仅为已设置超时计时器的请求关闭 `headersTimeout`,由请求 `AbortSignal` 控制响应头等待;保留 `bodyTimeout` 空闲保护,不全局关闭其他请求的超时。仅设置 Agent 默认值会被 Node `fetch` 的逐请求默认值覆盖。流式读取的总时长另由调用方管理,不能据此宣称 `--timeout` 覆盖整个流。
5759
- ✗ 加了 array 型 flag 但没考虑用户可能传多次
5860
- ✗ 改默认值忘记更新 description 里的 "(default: xxx)" 文案

‎docs/agents/lint-toolchain.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
- [ ] 检查 workspace 内部依赖在 `dependencies` 里仍是 `"workspace:*"`(不要手改成实际版本号;发布时由 pack/publish 流程解析)
3838
- [ ] 升级后跑 `vp check && vp test`
3939
- [ ] 升级 `@types/node` 时注意 Node API 变化(如 fs.existsSync 行为)
40+
- [ ] 使用 pnpm dependency patch 时提交补丁、注册配置和 lockfile,并用 frozen install 验证;如果依赖在构建中是 external,workspace 补丁不会随 npm 包传递,发布前必须更新到包含修复的上游版本
4041

4142
### E. git hooks / pre-commit
4243

@@ -66,3 +67,4 @@ node tools/release/check.mjs
6667
- ✗ 改 cli/kscli 的 vite config 把 core/runtime/commands 不小心打成 inline,bundle 体积暴涨
6768
- ✗ Oxlint 配置改了但 IDE 缓存还是旧的(IDE 可能要重启 ts server)
6869
- ✗ 升级依赖一并升 lockfile,改动量大但没拆 commit
70+
- ✗ 本地源码启动器未设置 `NO_UPDATE_NOTIFIER=1`,旧分支运行成功后触发 npm 全局自动升级;验证时应覆盖普通命令路径,不能只测 `--help`

‎docs/agents/telemetry-change.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,8 @@ source-config 只用于百炼 / DashScope API 侧消费,不发送到通用网
100100

101101
参数默认不上传,只有 `packages/core/src/telemetry/tracker.ts` 的 `PARAM_ALLOWLIST` 中字段会进入事件。不得加入 prompt、凭证、文件路径、URL、账号/租户/工作空间 ID 或其他用户内容。
102102

103+
`page` 仅记录有限数值页码;Webhook 等命令使用的不透明字符串游标不得进入本地日志或远端 AEM,即使字符串内容看起来是数字。
104+
103105
事件同时写入两处:
104106

105107
1. 本地 `~/.bailian/telemetry.jsonl`:权限 `0600`,超过 5 MB 后重建

‎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": "2.3.3",
3+
"version": "2.4.0",
44
"description": "CLI for Aliyun Model Studio (DashScope) AI Platform.",
55
"keywords": [
66
"agent",

‎packages/cli/src/commands.ts‎

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,27 @@ import {
270270
managedAgentFileSearch,
271271
managedAgentFileDownload,
272272
managedAgentFileDelete,
273+
managedAgentMemoryStoreCreate,
274+
managedAgentMemoryStoreList,
275+
managedAgentMemoryStoreGet,
276+
managedAgentMemoryCreate,
277+
managedAgentMemoryList,
278+
managedAgentMemoryGet,
279+
managedAgentMemoryUpdate,
280+
managedAgentMemoryDelete,
281+
managedAgentMemoryVersionList,
282+
managedAgentMemoryVersionGet,
283+
managedAgentMemoryVersionRedact,
284+
managedAgentWebhookCreate,
285+
managedAgentWebhookList,
286+
managedAgentWebhookGet,
287+
managedAgentWebhookUpdate,
288+
managedAgentWebhookDelete,
289+
managedAgentWebhookEnable,
290+
managedAgentWebhookDisable,
291+
managedAgentWebhookTest,
292+
managedAgentWebhookResetSecret,
293+
managedAgentWebhookEvents,
273294
sandboxCreate,
274295
sandboxOfficialImages,
275296
sandboxFileUpload,
@@ -566,6 +587,27 @@ export const commands: Record<string, AnyCommand> = {
566587
"managed-agent file search": managedAgentFileSearch,
567588
"managed-agent file download": managedAgentFileDownload,
568589
"managed-agent file delete": managedAgentFileDelete,
590+
"managed-agent memory-store create": managedAgentMemoryStoreCreate,
591+
"managed-agent memory-store list": managedAgentMemoryStoreList,
592+
"managed-agent memory-store get": managedAgentMemoryStoreGet,
593+
"managed-agent memory-store memories create": managedAgentMemoryCreate,
594+
"managed-agent memory-store memories list": managedAgentMemoryList,
595+
"managed-agent memory-store memories get": managedAgentMemoryGet,
596+
"managed-agent memory-store memories update": managedAgentMemoryUpdate,
597+
"managed-agent memory-store memories delete": managedAgentMemoryDelete,
598+
"managed-agent memory-store versions list": managedAgentMemoryVersionList,
599+
"managed-agent memory-store versions get": managedAgentMemoryVersionGet,
600+
"managed-agent memory-store versions redact": managedAgentMemoryVersionRedact,
601+
"managed-agent webhook create": managedAgentWebhookCreate,
602+
"managed-agent webhook list": managedAgentWebhookList,
603+
"managed-agent webhook get": managedAgentWebhookGet,
604+
"managed-agent webhook update": managedAgentWebhookUpdate,
605+
"managed-agent webhook delete": managedAgentWebhookDelete,
606+
"managed-agent webhook enable": managedAgentWebhookEnable,
607+
"managed-agent webhook disable": managedAgentWebhookDisable,
608+
"managed-agent webhook test": managedAgentWebhookTest,
609+
"managed-agent webhook reset-secret": managedAgentWebhookResetSecret,
610+
"managed-agent webhook events": managedAgentWebhookEvents,
569611
"sandbox create": sandboxCreate,
570612
"sandbox official-images": sandboxOfficialImages,
571613
"sandbox file upload": sandboxFileUpload,

‎packages/cli/tests/skill-risk-confirmation.test.ts‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ const scopedCreateCommands = new Set([
99
"bl managed-agent agent create",
1010
"bl managed-agent deployment create",
1111
"bl managed-agent environment create",
12+
"bl managed-agent memory-store create",
1213
"bl managed-agent skill create",
1314
"bl managed-agent vault create",
1415
"bl managed-agent vault credential create",

‎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": "2.3.3",
3+
"version": "2.4.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.7.1",
43+
"@openagentpack/sdk": "0.9.0",
4444
"bailian-cli-core": "workspace:*",
4545
"bailian-cli-runtime": "workspace:*",
4646
"boxen": "catalog:",

0 commit comments

Comments
 (0)