bailian-cli 1.1.0 → 1.1.1
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.
- package/README.md +48 -15
- package/README_CN.md +36 -5
- package/dist/bailian.mjs +1 -1
- package/package.json +16 -2
package/README.md
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
|
-
<img src="https://img.alicdn.com/imgextra/i1/
|
|
4
|
-
|
|
5
|
-
# >\_ Aliyun Model Studio CLI
|
|
3
|
+
<img src="https://img.alicdn.com/imgextra/i1/O1CN01kGgO3z1N30OINgUoG_!!6000000001513-2-tps-1915-821.png" alt="Aliyun Model Studio CLI" />
|
|
6
4
|
|
|
7
5
|
**The official command-line interface for Aliyun Model Studio (DashScope) AI Platform**
|
|
8
6
|
|
|
@@ -11,7 +9,7 @@
|
|
|
11
9
|
[](https://www.typescriptlang.org)
|
|
12
10
|
[](LICENSE)
|
|
13
11
|
|
|
14
|
-
[Aliyun Model Studio CLI Site](https://bailian.console.aliyun.com/cli) · [中文文档](https://
|
|
12
|
+
[Aliyun Model Studio CLI Site](https://bailian.console.aliyun.com/cli?source_channel=cli_github&) · [中文文档](https://github.com/modelstudioai/cli/blob/main/README_CN.md) · [API Documentation](https://help.aliyun.com/zh/model-studio/) · [Get API Key](https://bailian.console.aliyun.com/cli?source_channel=key_github&)
|
|
15
13
|
|
|
16
14
|
---
|
|
17
15
|
|
|
@@ -38,10 +36,37 @@ Equip your AI Agent out-of-the-box with these capabilities, composable across co
|
|
|
38
36
|
- **Console capabilities** — Browse Bailian apps (`app list`) and check free-tier quota (`usage free`)
|
|
39
37
|
- **Local file auto-upload** — Every URL parameter accepts a local path; uploaded to free temp storage with 48-hour validity
|
|
40
38
|
|
|
39
|
+
## Showcase: One-Sentence Cinematic Video
|
|
40
|
+
|
|
41
41
|
<p align="center">
|
|
42
|
-
<
|
|
42
|
+
<a href="https://cloud.video.taobao.com/vod/dS2F4huqbw5Nfe5L3wwb3grz2q2DNYD3retq8dU-iHo.mp4">
|
|
43
|
+
<img src="https://img.alicdn.com/imgextra/i1/O1CN01Q5052k232Hd36NodG_!!6000000007197-0-tps-2940-1656.jpg" alt="Click to play the demo video" width="720" />
|
|
44
|
+
</a>
|
|
43
45
|
</p>
|
|
44
46
|
|
|
47
|
+
<p align="center"><i>👆 Click the cover to play the full 2-minute demo</i></p>
|
|
48
|
+
|
|
49
|
+
A complete **2-minute, 16:9 cinematic short film** — produced end-to-end from a single natural-language sentence, with **zero manual editing**. This showcase demonstrates how an AI Agent can compose a multi-step creative pipeline by orchestrating three primitives:
|
|
50
|
+
|
|
51
|
+
- **[Qwen Code](https://github.com/QwenLM/qwen-code)** — the agentic coding model that interprets the user's intent and drives the workflow
|
|
52
|
+
- **[Aliyun Model Studio CLI](https://bailian.console.aliyun.com/cli?source_channel=cli_github&)** — invokes **HappyHorse 1.0**, Aliyun Model Studio's text-/image-/reference-to-video generation model
|
|
53
|
+
- **[spark-video Skill](https://github.com/JohnKeating1997/spark-video)** — handles scene decomposition, storyboarding, shot continuity, and final stitching
|
|
54
|
+
|
|
55
|
+
### The single prompt
|
|
56
|
+
|
|
57
|
+
> _"Generate a roughly 2-minute video in Japanese cinematic style — a sweet, innocent first-love story about a high-school girl. The plot should be heart-fluttering enough to make viewers want to fall in love. Aspect ratio: 16:9."_
|
|
58
|
+
>
|
|
59
|
+
> _(Original: "帮我生成一段日系影视风格,高中女生的青涩初恋故事,剧情高甜,让人看了想谈恋爱,2分钟左右的视频,尺寸是16:9")_
|
|
60
|
+
|
|
61
|
+
### How it works
|
|
62
|
+
|
|
63
|
+
1. **Qwen Code** parses the request, plans the narrative beats, and decides which tools to call.
|
|
64
|
+
2. The **spark-video Skill** breaks the story into shots, writes per-shot prompts, and enforces visual continuity (characters, lighting, palette, lens language).
|
|
65
|
+
3. **`bl video generate`** dispatches each shot to **HappyHorse 1.0** in parallel.
|
|
66
|
+
4. The skill stitches all clips back together into a single 16:9 / ~2-min deliverable.
|
|
67
|
+
|
|
68
|
+
No timeline scrubbing. No frame-by-frame editing. Just one sentence → one video.
|
|
69
|
+
|
|
45
70
|
## Installation
|
|
46
71
|
|
|
47
72
|
```bash
|
|
@@ -77,13 +102,13 @@ bl app list
|
|
|
77
102
|
bl usage free --model qwen3-max
|
|
78
103
|
```
|
|
79
104
|
|
|
80
|
-
> More examples and scenarios: [Aliyun Model Studio CLI Site](https://bailian.console.aliyun.com/cli)
|
|
105
|
+
> More examples and scenarios: [Aliyun Model Studio CLI Site](https://bailian.console.aliyun.com/cli?source_channel=cli_github&)
|
|
81
106
|
|
|
82
107
|
## Authentication
|
|
83
108
|
|
|
84
109
|
### DashScope API Key
|
|
85
110
|
|
|
86
|
-
Required for most commands. Get your key from the [DashScope Console](https://bailian.console.aliyun.com/
|
|
111
|
+
Required for most commands. Get your key from the [DashScope Console](https://bailian.console.aliyun.com/cli?source_channel=key_github&).
|
|
87
112
|
|
|
88
113
|
```bash
|
|
89
114
|
# Option 1: Environment variable
|
|
@@ -135,11 +160,19 @@ Config file location: `~/.bailian/config.json`
|
|
|
135
160
|
|
|
136
161
|
## Links
|
|
137
162
|
|
|
138
|
-
| Resource | URL
|
|
139
|
-
| :--------------------------- |
|
|
140
|
-
| Aliyun Model Studio CLI Site | https://bailian.console.aliyun.com/cli
|
|
141
|
-
| DashScope API Docs | https://help.aliyun.com/zh/model-studio/
|
|
142
|
-
| Qwen Model List | https://help.aliyun.com/zh/model-studio/getting-started/models
|
|
143
|
-
| Aliyun Model Studio Console | https://bailian.console.aliyun.com/
|
|
144
|
-
| Get API Key | https://bailian.console.aliyun.com/
|
|
145
|
-
| Get AccessKey | https://ram.console.aliyun.com/manage/ak
|
|
163
|
+
| Resource | URL |
|
|
164
|
+
| :--------------------------- | :---------------------------------------------------------------- |
|
|
165
|
+
| Aliyun Model Studio CLI Site | https://bailian.console.aliyun.com/cli?source_channel=cli_github& |
|
|
166
|
+
| DashScope API Docs | https://help.aliyun.com/zh/model-studio/ |
|
|
167
|
+
| Qwen Model List | https://help.aliyun.com/zh/model-studio/getting-started/models |
|
|
168
|
+
| Aliyun Model Studio Console | https://bailian.console.aliyun.com/ |
|
|
169
|
+
| Get API Key | https://bailian.console.aliyun.com/cli?source_channel=key_github& |
|
|
170
|
+
| Get AccessKey | https://ram.console.aliyun.com/manage/ak |
|
|
171
|
+
|
|
172
|
+
## Changelog
|
|
173
|
+
|
|
174
|
+
Release notes for every version live in [CHANGELOG.md](https://github.com/modelstudioai/cli/blob/main/CHANGELOG.md).
|
|
175
|
+
|
|
176
|
+
## Contributing
|
|
177
|
+
|
|
178
|
+
Bug reports, feature requests, and PRs are welcome. See [CONTRIBUTING.md](https://github.com/modelstudioai/cli/blob/main/CONTRIBUTING.md) for developer setup, repo layout, and the workflow for adding or changing commands.
|
package/README_CN.md
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
|
-
<img src="https://img.alicdn.com/imgextra/i1/
|
|
4
|
-
|
|
5
|
-
# >\_ Aliyun Model Studio CLI
|
|
3
|
+
<img src="https://img.alicdn.com/imgextra/i1/O1CN01kGgO3z1N30OINgUoG_!!6000000001513-2-tps-1915-821.png" alt="Aliyun Model Studio CLI" />
|
|
6
4
|
|
|
7
5
|
**阿里云百炼 (DashScope) AI 平台命令行工具**
|
|
8
6
|
|
|
@@ -11,7 +9,7 @@
|
|
|
11
9
|
[](https://www.typescriptlang.org)
|
|
12
10
|
[](LICENSE)
|
|
13
11
|
|
|
14
|
-
[阿里云百炼 CLI 官方主页](https://bailian.console.aliyun.com/cli) · [English](https://
|
|
12
|
+
[阿里云百炼 CLI 官方主页](https://bailian.console.aliyun.com/cli) · [English](https://github.com/modelstudioai/cli/blob/main/README.md) · [API 文档](https://help.aliyun.com/zh/model-studio/) · [获取 API Key](https://bailian.console.aliyun.com/cn-beijing/?tab=app#/api-key)
|
|
15
13
|
|
|
16
14
|
---
|
|
17
15
|
|
|
@@ -38,10 +36,35 @@ _专为 AI Agent 打造,每个命令均可作为结构化工具调用。_
|
|
|
38
36
|
- **控制台能力** — 浏览百炼应用(`app list`),查询模型免费额度(`usage free`)
|
|
39
37
|
- **本地文件自动上传** — 所有 URL 参数同时支持本地路径,免费临时存储 48 小时
|
|
40
38
|
|
|
39
|
+
## 示例:一句话生成一部电影短片
|
|
40
|
+
|
|
41
41
|
<p align="center">
|
|
42
|
-
<
|
|
42
|
+
<a href="https://cloud.video.taobao.com/vod/dS2F4huqbw5Nfe5L3wwb3grz2q2DNYD3retq8dU-iHo.mp4">
|
|
43
|
+
<img src="https://img.alicdn.com/imgextra/i1/O1CN01Q5052k232Hd36NodG_!!6000000007197-0-tps-2940-1656.jpg" alt="点击播放演示视频" width="720" />
|
|
44
|
+
</a>
|
|
43
45
|
</p>
|
|
44
46
|
|
|
47
|
+
<p align="center"><i>👆 点击封面播放完整 2 分钟演示</i></p>
|
|
48
|
+
|
|
49
|
+
一部完整的 **2 分钟、16:9 电影感短片** —— 由一句自然语言端到端生成,**全程零手动剪辑**。这个示例展示了 AI Agent 如何把三个基础能力编排成一条多步创作流水线:
|
|
50
|
+
|
|
51
|
+
- **[Qwen Code](https://github.com/QwenLM/qwen-code)** —— Agentic coding 模型,解析用户意图、驱动整个工作流
|
|
52
|
+
- **[阿里云百炼 CLI](https://github.com/modelstudioai/cli/)** —— 调用 **HappyHorse 1.0**,百炼的文生/图生/参考生视频模型
|
|
53
|
+
- **[spark-video Skill](https://github.com/JohnKeating1997/spark-video)** —— 负责场景拆分、分镜设计、镜头连贯性和最终拼接
|
|
54
|
+
|
|
55
|
+
### 唯一的提示词
|
|
56
|
+
|
|
57
|
+
> _"帮我生成一段日系影视风格,高中女生的青涩初恋故事,剧情高甜,让人看了想谈恋爱,2 分钟左右的视频,尺寸是 16:9"_
|
|
58
|
+
|
|
59
|
+
### 工作流程
|
|
60
|
+
|
|
61
|
+
1. **Qwen Code** 解析需求、规划叙事节奏,决定要调用哪些工具。
|
|
62
|
+
2. **spark-video Skill** 把故事拆成镜头、为每个镜头写提示词,并保证视觉连贯性(角色、光线、色调、镜头语言)。
|
|
63
|
+
3. **`bl video generate`** 把每个镜头并行下发给 **HappyHorse 1.0**。
|
|
64
|
+
4. Skill 把所有片段拼成最终的 16:9 / 约 2 分钟成片。
|
|
65
|
+
|
|
66
|
+
没有时间线拖拽,没有逐帧剪辑。一句话 → 一部短片。
|
|
67
|
+
|
|
45
68
|
## 安装
|
|
46
69
|
|
|
47
70
|
```bash
|
|
@@ -143,3 +166,11 @@ bl update
|
|
|
143
166
|
| 阿里云百炼控制台 | https://bailian.console.aliyun.com/ |
|
|
144
167
|
| 获取 API Key | https://bailian.console.aliyun.com/cn-beijing/?tab=app#/api-key |
|
|
145
168
|
| 获取 AccessKey | https://ram.console.aliyun.com/manage/ak |
|
|
169
|
+
|
|
170
|
+
## 更新日志
|
|
171
|
+
|
|
172
|
+
每个版本的变更详情记录在 [CHANGELOG_CN.md](https://github.com/modelstudioai/cli/blob/main/CHANGELOG_CN.md)。
|
|
173
|
+
|
|
174
|
+
## 参与贡献
|
|
175
|
+
|
|
176
|
+
欢迎提 Issue、Feature Request 和 PR。开发环境搭建、仓库结构、新增/修改命令的工作流请见 [CONTRIBUTING_CN.md](https://github.com/modelstudioai/cli/blob/main/CONTRIBUTING_CN.md)。
|
package/dist/bailian.mjs
CHANGED
|
@@ -131,7 +131,7 @@ This process keeps the local port open for the console; press Ctrl+C when finish
|
|
|
131
131
|
`),process.exit(1)),ta(e)?a.push(e):r=e}else throw new t(`Missing required argument --image or --video.`,i.USAGE,`bl vision describe --image <path-or-url>
|
|
132
132
|
bl vision describe --video <url-or-path>`);let d=f(e.output);if(e.dryRun){M({request:{prompt:u,image:r,video:a.length?a:void 0,model:o}},d);return}let p=[];if(a.length>0)for(let n of a){let r=n;if(S(n)){if(!Ae(n))throw new t(`Video file not found: ${n}`,i.USAGE);r=await k(n,(await O(e)).token,o)}p.push({type:`video_url`,video_url:{url:r}})}if(r){let t=await na(r),n=t;if(S(r)&&t.startsWith(`data:`)){let{statSync:t}=await import(`fs`);if(t(r).size>5*1024*1024){let t=await O(e);n=await k(r,t.token,o)}}p.push({type:`image_url`,image_url:{url:n}})}p.push({type:`text`,text:u});let m={model:o,messages:[{role:`user`,content:p}]},h=await D(e,{url:l(e.baseUrl),method:`POST`,body:m}),g=h.choices?.[0]?.message?.content;if(d!==`text`){M(h,d);return}N(g||``)}})})),sa,ca=A((()=>{P(),sa=d({name:`config show`,description:`Display current configuration`,usage:`bl config show`,examples:[`bl config show`,`bl config show --output json`],async run(e,t){let n=ae(),r=f(e.output),i={region:e.region,base_url:e.baseUrl,output:e.output,timeout:e.timeout,config_file:v()};n.api_key&&(i.api_key=w(n.api_key)),n.access_token&&(i.access_token=w(n.access_token)),n.default_text_model&&(i.default_text_model=n.default_text_model),n.default_video_model&&(i.default_video_model=n.default_video_model),n.default_image_model&&(i.default_image_model=n.default_image_model),M(i,r)}})})),la,ua,da,fa=A((()=>{P(),la=[`region`,`base_url`,`output`,`output_dir`,`timeout`,`api_key`,`access_token`,`default_text_model`,`default_video_model`,`default_image_model`,`default_speech_model`,`default_omni_model`,`access_key_id`,`access_key_secret`,`workspace_id`],ua={"base-url":`base_url`,"output-dir":`output_dir`,"api-key":`api_key`,"access-token":`access_token`,"default-text-model":`default_text_model`,"default-video-model":`default_video_model`,"default-image-model":`default_image_model`,"default-speech-model":`default_speech_model`,"default-omni-model":`default_omni_model`,"access-key-id":`access_key_id`,"access-key-secret":`access_key_secret`,"workspace-id":`workspace_id`},da=d({name:`config set`,description:`Set a config value`,usage:`bl config set --key <key> --value <value>`,options:[{flag:`--key <key>`,description:`Config key (region, base_url, output, output_dir, timeout, api_key, access_token, default_*_model, access_key_id, access_key_secret, workspace_id)`},{flag:`--value <value>`,description:`Value to set`}],examples:[`bl config set --key output --value json`,`bl config set --key timeout --value 600`,`bl config set --key base_url --value https://dashscope.aliyuncs.com`],async run(e,n){let r=n.key,a=n.value;if(!r||a===void 0)throw new t(`--key and --value are required.`,i.USAGE,`bl config set --key <key> --value <value>`);let o=ua[r]||r;if(!la.includes(o))throw new t(`Invalid config key "${r}". Valid keys: ${la.join(`, `)}`,i.USAGE);if(o===`region`&&![`cn`,`us`,`intl`].includes(a))throw new t(`Invalid region "${a}". Valid values: cn, us, intl`,i.USAGE);if(o===`output`&&![`text`,`json`].includes(a))throw new t(`Invalid output format "${a}". Valid values: text, json`,i.USAGE);if(o===`timeout`){let e=Number(a);if(isNaN(e)||e<=0)throw new t(`Invalid timeout "${a}". Must be a positive number.`,i.USAGE)}let s=f(e.output);if(e.dryRun){M({would_set:{[o]:a}},s);return}let c=ae();c[o]=o===`timeout`?Number(a):a,await ye(c),e.quiet||M({[o]:c[o]},s)}})})),pa,ma,ha=A((()=>{pa=[`auth `,`config `,`update`],ma=d({name:`config export-schema`,description:`Export all (or one) CLI command(s) as Anthropic/OpenAI-compatible JSON tool schemas`,usage:`bl config export-schema [--command "<name>"]`,options:[{flag:`--command <name>`,description:`Export schema for a specific command only (e.g. "image generate")`}],examples:[`bl config export-schema`,`bl config export-schema --command "video generate"`],async run(e,n){let{commands:r}=await Promise.resolve().then(()=>(jd(),kd)),a=n.command;if(a){let e=r[a];if(!e)throw new t(`Command "${a}" not found.`,i.USAGE);let n=g(e);process.stdout.write(JSON.stringify(n,null,2)+`
|
|
133
133
|
`);return}let o=Object.values(r).filter(e=>!pa.some(t=>e.name.startsWith(t))).map(e=>g(e));process.stdout.write(JSON.stringify(o,null,2)+`
|
|
134
|
-
`)}})}));Zr(),oi(),li(),fi(),gi(),Bi(),Hi(),Ki(),Ji(),Xi(),Qi(),ea(),oa(),ca(),fa(),ha();var ga=`1.1.
|
|
134
|
+
`)}})}));Zr(),oi(),li(),fi(),gi(),Bi(),Hi(),Ki(),Ji(),Xi(),Qi(),ea(),oa(),ca(),fa(),ha();var ga=`1.1.1`,_a,va=A((()=>{_a=ga}));function ya(e,t){let n=e.split(`.`).map(Number),r=t.split(`.`).map(Number);for(let e=0;e<3;e++){if((n[e]??0)>(r[e]??0))return!0;if((n[e]??0)<(r[e]??0))return!1}return!1}function ba(){try{let e=Me(Da(),`utf-8`);return JSON.parse(e)}catch{return null}}function xa(e){try{Pe(Da(),JSON.stringify(e))}catch{}}async function Sa(e=ka){try{let t=Ea.replace(`/`,`%2f`),n=await fetch(`${Ta}/${t}/latest`,{headers:{Accept:`application/json`,...he()},signal:AbortSignal.timeout(e)});return n.ok?(await n.json()).version??null:null}catch{return null}}function Ca(){return Aa}async function wa(e){if(process.env.CI||!process.stderr.isTTY)return;let t=ba(),n=Date.now();if(t&&n-t.lastChecked<Oa){t.latestVersion&&ya(t.latestVersion,e)&&(Aa=t.latestVersion);return}let r=await Sa();r&&(xa({lastChecked:n,latestVersion:r}),r&&ya(r,e)&&(Aa=r))}var Ta,Ea,Da,Oa,ka,Aa,ja=A((()=>{Ta=`https://registry.npmjs.org`,Ea=`bailian-cli`,Da=()=>Le(_(),`update-state.json`),Oa=14400*1e3,ka=3e3,Aa=null}));function Ma(){return{cmd:`npm install -g ${Ea}@latest`,label:`npm`}}var Na,Pa=A((()=>{va(),ja(),Na=d({name:`update`,description:`Update bl to the latest version`,usage:`bl update`,examples:[`bl update`],async run(){let e=process.stderr.isTTY,t=e?`\x1B[32m`:``,n=e?`\x1B[33m`:``,r=e?`\x1B[0m`:``;process.stderr.write(`Current version: ${n}${_a}${r}\n`),process.stderr.write(`Checking for updates...
|
|
135
135
|
`);let i=await Sa(5e3);if(i&&i===_a){process.stderr.write(`${t}\u2713 Already up to date (${_a}).${r}\n`);return}i&&process.stderr.write(`Latest version: ${t}${i}${r}\n\n`);let{cmd:a,label:o}=Ma();process.stderr.write(`Updating ${Ea} via ${o}...\n\n`);try{Re(a,{stdio:`inherit`});try{let e=Re(`bl --version 2>/dev/null`,{encoding:`utf-8`}).trim().replace(/^bl\s+/,``);process.stderr.write(`\n${t}\u2713 Update complete: ${_a} \u2192 ${e}${r}\n`);try{Pe(Le(_(),`update-state.json`),JSON.stringify({lastChecked:Date.now(),latestVersion:e}))}catch{}}catch{process.stderr.write(`\n${t}\u2713 Update complete.${r}\n`)}}catch{process.stderr.write(`
|
|
136
136
|
Automatic update failed. Please run manually:
|
|
137
137
|
`),process.stderr.write(` ${a}\n\n`)}}})})),Fa,Ia=A((()=>{U(),P(),Fa=d({name:`app call`,description:`Call a Bailian application (agent or workflow)`,usage:`bl app call --app-id <id> --prompt <text> [flags]`,options:[{flag:`--app-id <id>`,description:`Application ID (required)`,required:!0},{flag:`--prompt <text>`,description:`Input prompt text`,required:!0},{flag:`--image <url>`,description:`Image URL(s) to pass to the app (repeatable)`,type:`array`},{flag:`--file-id <id>`,description:`Pre-uploaded file ID(s) (repeatable)`,type:`array`},{flag:`--session-id <id>`,description:`Session ID for multi-turn conversation`},{flag:`--stream`,description:`Stream response (default: on in TTY)`},{flag:`--pipeline-ids <ids>`,description:`Knowledge base pipeline IDs (comma-separated)`},{flag:`--memory-id <id>`,description:`Memory ID for long-term memory`},{flag:`--biz-params <json>`,description:`Business parameters JSON (workflow variables)`},{flag:`--has-thoughts`,description:`Show agent thinking process`}],examples:[`bl app call --app-id abc123 --prompt "你好"`,`bl app call --app-id abc123 --prompt "描述这张图片" --image https://example.com/photo.jpg`,`bl app call --app-id abc123 --prompt "分析图片" --image img1.jpg --image img2.jpg`,`bl app call --app-id abc123 --prompt "继续" --session-id sess_xxx --stream`,`bl app call --app-id abc123 --prompt "搜索资料" --pipeline-ids pipe1,pipe2`,`bl app call --app-id abc123 --prompt "开始" --biz-params '{"key":"value"}'`],async run(e,t){let n=t.appId;n||H(`app-id`,`bl app call --app-id <id> --prompt <text>`);let r=t.prompt;r||H(`prompt`,`bl app call --app-id <id> --prompt <text>`);let i=t.stream===!0||t.stream===void 0&&process.stdout.isTTY,a=f(e.output),o={input:{prompt:r},parameters:{incremental_output:i}};t.sessionId&&(o.input.session_id=t.sessionId);let c=t.image;c&&c.length>0&&(o.input.image_list=c);let l=t.fileId;if(l&&l.length>0&&(o.input.file_ids=l),t.hasThoughts&&(o.parameters.has_thoughts=!0),t.pipelineIds){let e=t.pipelineIds.split(`,`).map(e=>e.trim()).filter(Boolean);o.parameters.rag_options={pipeline_ids:e}}if(t.memoryId&&(o.parameters.memory_id=t.memoryId),t.bizParams)try{o.input.biz_params=JSON.parse(t.bizParams)}catch{process.stderr.write(`Error: --biz-params must be valid JSON
|
package/package.json
CHANGED
|
@@ -1,10 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bailian-cli",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "CLI for Aliyun Model Studio (DashScope) AI Platform.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"agent",
|
|
7
|
+
"ai",
|
|
8
|
+
"cli",
|
|
9
|
+
"model-studio"
|
|
10
|
+
],
|
|
5
11
|
"homepage": "https://bailian.console.aliyun.com/cli",
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/modelstudioai/cli/issues"
|
|
14
|
+
},
|
|
6
15
|
"license": "Apache-2.0",
|
|
7
16
|
"author": "Aliyun Model Studio",
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "git+https://github.com/modelstudioai/cli.git",
|
|
20
|
+
"directory": "packages/cli"
|
|
21
|
+
},
|
|
8
22
|
"bin": {
|
|
9
23
|
"bailian": "dist/bailian.mjs",
|
|
10
24
|
"bl": "dist/bailian.mjs"
|
|
@@ -22,7 +36,7 @@
|
|
|
22
36
|
"registry": "https://registry.npmjs.org/"
|
|
23
37
|
},
|
|
24
38
|
"dependencies": {
|
|
25
|
-
"bailian-cli-core": "1.1.
|
|
39
|
+
"bailian-cli-core": "1.1.1"
|
|
26
40
|
},
|
|
27
41
|
"devDependencies": {
|
|
28
42
|
"@clack/prompts": "^0.7.0",
|