@pippit-dev/cli 0.0.12 → 0.0.13

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 CHANGED
@@ -1,4 +1,4 @@
1
- # pippit-cli
1
+ # pippit-tool-cli
2
2
 
3
3
  Minimal demo CLI for Pippit workflows.
4
4
 
@@ -10,11 +10,11 @@ matching prebuilt binary for macOS, Linux, or Windows:
10
10
  ```bash
11
11
  npx @pippit-dev/cli@latest install
12
12
  export XYQ_ACCESS_KEY="<access-key>"
13
- pippit-cli --version
14
- pippit-cli short-drama +submit-run --message "写一个赛博朋克短剧开头"
15
- pippit-cli short-drama +upload-file --path ./reference.doc
16
- pippit-cli short-drama +get-thread --thread-id thread_123 --run-id run_456 --after-seq 0
17
- pippit-cli short-drama +download-result --output-path ./thread_123/results/result.mp4 --url URL
13
+ pippit-tool-cli --version
14
+ pippit-tool-cli short-drama +submit-run --message "写一个赛博朋克短剧开头"
15
+ pippit-tool-cli short-drama +upload-file --path ./reference.doc
16
+ pippit-tool-cli short-drama +get-thread --thread-id thread_123 --run-id run_456 --after-seq 0
17
+ pippit-tool-cli short-drama +download-result --output-path ./thread_123/results/result.mp4 --url URL
18
18
  ```
19
19
 
20
20
  NPM package names must be lowercase, so the publishable package name is
package/checksums.txt CHANGED
@@ -1,6 +1,6 @@
1
- 5062d1d4950aa9e0d8b1770e62476d9bb2076f4492cd24a541ad93b05a254f49 pippit-cli-0.0.12-darwin-amd64.tar.gz
2
- 5a0c8d044ebcb717d18954147433ac5f54f2dc89285e2e50f6be6755431ee99c pippit-cli-0.0.12-darwin-arm64.tar.gz
3
- 456420a71cd9909e152907faa96f35abb93e62079786021d1bee28cfac61e8ff pippit-cli-0.0.12-linux-amd64.tar.gz
4
- 1c6681fa8f8edaa19dac835dd9bdf4bc17c06936700316f7d74b68d55d572460 pippit-cli-0.0.12-linux-arm64.tar.gz
5
- e7c156bb35fb373fa89d05c729252b20951a41c70f3bbd4e8794e4c5abe65e06 pippit-cli-0.0.12-windows-amd64.zip
6
- 2832786f9c13069f3580407e24037e95cc9452534e9996366dc6751f841fcd26 pippit-cli-0.0.12-windows-arm64.zip
1
+ c02c37229ea76195c04881880a9d5a913ab95846958ab4e4ab41bc2b82649e49 pippit-tool-cli-0.0.13-darwin-amd64.tar.gz
2
+ 4937231063eeaad1e494be4f2b6218860313abbf529d868568d9d6e48bf62e3e pippit-tool-cli-0.0.13-darwin-arm64.tar.gz
3
+ da2bb0c5472bdd02a2cc861a17564254abb86fa5c63c44b58c7fbb64211550f1 pippit-tool-cli-0.0.13-linux-amd64.tar.gz
4
+ 476e0907a6983f9360324732411edcd9c2c80f9d903a7974949ef2d09b1f35ba pippit-tool-cli-0.0.13-linux-arm64.tar.gz
5
+ cfe8e5b92b8b6abbf5ed3abc9ce31c1371efcc34698edfa5ee2d8d675d4f7886 pippit-tool-cli-0.0.13-windows-amd64.zip
6
+ edff7af4414b2b080338f96eab5ce9cca2a14d4bd8fc3099a1af7a2dc43109d2 pippit-tool-cli-0.0.13-windows-arm64.zip
package/cmd/root.go CHANGED
@@ -13,7 +13,7 @@ import (
13
13
  "github.com/spf13/cobra"
14
14
  )
15
15
 
16
- // Execute runs the pippit-cli command tree.
16
+ // Execute runs the pippit-tool-cli command tree.
17
17
  func Execute() error {
18
18
  return NewRootCommand(os.Stdout, os.Stderr).Execute()
19
19
  }
@@ -27,7 +27,7 @@ func NewRootCommand(stdout, stderr io.Writer) *cobra.Command {
27
27
 
28
28
  func newRootCommand(stdout, stderr io.Writer, runner *common.Runner) *cobra.Command {
29
29
  root := &cobra.Command{
30
- Use: "pippit-cli",
30
+ Use: "pippit-tool-cli",
31
31
  Short: "Pippit CLI",
32
32
  Long: "Pippit CLI submits short-drama workflows, downloads generated assets, and updates the installed CLI package.",
33
33
  Version: version.Current(),
@@ -18,7 +18,7 @@ const defaultPackage = "@pippit-dev/cli"
18
18
  func NewCommand(stdout, stderr io.Writer) *cobra.Command {
19
19
  cmd := &cobra.Command{
20
20
  Use: "update",
21
- Short: "Update pippit-cli and bundled skills",
21
+ Short: "Update pippit-tool-cli and bundled skills",
22
22
  RunE: func(cmd *cobra.Command, _ []string) error {
23
23
  return runUpdate(stdout, stderr)
24
24
  },
@@ -32,14 +32,14 @@ func runUpdate(stdout, stderr io.Writer) error {
32
32
  pkg = defaultPackage + "@latest"
33
33
  }
34
34
 
35
- fmt.Fprintf(stderr, "Updating pippit-cli via npm: %s\n", pkg)
35
+ fmt.Fprintf(stderr, "Updating pippit-tool-cli via npm: %s\n", pkg)
36
36
  restore, err := prepareSelfReplace()
37
37
  if err != nil {
38
38
  return fmt.Errorf("prepare self replace: %w", err)
39
39
  }
40
40
  if err := runInheritEnv(stderr, []string{"PIPPIT_CLI_SKIP_SKILLS=1"}, "npm", "install", "-g", pkg); err != nil {
41
41
  restore()
42
- return fmt.Errorf("update pippit-cli: %w", err)
42
+ return fmt.Errorf("update pippit-tool-cli: %w", err)
43
43
  }
44
44
 
45
45
  root, err := globalPackageRoot(defaultPackage)
@@ -47,12 +47,12 @@ func runUpdate(stdout, stderr io.Writer) error {
47
47
  return fmt.Errorf("locate global package: %w", err)
48
48
  }
49
49
 
50
- fmt.Fprintln(stderr, "Updating pippit-cli skills...")
50
+ fmt.Fprintln(stderr, "Updating pippit-tool-cli skills...")
51
51
  if err := installSkills(root, stderr); err != nil {
52
- return fmt.Errorf("update pippit-cli skills: %w", err)
52
+ return fmt.Errorf("update pippit-tool-cli skills: %w", err)
53
53
  }
54
54
 
55
- fmt.Fprintln(stdout, "pippit-cli and skills updated")
55
+ fmt.Fprintln(stdout, "pippit-tool-cli and skills updated")
56
56
  return nil
57
57
  }
58
58
 
@@ -107,7 +107,7 @@ func prepareSelfReplace() (func(), error) {
107
107
  if err != nil {
108
108
  return nil, err
109
109
  }
110
- if filepath.Base(exe) != "pippit-cli.exe" || !strings.Contains(exe, "node_modules") {
110
+ if filepath.Base(exe) != "pippit-tool-cli.exe" || !strings.Contains(exe, "node_modules") {
111
111
  return func() {}, nil
112
112
  }
113
113
  old := exe + ".old"
@@ -31,7 +31,7 @@ type DownloadResultError struct {
31
31
  Error string `json:"error"`
32
32
  }
33
33
 
34
- // DownloadResultResponse is the JSON envelope printed by `pippit-cli short-drama +download-result`.
34
+ // DownloadResultResponse is the JSON envelope printed by `pippit-tool-cli short-drama +download-result`.
35
35
  type DownloadResultResponse struct {
36
36
  OutputPath string `json:"output_path"`
37
37
  Downloaded []string `json:"downloaded"`
@@ -24,7 +24,7 @@ type ThreadFile struct {
24
24
  DownloadURL string `json:"download_url"`
25
25
  }
26
26
 
27
- // ListThreadFileResult is the JSON envelope printed by `pippit-cli short-drama +list-thread-file`.
27
+ // ListThreadFileResult is the JSON envelope printed by `pippit-tool-cli short-drama +list-thread-file`.
28
28
  type ListThreadFileResult struct {
29
29
  Files []*ThreadFile `json:"files"`
30
30
  Total int64 `json:"total"`
@@ -17,7 +17,7 @@ type UploadFileOptions struct {
17
17
  FileName string `json:"file_name"`
18
18
  }
19
19
 
20
- // UploadFileResult is the JSON envelope printed by `pippit-cli short-drama +upload-file`.
20
+ // UploadFileResult is the JSON envelope printed by `pippit-tool-cli short-drama +upload-file`.
21
21
  type UploadFileResult struct {
22
22
  AssetID string `json:"asset_id"`
23
23
  }
@@ -22,7 +22,7 @@ type ThreadEntry struct {
22
22
  Content []any `json:"content"`
23
23
  }
24
24
 
25
- // GetThreadResult is the JSON envelope printed by `pippit-cli short-drama +get-thread`.
25
+ // GetThreadResult is the JSON envelope printed by `pippit-tool-cli short-drama +get-thread`.
26
26
  type GetThreadResult struct {
27
27
  Messages []*ThreadEntry `json:"messages"`
28
28
  }
@@ -15,7 +15,7 @@ type SubmitRunOptions struct {
15
15
  AssetIDs []string `json:"asset_ids,omitempty"`
16
16
  }
17
17
 
18
- // SubmitRunResult is the JSON envelope printed by `pippit-cli short-drama +submit-run`.
18
+ // SubmitRunResult is the JSON envelope printed by `pippit-tool-cli short-drama +submit-run`.
19
19
  type SubmitRunResult struct {
20
20
  ThreadID string `json:"thread_id"`
21
21
  RunID string `json:"run_id"`
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@pippit-dev/cli",
3
- "version": "0.0.12",
3
+ "version": "0.0.13",
4
4
  "description": "Pippit CLI",
5
5
  "bin": {
6
- "pippit-cli": "scripts/run.js"
6
+ "pippit-tool-cli": "scripts/run.js"
7
7
  },
8
8
  "scripts": {
9
9
  "postinstall": "node scripts/install.js",
@@ -17,12 +17,12 @@ function getGloballyInstalledVersion() {
17
17
  }
18
18
  }
19
19
 
20
- function whichPippitCli() {
20
+ function whichPippitToolCli() {
21
21
  try {
22
22
  const prefix = runSilent("npm", ["prefix", "-g"], { timeout: 15000 }).toString().trim();
23
23
  const bin = isWindows
24
- ? path.join(prefix, "pippit-cli.cmd")
25
- : path.join(prefix, "bin", "pippit-cli");
24
+ ? path.join(prefix, "pippit-tool-cli.cmd")
25
+ : path.join(prefix, "bin", "pippit-tool-cli");
26
26
  if (fs.existsSync(bin)) return bin;
27
27
  } catch (_) {
28
28
  // Fall back to PATH lookup.
@@ -30,7 +30,7 @@ function whichPippitCli() {
30
30
 
31
31
  try {
32
32
  const cmd = isWindows ? "where" : "which";
33
- return runSilent(cmd, ["pippit-cli"]).toString().split("\n")[0].trim();
33
+ return runSilent(cmd, ["pippit-tool-cli"]).toString().split("\n")[0].trim();
34
34
  } catch (_) {
35
35
  return null;
36
36
  }
@@ -39,7 +39,7 @@ function whichPippitCli() {
39
39
  function main() {
40
40
  const installed = getGloballyInstalledVersion();
41
41
  if (installed) {
42
- console.log(`Updating global pippit-cli (${installed}) via ${PKG}...`);
42
+ console.log(`Updating global pippit-tool-cli (${installed}) via ${PKG}...`);
43
43
  } else {
44
44
  console.log(`Installing ${PKG} globally...`);
45
45
  }
@@ -48,7 +48,7 @@ function main() {
48
48
  env: { ...process.env, PIPPIT_CLI_SKIP_SKILLS: "1" },
49
49
  });
50
50
 
51
- console.log("Installing pippit-cli skills...");
51
+ console.log("Installing pippit-tool-cli skills...");
52
52
  try {
53
53
  installGlobalPackageSkills(DEFAULT_PKG);
54
54
  } catch (err) {
@@ -60,15 +60,15 @@ function main() {
60
60
  installGlobalPackageSkills(DEFAULT_PKG);
61
61
  }
62
62
 
63
- const bin = whichPippitCli();
63
+ const bin = whichPippitToolCli();
64
64
  if (!bin) {
65
- console.error("pippit-cli was installed, but no global command was found in npm prefix.");
65
+ console.error("pippit-tool-cli was installed, but no global command was found in npm prefix.");
66
66
  console.error("Check that npm's global bin directory is in PATH.");
67
67
  process.exit(1);
68
68
  }
69
69
 
70
- console.log(`pippit-cli is ready: ${bin}`);
71
- console.log("Try: pippit-cli short-drama +submit-run --message \"写一个短剧开头\"");
70
+ console.log(`pippit-tool-cli is ready: ${bin}`);
71
+ console.log("Try: pippit-tool-cli short-drama +submit-run --message \"写一个短剧开头\"");
72
72
  }
73
73
 
74
74
  main();
@@ -9,7 +9,7 @@ const { installSkillsFromRoot } = require("./skills");
9
9
 
10
10
  const VERSION = require("../package.json").version.replace(/-.*$/, "");
11
11
  const REPO = "Pippit-dev/cli";
12
- const NAME = "pippit-cli";
12
+ const NAME = "pippit-tool-cli";
13
13
  const ROOT = path.join(__dirname, "..");
14
14
  const BIN_DIR = path.join(ROOT, "bin");
15
15
 
@@ -121,7 +121,7 @@ function install() {
121
121
 
122
122
  fs.mkdirSync(BIN_DIR, { recursive: true });
123
123
 
124
- const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), "pippit-cli-"));
124
+ const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), "pippit-tool-cli-"));
125
125
  const archivePath = path.join(tmpDir, archiveName);
126
126
  try {
127
127
  download(releaseURL, archivePath);
package/scripts/run.js CHANGED
@@ -6,7 +6,7 @@ const path = require("path");
6
6
  const { maybeWarnNewVersion } = require("./version-check");
7
7
 
8
8
  const ext = process.platform === "win32" ? ".exe" : "";
9
- const bin = path.join(__dirname, "..", "bin", "pippit-cli" + ext);
9
+ const bin = path.join(__dirname, "..", "bin", "pippit-tool-cli" + ext);
10
10
  const args = process.argv.slice(2);
11
11
 
12
12
  const oldBin = bin + ".old";
@@ -50,7 +50,7 @@ if (args[0] === "install") {
50
50
  });
51
51
  } catch (_) {
52
52
  console.error(
53
- "\nFailed to prepare pippit-cli binary.\n" +
53
+ "\nFailed to prepare pippit-tool-cli binary.\n" +
54
54
  "Make sure Go is installed and available in PATH, then retry.\n"
55
55
  );
56
56
  process.exit(1);
@@ -85,7 +85,7 @@ function maybeWarnNewVersion(args = [], opts = {}) {
85
85
  if (compareSemver(latest, current) <= 0) return;
86
86
 
87
87
  const warn = opts.warn || console.error;
88
- warn(`[pippit-cli] New version available: ${current} -> ${latest}. Run: pippit-cli update`);
88
+ warn(`[pippit-tool-cli] New version available: ${current} -> ${latest}. Run: pippit-tool-cli update`);
89
89
  }
90
90
 
91
91
  module.exports = {
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: pippit-short-drama-skill
3
- description: 使用 pippit-cli 的短剧场景能力提交和查询短剧创作任务。覆盖短剧生成、续写、改写、剧情扩展、人物设定、分集草稿、世界观设定、会话文件获取、文件资源下载等创作场景。当用户要求创作短剧、写短剧剧本、续写故事、修改剧情、补充角色设定、查询短剧任务进展、获取短剧会话文件或下载短剧文件资源,或提到 pippit-cli short-drama / 小云雀短剧时触发。
3
+ description: 使用 pippit-tool-cli 的短剧场景能力提交和查询短剧创作任务。覆盖短剧生成、续写、改写、剧情扩展、人物设定、分集草稿、世界观设定、会话文件获取、文件资源下载等创作场景。当用户要求创作短剧、写短剧剧本、续写故事、修改剧情、补充角色设定、查询短剧任务进展、获取短剧会话文件或下载短剧文件资源,或提到 pippit-tool-cli short-drama / 小云雀短剧时触发。
4
4
  user-invocable: true
5
5
  metadata:
6
6
  {
@@ -9,7 +9,7 @@ metadata:
9
9
  "emoji": "📖",
10
10
  "requires":
11
11
  {
12
- "bins": ["pippit-cli"]
12
+ "bins": ["pippit-tool-cli"]
13
13
  }
14
14
  }
15
15
  }
@@ -17,7 +17,7 @@ metadata:
17
17
 
18
18
  # 小云雀短剧创作
19
19
 
20
- 通过 `pippit-cli short-drama` 命令提交短剧创作任务、上传参考文件,并行查询任务进展和会话产物文件,及时把重要资产下载到用户本地。
20
+ 通过 `pippit-tool-cli short-drama` 命令提交短剧创作任务、上传参考文件,并行查询任务进展和会话产物文件,及时把重要资产下载到用户本地。
21
21
 
22
22
  短剧场景面向剧情、人物、分集与画面化叙事创作,用户的原始需求通过 `--message` 发送给后端 Agent。后端 Agent 负责理解任务、编排流程和生成内容;用户侧 Agent 负责提交任务、并行查询进展与产物、主动下载重要资产并展示结果。
23
23
 
@@ -33,7 +33,7 @@ metadata:
33
33
 
34
34
  ## 前置要求
35
35
 
36
- 需要已安装 `pippit-cli`:
36
+ 需要已安装 `pippit-tool-cli`:
37
37
 
38
38
  ```bash
39
39
  npx @pippit-dev/cli@latest install
@@ -45,20 +45,20 @@ npx @pippit-dev/cli@latest install
45
45
 
46
46
  ```bash
47
47
  # 创建新会话并提交短剧创作需求
48
- pippit-cli short-drama +submit-run --message "创作一个赛博朋克短剧开头"
48
+ pippit-tool-cli short-drama +submit-run --message "创作一个赛博朋克短剧开头"
49
49
 
50
50
  # 向已有会话追加新的短剧需求
51
- pippit-cli short-drama +submit-run --message "继续写下一集,重点描写主角的逃亡" --thread-id THREAD_ID
51
+ pippit-tool-cli short-drama +submit-run --message "继续写下一集,重点描写主角的逃亡" --thread-id THREAD_ID
52
52
 
53
53
  # 携带已上传文件 ID 提交任务
54
- pippit-cli short-drama +submit-run --message "参考这个大纲写第一集" --asset-ids ASSET_ID
54
+ pippit-tool-cli short-drama +submit-run --message "参考这个大纲写第一集" --asset-ids ASSET_ID
55
55
  ```
56
56
 
57
57
  ### 2. 查询短剧任务进展
58
58
 
59
59
  ```bash
60
60
  # 查询会话消息列表
61
- pippit-cli short-drama +get-thread --thread-id THREAD_ID --run-id RUN_ID --after-seq 0
61
+ pippit-tool-cli short-drama +get-thread --thread-id THREAD_ID --run-id RUN_ID --after-seq 0
62
62
  ```
63
63
 
64
64
  > `thread_id` 和 `run_id` 由 `+submit-run` 返回。`after-seq` 用于增量拉取消息,首次查询可使用 `0`。
@@ -68,14 +68,14 @@ pippit-cli short-drama +get-thread --thread-id THREAD_ID --run-id RUN_ID --after
68
68
  当用户提供短剧大纲、人物设定、世界观设定、已有分集或剧本等本地文件路径时,可先上传文件。
69
69
 
70
70
  ```bash
71
- pippit-cli short-drama +upload-file --path /path/to/outline.md
71
+ pippit-tool-cli short-drama +upload-file --path /path/to/outline.md
72
72
  ```
73
73
 
74
74
  ### 4. 获取会话文件
75
75
 
76
76
  ```bash
77
77
  # 获取会话文件列表
78
- pippit-cli short-drama +list-thread-file --thread-id THREAD_ID --page-num 1 --page-size 200
78
+ pippit-tool-cli short-drama +list-thread-file --thread-id THREAD_ID --page-num 1 --page-size 200
79
79
  ```
80
80
 
81
81
  `+list-thread-file` 返回的每个文件对象包含:
@@ -93,7 +93,7 @@ pippit-cli short-drama +list-thread-file --thread-id THREAD_ID --page-num 1 --pa
93
93
 
94
94
  ```bash
95
95
  # 下载文件资源到指定文件路径
96
- pippit-cli short-drama +download-result --url DOWNLOAD_URL --output-path FILE_PATH
96
+ pippit-tool-cli short-drama +download-result --url DOWNLOAD_URL --output-path FILE_PATH
97
97
  ```
98
98
 
99
99
  `FILE_PATH` 必须直接使用 `+list-thread-file` 返回的完整 `file_path`,包含文件名,不要取父目录。`+download-result` 负责把会话产生的文件通过 URL 下载到该目标文件路径;如果目标文件已存在,跳过下载。
@@ -103,12 +103,12 @@ pippit-cli short-drama +download-result --url DOWNLOAD_URL --output-path FILE_PA
103
103
  ### 场景 1:用户要求生成短剧内容
104
104
 
105
105
  ```
106
- 1. pippit-cli short-drama +submit-run --message "用户的原始短剧需求"
106
+ 1. pippit-tool-cli short-drama +submit-run --message "用户的原始短剧需求"
107
107
  → 拿到 thread_id、run_id 和 web_thread_link
108
108
  2. 立即将 web_thread_link 展示给用户
109
109
  3. 并行发起,二者同等重要:
110
- a. pippit-cli short-drama +get-thread --thread-id THREAD_ID --run-id RUN_ID --after-seq SEQUENCE
111
- b. pippit-cli short-drama +list-thread-file --thread-id THREAD_ID --page-num PAGE_NUM --page-size 200
110
+ a. pippit-tool-cli short-drama +get-thread --thread-id THREAD_ID --run-id RUN_ID --after-seq SEQUENCE
111
+ b. pippit-tool-cli short-drama +list-thread-file --thread-id THREAD_ID --page-num PAGE_NUM --page-size 200
112
112
  4. 检查 `get-thread` 返回的 messages:
113
113
  - 如果任务仍在进行中:展示过程消息,继续查询
114
114
  - 如果后端 Agent 提出问题:展示问题,等待用户回复
@@ -130,9 +130,9 @@ pippit-cli short-drama +download-result --url DOWNLOAD_URL --output-path FILE_PA
130
130
  ### 场景 2:用户提供参考文件要求创作
131
131
 
132
132
  ```
133
- 1. pippit-cli short-drama +upload-file --path /path/to/file
133
+ 1. pippit-tool-cli short-drama +upload-file --path /path/to/file
134
134
  → 拿到 file_id
135
- 2. pippit-cli short-drama +submit-run --message "用户的原始短剧需求" --asset-ids file_id
135
+ 2. pippit-tool-cli short-drama +submit-run --message "用户的原始短剧需求" --asset-ids file_id
136
136
  → 拿到 thread_id、run_id 和 web_thread_link
137
137
  3. 后续同场景 1 的并行查询、重要资产发现和文件下载流程
138
138
  ```
@@ -140,7 +140,7 @@ pippit-cli short-drama +download-result --url DOWNLOAD_URL --output-path FILE_PA
140
140
  ### 场景 3:在已有短剧会话中续写或修改
141
141
 
142
142
  ```
143
- 1. pippit-cli short-drama +submit-run --message "用户的新需求" --thread-id THREAD_ID
143
+ 1. pippit-tool-cli short-drama +submit-run --message "用户的新需求" --thread-id THREAD_ID
144
144
  → 拿到新的 run_id 和 web_thread_link
145
145
  2. 继续按场景 1 展示进展、处理用户补充问题、获取新增会话文件列表,并及时下载新增重要资产
146
146
  ```
@@ -264,7 +264,7 @@ pippit-cli short-drama +download-result --url DOWNLOAD_URL --output-path FILE_PA
264
264
 
265
265
  对带 `download_url` 的重要资产调用下载工具,可并行。重要资产必须主动下载,不要等用户再次要求,也不要在调用下载工具前先检查本地文件是否存在。
266
266
 
267
- 1. 调用 `pippit-cli short-drama +download-result --url DOWNLOAD_URL --output-path FILE_PATH`。
267
+ 1. 调用 `pippit-tool-cli short-drama +download-result --url DOWNLOAD_URL --output-path FILE_PATH`。
268
268
  2. 下载完成后,向用户展示本地文件路径;如果某个文件下载失败,记录失败项并在后续轮询中重试,不阻塞已成功落盘的文件展示。
269
269
 
270
270
  ## 向用户展示内容