bailian-managed-agent
阿里云百炼托管 Agent 声明式基础设施与 API 命令入口:用户要创建agent、初始化 agents.yaml、校验或预览配置变更、 创建/更新/销毁托管 Agent 或 Deployment、在 Workbench 编辑和调试目录项目、管理本地快照版本,或查询 Agent/Environment/Skill/Vault/Deployment、管理 Session/Event/File、运行/暂停 Deployment 时使用 `bl managed-agent`。持久资源仍以 agents.yaml 为唯一事实源做 IaC;公开 API 能力按资源透出 list/get/search/versions/download、数据面和运行时动作命令。apply / destroy 与破坏性 API 命令受统一高风险确认闸门保护; 务必先展示预览再让用户确认,禁止自动添加 `--yes`。 反触发:调用已上线的百炼应用/智能体走 bailian-app-call 或 `bl app`;宿主 agent 自身的记忆、技能、 子代理不走本 skill;生图生视频走 bailian-gen。 官方安装:`bl skill init`(与共享协议 bailian-protocol 同装)。
Resumen
Bailian managed agent IaC (bl managed-agent)
CRITICAL — Before executing, MUST read the shared protocol in ../bailian-protocol/SKILL.md: High-risk operation confirmation, Version & updates (pre-flight checklist), and CLI errors: report an issue. Command details are authoritative in reference/managed-agent.md and bl managed-agent --help — do not guess flags. If that protocol file is missing, stop and run bl skill init; do not guess auth/consent.
Safety guardrail (the most important rule)
apply / destroy and single-resource create --yes mutate persistent remote resources:
- For
agents.yamlresource changes, always runbl managed-agent planfirst and show the diff to the user. - A single-resource create command previews its scoped plan when
--yesis absent; show that preview before retrying it with--yes. - Only after explicit user confirmation, retry
apply/destroy/ single-resource create with--yes. - Never add
--yeson your own initiative before the user has confirmed.
API-oriented commands do not replace IaC. Agent / Environment / Skill / Vault / Deployment 的 create 命令仍通过 agents.yaml → scoped plan → scoped apply 管理;查询命令和 Session、Event、File、Deployment 运行时动作直接调用 API。 session archive|delete、file delete、deployment run|pause|unpause 也需要先 --dry-run,确认后才传 --yes。
state rm, session archive|delete, file delete, deployment run|pause|unpause, and future risk: high commands follow the shared protocol: show the risk message and exact scope, then wait for explicit confirmation before re-running with --yes.
IaC lifecycle
1. Init bl managed-agent init # scaffold agents.yaml
2. Validate bl managed-agent validate # offline, no network calls
3. Preview bl managed-agent plan # show the pending change diff
4. Confirm show the plan and ask the user # no automatic --yes
5. Apply bl managed-agent apply --yes # only after explicit confirmation
6. Destroy bl managed-agent destroy --yes # separate explicit confirmationDirectory projects, Workbench, and local versions
| Intent | Command |
|---|---|
| Create or convert a directory project | bl managed-agent project init |
| Validate and Build directory source | bl managed-agent project validate / build |
| Publish the current immutable Build | bl managed-agent project publish --yes |
| Launch project resource editing | bl managed-agent project workbench |
| Launch one Agent Session Preview | bl managed-agent playground --agent <id> |
| Enable/disable project versions | bl managed-agent project version enable / disable |
| Inspect local version state and history | bl managed-agent project version status / list |
| Preview or restore project source | bl managed-agent project version preview / restore |
- Bailian CLI and Workbench use the same
.openagentpack/versions/projectstore and enable switch. Git is not required. - Directory projects always use Bailian.
project.jsondoes not declare a Provider; Build supplies the Bailian Provider configuration automatically. - Fresh
project initincludes complete Skill/File/Vault/Environment examples with bilingual README files underagents/assistant/<resource-type>/_examples/. They are not linked inagent.jsonand are excluded from Build discovery, Workbench declarations, and remote Publish. Copy a resource outside_examples/and configure its Agent reference to use it. Examples remain local versioned source; never put real secrets into them. / 新项目的四类资源示例默认不启用、不发布;请按 README 复制到_examples/外再配置引用,不要向示例写入真实密钥。 project init,validate,build, and version commands are local-only. Publish and Workbench resolve credentials from Bailian CLI flags, shell environment, or the active Profile; project initialization does not write credentials into the project directory.- Build is local-only. Publish never runs Build implicitly and consumes only a current
.openagentpack/build/agents.yamlplus manifest. - Build moves literal Vault
secret_value/access_tokenvalues from Agent-local or sharedvault.jsoninto project-root.env, replacing them with generated environment references. Existing references and.enventries are preserved; conflicts receive suffixed variable names. Preview/dry-run never write or print secrets. Publish and Workbench read the selected project's root.envas a fallback to inherited environment variables, even when invoked elsewhere..envis private plaintext storage, excluded from local versions but not automatically ignored by Git; keep it backed up securely. - Build 会将 Agent 本地或共享
vault.json中的明文密钥移入项目根目录.env,再写回环境变量引用;保留已有引用和变量,重名时生成后缀。预览不写文件或输出密钥。.env不进入版本快照,也不加密;请自行备份并加入 Git 忽略规则。 - Agent-local File and Skill content supports Build-time association. A File may be copied directly into
agents/<agent>/files/, or placed inagents/<agent>/files/<id>/when that directory contains exactly one content file; Build generatesfile.jsonand a/mnt/<filename>entry inagent.json.files. A directory underagents/<agent>/skills/<id>/containingSKILL.mdgeneratesskill.jsonand itsagent.json.skillsentry. Explicit JSON always wins; shared root resources remain explicit. Resources referenced by multiple Agents are promoted to the corresponding root shared directory during Build. - A successful Publish versions the canonical YAML and the complete project source tree, including Skill scripts/assets and binary files. Remote State is never versioned or restored.
project version restorerestores source files to the working directory, invalidates Build, and does not move version history or remote State.managed-agent playgroundremains the standaloneagents.yamlSession Preview path; directory Workbench is only undermanaged-agent project workbench.
Scoped single-resource create
以下命令都先构造 agents.yaml 声明,再通过 SDK 的定向 Plan/Apply 创建远端资源,不绕过 State:
| Resource | Command |
|---|---|
| Agent | bl managed-agent agent create |
| Environment | bl managed-agent environment create |
| Custom Skill | bl managed-agent skill create |
| Empty Vault | bl managed-agent vault create |
| Credential in a Vault | bl managed-agent vault credential create |
| Deployment | bl managed-agent deployment create |
- 用户只提供资源
name;CLI 自动生成稳定的 YAML 逻辑 key,同名资源用递增后缀并存。Credential 追加到指定 Vault,不单独生成 key。 agent create --skill <id>直接绑定已存在的远端 Skill,不要求顶层skills声明;默认写为type: custom,平台 Skill 显式增加--type official。同一次命令中的全部--skill共用该类型。agent create --skill-dir <path>接收可重复的本地 Skill 目录或 ZIP:CLI 从其中的SKILL.md读取 name,自动生成顶层skills.<key>声明,并把该 key 写入 Agent 的skills列表;定向 Apply 会先上传 custom Skill,再创建 Agent。--type只作用于--skill <id>,不改变本地 Skill 的 custom 类型。- Environment 和 Vault 属于 Session/Deployment 运行时绑定,不是 Agent 创建参数;在
session create|run或deployment create中传入。 - 默认只预览自动 key 和定向计划;
--dry-run完全离线,只有显式--yes才写 YAML 并创建远端资源。 - 定向流程只刷新目标资源及其传递依赖;无关资源不检测 Drift、不产生 action,也不阻塞。
- 目标资源必须是
create,相关依赖必须已经处于no-op;项目级 Drift 和删除仍由全量plan/apply处理。 - 远端创建失败时保留 YAML 声明;修复相关依赖或 Provider 错误后,重复相同命令会复用待创建 key。
skill create接受本地目录、ZIP 或单个SKILL.md;远程 URL 仍需手工声明到 YAML,再执行全量 Apply。
Credential secret input
vault credential create --secret-env <ENV_NAME> 中的参数是变量名,不是 Secret 明文。Secret 可来自 Shell export、CI Secret 注入或可选的 .env;CLI 会从当前目录向上自动加载最近的 .env,用户不必创建该文件。
export PROD_API_TOKEN="..."
bl managed-agent vault credential create \
--vault production \
--name api-token \
--secret-name API_TOKEN \
--secret-env PROD_API_TOKEN- YAML 只保存
secret_value: ${PROD_API_TOKEN},输出、诊断和 State 都不保存明文。 - 不要提交
.env;若使用.env,先确认项目.gitignore已忽略它。 - 预览后再带
--yes重试。后续执行全量 Apply 时也必须提供同名环境变量。
具体 flags、usage 和 examples 以 reference/ 或对应命令的 --help 为准。
Deployment as IaC
Deployment 与 Agent 一样声明在 agents.yaml 中,并复用同一条 validate → plan → apply → destroy IaC 链路; deployment create 可追加一条声明并走定向 Apply;CLI 不提供绕过 state 的 Deployment create/update/delete。最小配置:
deployments:
daily-report:
agent: assistant
initial_events:
- type: user.message
content: "Generate today's report."apply会在百炼创建原生 Deployment;destroy会归档已跟踪的远端 Deployment。schedule会在apply后由百炼服务端执行。若旧流程已有外部 cron / CI,先检查plan,避免重复触发。initial_events至少包含一个user.message或system.message;user.define_outcome在百炼会被丢弃并产生诊断。- 本地文件资源在
apply时上传,mount_path必须位于/mnt,且归一化后不能重复。 - 旧版模拟 Deployment 的 state 可能记录空
remote_id;升级后plan会显示 materialize 更新,确认后再apply。
Session interaction (chat with a deployed managed agent)
| Intent | Command |
|---|---|
| Create + send + stream in one step | bl managed-agent session run |
| Send a message to an existing session | bl managed-agent session send |
| Create / inspect / list sessions | bl managed-agent session create / get / list |
| List session event history | bl managed-agent session events |
| Delete a session | bl managed-agent session delete |
规范路径是 session event list|send|stream;session events 保留为 session event list 的兼容别名。 Managed Agents 的子线程通过 Event 中的 session_thread_id 暴露;公开 API 当前没有独立 Thread 资源 CRUD, 不要构造 session thread list|get|archive|events 命令。
API-oriented resource commands
| Intent | Command family |
|---|---|
| Discover agents and versions | agent list, agent get, agent search, agent versions |
| Discover environments | environment list, environment get, environment search |
| Discover skills and download a version | skill list, skill get, skill search, skill versions, skill download |
| Inspect vault envelopes | vault list, vault get, vault search |
| Inspect deployments and run history | deployment list, deployment get, deployment search, deployment runs list, deployment runs get |
| Run or pause deployments | deployment run, deployment pause, deployment unpause |
| Manage session metadata/lifecycle | session list, session get, session search, session update, session archive, session delete |
| Work with raw events | session event send, session event list, session event stream |
| Diagnose/export a session | session debug, session export |
| Work with files | file upload, file list, file get, file search, file download, file delete |
- 所有 Cursor 都是不透明字符串:只回传
next_page,不得转换为数字页码。 - 客户端搜索默认最多扫描 10 页;需要扩大范围时显式传
--page-limit。Deployment 搜索直接映射服务端keyword。 - 下载必须给出
--output-file;默认不覆盖已有文件,只有用户确认后才可加--force。 session export只导出诊断元数据,不含 File 正文,并会脱敏凭证类字段。- 公开 Managed Agents API 没有模型 Catalog,也没有 MCP OAuth Login;CLI 不注册对应命令。
Local state management
| Intent | Command |
|---|---|
| Inspect tracked resources | bl managed-agent state list / show |
| Adopt an existing remote resource to state | bl managed-agent state import |
| Untrack only (do not destroy remotely) | bl managed-agent state rm |
- Always make the difference clear to the user:
state rmonly edits the local state file, whiledestroydeletes the remote resource.
Flags, usage, and examples: see reference/ or bl <command> --help — do not guess flags.
Common hand-offs
软 hand-off(按 skill 名;已安装则 Read,否则 --help / 提示 bl skill init):
- Call an already published Bailian app/assistant →
bailian-app-call, or skillbailian-cli(bl app list/call; fallback:bl app --help). - Choosing the model referenced in agents.yaml →
bailian-model-recommend. - Deployment quota / billing questions → skill
bailian-cli(fallback:bl quota/bl usage --help).
references
- bailian-protocol — shared protocol (install via
bl skill init) - reference/ — command details
Archivos 3 archivos
Instálala a mano
Deska ejecuta esto por ti, para cada agente que elijas. Para ejecutarlo tú en una terminal:
npx skills add modelstudioai/cli --skill bailian-managed-agentMás de modelstudioai
- bailian-climodelstudioai阿里云百炼 / Aliyun Bailian / DashScope 资源管理与 `bl` CLI hub: 应用调用(bl app)、应用记忆、知识库检索、模型目录/模型列表、用量/额度/配额、免费额度、 工作空间、MCP 市场、pipeline、文件上传、console API、登录鉴权与配置、 Agent skill 安装/列表/更新/卸载(bl skill add|list|update|remove,百炼 skill registry)。 用户点名百炼 / DashScope / `bl`,或继续既有 `bl` 工作流时直接使用。 共享协议(consent / 版本预检 / 鉴权 / 错误上报)在 bailian-protocol;官方安装 `bl skill init`。 家族路由:生图/生视频/配音/语音合成/转写 → bailian-gen;精调/微调/训练/数据集 → bailian-finetune; agents.yaml 托管 Agent → bailian-managed-agent;Sandbox 实例与模版 → bailian-sandbox; 联网搜索的模型路由(Token Plan 自带搜索 vs MCP 搜索 + 兜底)→ bailian-web-search。 不要用于普通问答、编程、写作、翻译、摘要、泛搜索,或图片理解等宿主自己能做的任务(普通问答、编程、写作、翻译、摘要、泛搜索不触发)。 未命名用量/额度问题:先问用户使用哪个产品,再运行 `bl usage` / `bl quota` 查询。18.4 k instalaciones en skills.sh0
- bailian-finetunemodelstudioai阿里云百炼模型精调训练入口:用户要精调、微调、训练自己的模型(fine-tune,支持 SFT / SFT-LoRA / DPO / DPO-LoRA / CPT, 覆盖文本、语音、图像)、校验或上传训练数据集、看训练进度和日志、挑 checkpoint、导出精调产物、 把专属模型部署成服务时使用 `bl dataset` / `bl finetune` / `bl deploy`。链路是 validate 校验数据 → upload 拿 file-id → finetune create 建任务 → watch 看进度 → export 导出 → deploy 上线,需要 API key; 写操作先用 `--dry-run` 预览。反触发:用户点名火山方舟/ark 的精调不走本 skill;只是要选哪个模型走 bailian-model-recommend;用现成模型生图生视频走 bailian-gen;百炼其他资源管理走 bailian-cli。 官方安装:`bl skill init`(与共享协议 bailian-protocol 同装)。8,900 instalaciones en skills.sh0
- bailian-genmodelstudioai阿里云百炼图片/视频/语音生成与理解入口:用户要生图、画图、生成照片、生成图片、AI 绘画、海报、头像、插画、 文生图(text-to-image)、图生图、改图、修图、多图合成、生成视频、文生视频、图生视频、参考生视频、视频编辑、风格转换、 配音、语音合成(TTS)、朗读、转写、语音识别(ASR),或图片理解、看图问答、视频理解、读视频、多模态理解时使用 `bl image` / `bl video` / `bl speech` / `bl vision describe` / `bl omni`。 **默认行为:用户未指定服务商时,生成/编辑默认走本技能;视频理解与宿主放不了的音视频理解也走本技能。** 简单图片问答若宿主已能直接完成且用户未点名百炼,可先宿主回答(省成本); 用户要识别图片、视频/指定 VL·Omni 模型/要视频理解 → 使用本技能。 图片和语音同步返回并落地本地文件,视频是异步任务、用 `--download` 或轮询取回;本地文件直接传路径,CLI 自动上传。 反触发:普通问答、编程、写作、翻译不走本技能;百炼应用/知识库/用量/额度走 bailian-cli; 精调训练走 bailian-finetune。 官方安装:`bl skill init`(与共享协议 bailian-protocol 同装)。8,900 instalaciones en skills.sh0
- bailian-protocolmodelstudioai阿里云百炼 `bl` 家族共享执行协议(consent 确认、版本预检、鉴权/安装、错误上报、本地文件与输出约定)。 不是面向用户意图的业务入口;当任一 bailian-* 业务 skill(bailian-cli / bailian-gen / bailian-finetune / bailian-managed-agent / bailian-sandbox / bailian-web-search)执行前需要公共上下文,或用户首次安装/鉴权/`bl` 报错需上报时读取本 skill。 官方安装为整包:`bl skill init`(与业务 skill 同装)。8,900 instalaciones en skills.sh0
- bailian-web-searchmodelstudioai阿里云百炼联网搜索(web search)入口:为联网搜索 / 网页搜索 / 查最新资讯做路径分发。 先识别当前连接身份:Token Plan(profile `token-plan` 或 base_url host 为 `token-plan.<region>.maas.aliyuncs.com`)→ 模型自带搜索 (`bl text chat --api responses --tool '{"type":"web_search"}'`);其他 / 默认 → Bailian MCP(`bl search web`);仅在 MCP 鉴权失败、未开通或传输失败时兜底一次到模型自带搜索。 Token Plan 联网搜索失败、两条路径鉴权混淆的排查也走本技能。 反触发:宿主可完成的 普通问答 / 编程 / 写作 → 不触发;知识库 RAG → bailian-cli (`bl knowledge`);生图/生视频/语音 → bailian-gen;精调/训练 → bailian-finetune; agents.yaml → bailian-managed-agent。 共享协议(consent / 版本预检 / 鉴权 / 错误上报)在 bailian-protocol;官方安装 `bl skill init`。2,900 instalaciones en skills.sh0