Expertise·Files & Storage

Qiniu KODO qshell

Operate Qiniu Cloud KODO object storage via qshell CLI: file CRUD, batch operations, CDN refresh/prefetch, data processing and file sharing.

You say
Buy it · $99 Read it before you buy $99 Written by qiniu · unverified publisher
Context cost
7.5k tokensestimated from the bundle, loaded when it triggers
Bundle
4 files · 30.1 kB1 script among them — read before you run
Licence
MITpaid listing
Last change
no release on file
Servers it uses
Noneruns standalone

What it does

Operate Qiniu Cloud KODO object storage via qshell CLI. Covers file CRUD, batch operations, CDN refresh/prefetch, data processing, file sharing, M3U8 operations, and sandbox management.

Installed, it changes the agent in these ways.

What this skill changes about the agent is not written down here yet. The listing was collected from its source, and the description is in its own SKILL.md.

Expertise

Domain judgement the base model does not have.

object-storageclicdnqiniu
Filed under

Files & Storage

The skill itself

This is the whole product. A skill is instructions the model reads, so there is nothing behind the listing you cannot see first — the front matter loads with every session, and the body below it loads when the skill triggers.

SKILL.md22.1 kB · 601 lines
--- name: qshell description: > Operate Qiniu Cloud KODO object storage via qshell CLI. Covers file CRUD, batch operations, CDN refresh/prefetch, data processing, file sharing, M3U8 operations, and sandbox management. type: tool best_for: - "Managing Qiniu Cloud KODO object storage resources" - "Batch file operations (upload, download, copy, move, delete)" - "CDN cache refresh and prefetch" - "Cloud sandbox environment management" - "File sharing and private link generation" scenarios: - "Upload local files to a Qiniu bucket" - "List and query files in a bucket with prefix filtering" - "Batch delete expired files from storage" - "Refresh CDN cache after updating resources" - "Create and manage sandbox environments" - "Generate private download links for restricted files" - "Migrate data from AWS S3 or Alibaba Cloud OSS to Qiniu" ---
24# 七牛 KODO 资源操作 (qshell)
25
26通过 qshell CLI 操作七牛云 KODO 对象存储及沙箱计算资源。
27
28## 前置条件
29
30qshell 通过系统 PATH 查找,直接使用 qshell 命令调用。
31
32### 使用策略
33
34**不要提前检查 qshell 是否安装。** 直接执行用户请求的 qshell 命令。仅当命令执行失败(如 command not foundno such file or directory、exit code 127)时,告知用户 qshell 未安装,并询问是否需要自动安装。获得用户同意后,执行 references/install.sh 安装(如需了解脚本细节可阅读 references/install.md),然后重新执行命令。
35
36### 账号未配置时
37
38如果命令返回 bad token / unauthorized / 401 错误,提示用户运行:
39```bash
40qshell account <AccessKey> <SecretKey> <Name>
41```
42
43> **安全规则:** 当执行 qshell account 设置凭据时,**必须** 在命令前加一个空格,以防止 AccessKey 和 SecretKey 被记录在 shell 历史中。例如: qshell account <AK> <SK> <Name>
44
45### 沙箱功能鉴权
46
47沙箱相关命令需要配置环境变量:
48- QINIU_API_KEYE2B_API_KEY:API 密钥(必填)
49- QINIU_SANDBOX_API_URLE2B_API_URL:API 服务地址(可选)
50
51优先级:QINIU_* > E2B_*
52
53---
54
55## 命令速查
56
57### 1. 账号与 Bucket 管理
58
59```bash
60# 设置/查看当前账号
61qshell account # 查看当前账号
62qshell account <AccessKey> <SecretKey> <Name> # 设置账号
63
64# 用户管理
65qshell user ls # 列出所有已配置账号
66qshell user cu <Name> # 切换当前账号
67qshell user current # 查看当前用户
68qshell user lookup <Name> # 查看指定账号详情
69
70# 列出所有 bucket
71qshell buckets
72qshell buckets --detail # 带详情
73qshell buckets --region z0 # 指定区域
74
75# 查看 bucket 信息
76qshell bucket <Bucket>
77
78# 创建 bucket
79qshell mkbucket <Bucket> --region z0 # 华东
80qshell mkbucket <Bucket> --region z1 # 华北
81qshell mkbucket <Bucket> --region z2 # 华南
82qshell mkbucket <Bucket> --region na0 # 北美
83qshell mkbucket <Bucket> --region as0 # 东南亚
84qshell mkbucket <Bucket> --region z0 --private # 创建私有 bucket
85
86# 查看 bucket 绑定的域名
87qshell domains <Bucket>
88qshell domains <Bucket> --detail
89```
90
91### 2. 文件查询
92
93```bash
94# 查看单个文件信息
95qshell stat <Bucket> <Key>
96
97# 列举 bucket 中的文件
98qshell listbucket2 <Bucket> # 列出所有文件
99qshell listbucket2 <Bucket> -p <Prefix> # 按前缀列举
100qshell listbucket2 <Bucket> -p <Prefix> --limit 100 # 限制数量
101qshell listbucket2 <Bucket> -o result.txt # 输出到文件
102qshell listbucket2 <Bucket> -r # 人类可读的文件大小
103qshell listbucket2 <Bucket> -s 2024-01-01-00-00-00 # 起始时间
104qshell listbucket2 <Bucket> -e 2024-12-31-23-59-59 # 结束时间
105qshell listbucket2 <Bucket> --file-types 0,1 # 按存储类型过滤
106qshell listbucket2 <Bucket> --min-file-size 1048576 # 最小文件大小 (1MB)
107qshell listbucket2 <Bucket> --show-fields Key,FileSize,PutTime # 指定显示字段
108
109# 旧版列举(兼容)
110qshell listbucket <Bucket> <OutputFile>
111
112# 批量查看文件信息(从文件或 stdin 读取 key 列表)
113qshell batchstat <Bucket> -i <KeyListFile>
114
115# 校验本地文件与云端文件是否一致
116qshell match <Bucket> <Key> <LocalFile>
117
118# 批量校验
119qshell batchmatch <Bucket> -i <KeyLocalFile> # 每行: Key\tLocalPath
120```
121
122**listbucket2 输出格式(默认 tab 分隔):**
123```
124Key FileSize Hash PutTime MimeType FileType EndUser
125```
126
127**存储类型 FileType:**
128- 0: 标准存储 (STANDARD)
129- 1: 低频存储 (IA)
130- 2: 归档存储 (ARCHIVE)
131- 3: 深度归档 (DEEP_ARCHIVE)
132- 4: 归档直读 (ARCHIVE_IR)
133- 5: 智能分层 (INTELLIGENT_TIERING)
134
135### 3. 文件上传
136
137**选择策略:** 文件 < 100MB 使用 fput(表单上传),>= 100MB 使用 rput(分片上传)。
138
139```bash
140# 表单上传(适合 < 100MB 的文件)
141qshell fput <Bucket> <Key> <LocalFile>
142qshell fput <Bucket> <Key> <LocalFile> --overwrite # 覆盖同名
143qshell fput <Bucket> <Key> <LocalFile> --file-type 1 # 上传为低频存储
144qshell fput <Bucket> <Key> <LocalFile> -t image/png # 指定 MIME 类型
145
146# 分片上传(>= 100MB 的文件,支持断点续传)
147qshell rput <Bucket> <Key> <LocalFile>
148qshell rput <Bucket> <Key> <LocalFile> --overwrite
149qshell rput <Bucket> <Key> <LocalFile> --resumable-api-v2 # 使用 v2 分片
150qshell rput <Bucket> <Key> <LocalFile> -c 10 # 10 个并发分片
151
152# 批量上传目录
153qshell qupload2 --src-dir <LocalDir> --bucket <Bucket>
154qshell qupload2 --src-dir <LocalDir> --bucket <Bucket> --key-prefix "dir/" --overwrite
155qshell qupload2 --src-dir <LocalDir> --bucket <Bucket> --thread-count 10
156qshell qupload2 --src-dir <LocalDir> --bucket <Bucket> --skip-suffixes .tmp,.log
157qshell qupload2 --src-dir <LocalDir> --bucket <Bucket> --check-exists # 跳过已存在
158
159# 旧版批量上传(使用配置文件)
160qshell qupload <UploadConfigFile>
161```
162
163### 4. 文件下载
164
165```bash
166# 下载单个文件
167qshell get <Bucket> <Key>
168qshell get <Bucket> <Key> -o <LocalFile> # 指定保存路径
169qshell get <Bucket> <Key> --domain <Domain> # 指定下载域名
170qshell get <Bucket> <Key> --check-hash # 下载后校验 hash
171qshell get <Bucket> <Key> --enable-slice # 分片下载大文件
172
173# 批量下载
174qshell qdownload2 --bucket <Bucket> --dest-dir <LocalDir>
175qshell qdownload2 --bucket <Bucket> --dest-dir <LocalDir> --prefix "logs/"
176qshell qdownload2 --bucket <Bucket> --dest-dir <LocalDir> -c 10 # 10 并发
177qshell qdownload2 --bucket <Bucket> --dest-dir <LocalDir> --domain <Domain>
178qshell qdownload2 --bucket <Bucket> --dest-dir <LocalDir> --key-file <KeyFile>
179
180# 旧版批量下载(使用配置文件)
181qshell qdownload <DownloadConfigFile>
182```
183
184### 5. 文件操作
185
186```bash
187# 复制文件
188qshell copy <SrcBucket> <SrcKey> <DestBucket> -k <DestKey>
189qshell copy <SrcBucket> <SrcKey> <DestBucket> # key 不变
190qshell copy <SrcBucket> <SrcKey> <DestBucket> -k <DestKey> --overwrite
191
192# 移动文件
193qshell move <SrcBucket> <SrcKey> <DestBucket> -k <DestKey>
194qshell move <Bucket> <OldKey> <Bucket> -k <NewKey> # 同 bucket 重命名
195
196# 重命名文件
197qshell rename <Bucket> <OldKey> <NewKey>
198
199# 删除文件
200qshell delete <Bucket> <Key>
201
202# 抓取远程资源到 bucket(大文件建议使用 sync 命令)
203qshell fetch <RemoteURL> <Bucket> -k <Key>
204
205# 同步远程大文件到 bucket(使用分片上传,支持断点续传,适合大文件)
206qshell sync <SrcResUrl> <Bucket> -k <Key>
207qshell sync <SrcResUrl> <Bucket> -k <Key> --overwrite
208qshell sync <SrcResUrl> <Bucket> -k <Key> --file-type 1 # 指定存储类型
209
210# 镜像更新(从源站重新拉取覆盖旧文件)
211qshell mirrorupdate <Bucket> <Key>
212qshell prefetch <Bucket> <Key> # 同 mirrorupdate
213
214# 批量操作(从文件或 stdin 读取列表)
215qshell batchcopy <SrcBucket> <DestBucket> -i <MapFile> # 每行: SrcKey\tDestKey
216qshell batchmove <SrcBucket> <DestBucket> -i <MapFile>
217qshell batchdelete <Bucket> -i <KeyListFile> # 每行一个 key
218qshell batchrename <Bucket> -i <OldNewKeyMapFile> # 每行: OldKey\tNewKey
219qshell batchfetch <Bucket> -i <URLKeyMapFile> # 每行: URL\tKey
220```
221
222> **安全提示:** 批量删除/移动操作默认需要输入验证码确认,可加 -y 跳过确认直接执行。执行前务必确认操作范围。
223> 建议先用 --success-list--failure-list 记录结果。
224
225### 6. 文件属性修改
226
227```bash
228# 修改 MIME 类型
229qshell chgm <Bucket> <Key> <NewMimeType>
230
231# 修改存储类型
232qshell chtype <Bucket> <Key> <FileType> # 0/1/2/3/4/5
233
234# 设置文件过期时间(天数,0 表示取消过期)
235qshell expire <Bucket> <Key> <DeleteAfterDays>
236
237# 禁用/启用文件访问
238qshell forbidden <Bucket> <Key> # 禁用
239qshell forbidden <Bucket> <Key> -r # 取消禁用
240
241# 解冻归档文件(FreezeAfterDays: 1~7 天)
242qshell restorear <Bucket> <Key> <FreezeAfterDays>
243
244# 修改文件生命周期(转存储类型、过期删除)
245qshell chlifecycle <Bucket> <Key> \
246 --to-ia-after-days 30 \
247 --to-archive-ir-after-days 60 \
248 --to-archive-after-days 120 \
249 --to-deep-archive-after-days 180 \
250 --delete-after-days 365
251# 设为 -1 表示取消对应的生命周期规则
252
253# 批量操作
254qshell batchchgm <Bucket> -i <KeyMimeFile> # 每行: Key\tMimeType
255qshell batchchtype <Bucket> -i <KeyTypeFile> # 每行: Key\tFileType
256qshell batchexpire <Bucket> -i <KeyDaysFile> # 每行: Key\tDays
257qshell batchforbidden <Bucket> -i <KeyListFile>
258qshell batchrestorear <Bucket> -i <KeyDaysFile> # 每行: Key\tFreezeAfterDays
259qshell batchchlifecycle <Bucket> -i <LifecycleFile> # 批量修改生命周期
260```
261
262### 7. CDN 操作
263
264```bash
265# 刷新 URL 缓存(从文件读取 URL 列表,每行一个 URL)
266qshell cdnrefresh -i <URLListFile>
267qshell cdnrefresh -i <URLListFile> -r # 刷新目录
268
269# 预取 URL(从文件读取 URL 列表)
270qshell cdnprefetch -i <URLListFile>
271
272# 也可以从 stdin 输入
273echo "http://example.com/path/file.jpg" | qshell cdnrefresh
274echo "http://example.com/path/file.jpg" | qshell cdnprefetch
275```
276
277### 8. 数据处理 (pfop)
278
279```bash
280# 触发持久化数据处理
281qshell pfop <Bucket> <Key> <FopCommand>
282qshell pfop <Bucket> <Key> <FopCommand> -p <Pipeline> # 指定队列
283qshell pfop <Bucket> <Key> <FopCommand> -u <NotifyURL> # 通知 URL
284
285# 查询处理状态
286qshell prefop <PersistentId>
287```
288
289### 9. 私有链接与签名
290
291```bash
292# 生成私有资源访问链接
293qshell privateurl <PublicURL> # 默认有效期
294qshell privateurl <PublicURL> <Deadline> # 指定 Unix 时间戳
295
296# 生成带数据处理 + saveas 的 URL
297qshell saveas <PublicUrlWithFop> <SaveBucket> <SaveKey>
298
299# 批量签名(从文件读取 URL 列表)
300qshell batchsign -i <URLListFile>
301
302# 生成各类七牛 Token(交互式,AI 助手无法直接调用,需提示用户手动运行)
303qshell token
304```
305
306### 10. 工具命令
307
308```bash
309# 解码七牛 reqid
310qshell reqid <ReqId>
311
312# 计算本地文件的 qetag
313qshell qetag <LocalFilePath>
314
315# Base64 编解码(URL 安全)
316qshell b64encode <String>
317qshell b64decode <EncodedString>
318
319# RPC 编解码
320qshell rpcencode <String>
321qshell rpcdecode <EncodedString>
322
323# URL 编解码
324qshell urlencode <String>
325qshell urldecode <EncodedString>
326
327# 时间工具
328qshell d2ts <Seconds> # N 秒后的时间戳
329qshell tms2d <TimestampInMs> # 毫秒时间戳转日期
330qshell tns2d <TimestampInNs> # 纳秒时间戳转日期
331qshell ts2d <TimestampInSec> # 秒级时间戳转日期
332
333# IP 查询
334qshell ip <IPAddress>
335
336# 目录缓存(用于批量上传前生成文件列表)
337qshell dircache <DirPath> -o <OutputFile>
338
339# 解压 zip 文件(兼容 GBK/UTF8 文件名)
340qshell unzip <ZipFilePath> --dir <UnzipToDir>
341
342# Go 模板函数(验证模板格式)
343qshell func <ParamsJson> <FuncTemplate>
344
345# 查看版本
346qshell version
347```
348
349### 11. 异步抓取与云迁移
350
351```bash
352# 异步批量抓取远程资源
353qshell abfetch -i <URLKeyFile> <Bucket>
354
355# 查询异步抓取状态
356qshell acheck <Bucket> <Id> --zone <Zone>
357
358# 从 AWS S3 列举
359qshell awslist -A <AwsID> -S <AwsSecretKey> <AwsBucket> <AwsRegion>
360
361# 从 AWS S3 迁移到七牛
362qshell awsfetch -A <AwsID> -S <AwsSecretKey> <AwsBucket> <AwsRegion> <QiniuBucket>
363
364# 从阿里云 OSS 列举
365qshell alilistbucket <DataCenter> <Bucket> <AccessKeyId> <AccessKeySecret> [Prefix] <ListBucketResultFile>
366```
367
368### 12. 文件分享
369
370```bash
371# 创建分享链接
372qshell create-share kodo://<Bucket>/<Prefix>
373qshell create-share kodo://<Bucket>/<Prefix> --extract-code <Code>
374qshell create-share kodo://<Bucket>/<Prefix> --validity-period 1h
375qshell create-share kodo://<Bucket>/<Prefix> --output share.json
376
377# 列举分享内容
378qshell share-ls <ShareLink> # 使用分享链接
379qshell share-ls share.json # 使用输出文件
380qshell share-ls <ShareLink> --prefix <Prefix> # 按前缀过滤
381qshell share-ls <ShareLink> --limit 100 # 限制数量
382qshell share-ls <ShareLink> --extract-code <Code> # 指定提取码
383
384# 从分享下载文件
385qshell share-cp <ShareLink> --to <LocalDir> # 下载文件
386qshell share-cp <ShareLink> --to <LocalDir> -r # 递归下载目录
387qshell share-cp share.json --from <Path> --to <LocalDir> # 下载指定文件
388```
389
390### 13. M3U8 操作
391
392```bash
393# 删除 M3U8 播放列表及其所有切片文件
394qshell m3u8delete <Bucket> <M3u8Key>
395
396# 替换/清除 M3U8 播放列表中的切片域名
397qshell m3u8replace <Bucket> <M3u8Key> # 清除域名(相对路径)
398qshell m3u8replace <Bucket> <M3u8Key> <NewDomain> # 替换为新域名
399```
400
401### 14. 沙箱管理
402
403需要配置 QINIU_API_KEYE2B_API_KEY 环境变量。
404
405别名:sandbox = sbx
406
407```bash
408# 列出沙箱
409qshell sandbox list # 列出运行中的沙箱
410qshell sbx ls # 使用别名
411qshell sandbox list -s running,paused # 按状态过滤
412qshell sandbox list -m key=value # 按元数据过滤
413qshell sandbox list -f json # JSON 格式输出
414
415# 创建沙箱(默认自动连接终端)
416# ⚠ AI 助手应始终使用 -d(分离模式),避免交互式终端阻塞
417qshell sandbox create <TemplateID> -d
418qshell sbx cr <TemplateID> -d
419qshell sandbox create <TemplateID> -d -t 300 # 设置超时 300 秒
420qshell sandbox create <TemplateID> -d -m env=dev # 添加元数据
421
422# 连接到已有沙箱终端
423qshell sandbox connect <SandboxID>
424qshell sbx cn <SandboxID>
425
426# 在沙箱中执行命令
427qshell sandbox exec <SandboxID> -- <Command>
428qshell sbx ex <SandboxID> -- ls -la
429qshell sandbox exec <SandboxID> -b -- python server.py # 后台运行
430qshell sandbox exec <SandboxID> -c /app -- npm install # 指定工作目录
431qshell sandbox exec <SandboxID> -e PORT=3000 -- node app.js # 设置环境变量
432
433# 终止沙箱
434qshell sandbox kill <SandboxID>
435qshell sbx kl <SandboxID>
436qshell sandbox kill -a # 终止所有
437qshell sandbox kill -a -m user=alice # 按元数据过滤终止
438
439# 暂停/恢复沙箱
440qshell sandbox pause <SandboxID>
441qshell sbx ps <SandboxID>
442qshell sandbox pause -a # 暂停所有
443qshell sandbox resume <SandboxID>
444qshell sandbox resume -a # 恢复所有
445
446# 查看沙箱日志
447qshell sandbox logs <SandboxID>
448qshell sbx lg <SandboxID>
449
450# 查看沙箱资源指标
451qshell sandbox metrics <SandboxID>
452qshell sbx mt <SandboxID>
453```
454
455### 15. 沙箱模板管理
456
457别名:sandbox template = sbx tpl
458
459```bash
460# 列出模板
461qshell sandbox template list
462qshell sbx tpl ls
463
464# 查看模板详情
465qshell sandbox template get <TemplateID>
466qshell sbx tpl gt <TemplateID>
467
468# 删除模板
469qshell sandbox template delete <TemplateID> -y
470qshell sbx tpl dl <TemplateID> -y
471
472# 构建模板
473qshell sandbox template build --name <Name> --from-image ubuntu:22.04 --wait
474qshell sbx tpl bd --name <Name> --from-image ubuntu:22.04 --wait
475
476# 查看构建状态
477qshell sandbox template builds <TemplateID> <BuildID>
478qshell sbx tpl bds <TemplateID> <BuildID>
479
480# 发布/取消发布模板
481qshell sandbox template publish <TemplateID> -y
482qshell sandbox template unpublish <TemplateID> -y
483
484# 初始化模板项目脚手架
485qshell sandbox template init
486qshell sandbox template init --name my-template --language go
487qshell sandbox template init --name my-api --language typescript --path ./my-api
488```
489
490**支持的语言:** go, typescript, python
491
492---
493
494## 用户意图到操作的映射
495
496下表仅列出存在歧义或需要判断的场景,简单的一对一映射请参考命令速查部分。
497
498| 用户说 | 操作 | 判断依据 |
499|--------|------|----------|
500| "上传文件到七牛" | qshell fput(< 100MB)/ qshell rput(>= 100MB) | 根据文件大小选择 |
501| "批量上传" | qshell qupload2 | 上传整个目录 |
502| "从远程 URL 抓取文件" | qshell fetch(小文件) / qshell sync(大文件或需断点续传) | fetch 适合小文件,sync 支持分片和断点续传 |
503| "同步文件到七牛" | qshell sync | 大文件或需断点续传时优先 |
504| "从 S3 迁移" | qshell awsfetch | 需要 AWS 凭据 |
505| "从阿里云迁移" | qshell alilistbucket + qshell batchfetch | 先列举再批量抓取 |
506| "刷新 CDN" | qshell cdnrefresh | URL 刷新 |
507| "预热 CDN" | qshell cdnprefetch | URL 预取 |
508| "改一下存储类型" | qshell chtype(单文件) / qshell batchchtype(批量) | 根据操作规模选择 |
509| "设置文件生命周期" | qshell chlifecycle(单文件) / qshell batchchlifecycle(批量) | 根据操作规模选择 |
510| "移动文件" / "重命名文件" | qshell rename(同 bucket)/ qshell move(跨 bucket) | 根据是否跨 bucket 选择 |
511| "删除 m3u8" | qshell m3u8delete | 会同时删除所有切片文件 |
512| "创建沙箱" | qshell sandbox create <TemplateID> -d | AI 助手必须使用 -d 分离模式 |
513| "生成 token" | qshell token | 交互式命令,提示用户手动运行 |
514
515---
516
517## 安全规则
518
519### 危险操作(必须与用户确认后再执行)
520
521- qshell account <AK> <SK> <Name> — 会覆盖当前账号配置,涉及凭据安全
522- qshell delete / qshell batchdelete — 删除文件不可恢复
523- qshell move / qshell batchmove — 源文件会被删除
524- qshell rename / qshell batchrename — 重命名实质是移动
525- qshell forbidden — 禁用文件访问
526- qshell batchexpire — 批量设置过期可能导致数据丢失
527- qshell m3u8delete — 删除 M3U8 及所有切片文件
528- qshell sandbox kill / qshell sandbox kill -a — 终止沙箱
529- qshell sandbox connect — 交互式终端,AI 助手无法操作,需提示用户手动执行
530- qshell sandbox template delete — 删除模板
531- 任何带 --overwrite 的上传/复制/同步操作
532- qshell token — 交互式命令,AI 助手无法操作,需提示用户手动执行
533
534### 安全操作(可直接执行)
535
536- 所有查询类:statlistbucket2bucketsbucketdomainsprefopbatchstat
537- 工具类:reqidqetagmatchb64encodeb64decodeurlencodeurldecoderpcencoderpcdecodeipd2tstms2dtns2dts2dfuncdircacheunzipversion
538- 链接生成:privateurlsaveasbatchsigncreate-share
539- 分享查看:share-ls
540- 沙箱查询:sandbox listsandbox logssandbox metricssandbox template listsandbox template getsandbox template buildssandbox template init
541
542---
543
544## 输出格式
545
546### 文件信息 (stat)
547
548```
549## 文件信息: <Bucket>/<Key>
550
551| 属性 | 值 |
552|------|-----|
553| Key | path/to/file.jpg |
554| 大小 | 1.5 MB |
555| Hash | Fh8... |
556| MIME | image/jpeg |
557| 存储类型 | 标准存储 |
558| 上传时间 | 2024-03-01 10:30:00 |
559```
560
561### 文件列表 (listbucket2)
562
563```
564## <Bucket> 文件列表 (前缀: <Prefix>)
565
566| Key | 大小 | MIME | 存储类型 | 上传时间 |
567|-----|------|------|----------|----------|
568| file1.jpg | 1.5 MB | image/jpeg | 标准 | 2024-03-01 |
569| file2.pdf | 3.2 MB | application/pdf | 低频 | 2024-02-15 |
570
571共 N 个文件,总大小 X MB
572```
573
574### 沙箱列表 (sandbox list)
575
576```
577## 沙箱列表
578
579| SANDBOX ID | TEMPLATE ID | STATE | vCPUs | RAM MiB | STARTED AT |
580|------------|-------------|-------|-------|---------|------------|
581| sb-xxx | tmpl-xxx | running | 2 | 512 | 2024-03-01 10:00 |
582```
583
584---
585
586## 错误处理
587
588| 错误 | 处理方式 |
589|------|----------|
590| command not found / exit 127 | qshell 未安装,执行 references/install.sh 安装 |
591| no such file or directory | 检查本地文件路径 |
592| no such bucket / 631 | 检查 bucket 名称,用 qshell buckets 列出可用 bucket |
593| no such file or key / 612 | 检查文件 key 是否正确 |
594| bad token / unauthorized / 401 | 账号配置问题,提示 qshell account 重新配置 |
595| bucket not match | 操作的 bucket 与 key 不匹配 |
596| file exists / 614 | 文件已存在,需要加 --overwrite 选项 |
597| 403 | 权限不足 |
598| API key not configured | 沙箱功能需设置 QINIU_API_KEY 环境变量 |
599| sandbox not found | 检查沙箱 ID,用 qshell sandbox list 查看 |
600| template not found | 检查模板 ID,用 qshell sandbox template list 查看 |
601
In the file
SKILL.md2,316 words
Files4
LicenceMIT
Why you can read it

Nothing in a skill executes. The client loads the text and the model follows it, so a skill can be audited the way a runbook is — by reading it.

What it costs in context

Skills are not billed by the call. They are paid for in context: every token the instructions occupy is a token your code, your diff and your conversation cannot use. Here is what this one takes and when it takes it.

≈220
always loaded
The name and description, so the model knows the skill exists and when to reach for it.
7,305
on trigger
The instruction body and 3 supporting files, read only when the skill fires.
3.8%
of a 200k window
Ten skills this size would take about 38% of the window before you open a file.
050k100k150k200k context window

7.5k tokens, estimated from the bundle at four bytes to the token, held for the rest of the session once it triggers. Heavy. Teams tend to install this one per project rather than globally, and load it only when the job comes up.

Servers bill, skills cost

A server charges by the month. A skill charges once per session, in context, and then keeps charging it for as long as the session lives.

Before and after

The same question, put to the same model twice: once as it comes, and once with these instructions loaded.

No worked example has been published for this skill yet.

Adoption
Installsnone yet
Ratingno reviews yet

The procedure it runs

The procedure has not been published here. It is in the skill’s own SKILL.md, which its author has not sent to the marketplace yet.

Prose, not code

These steps are written for a model to follow, not executed by a runtime. It can still be told to skip one, and it will say so when it does.

Servers it uses

None. This skill calls no MCP servers at all.

Everything it needs is in the instructions, so it works in a project with nothing connected — the model reads the file and changes how it works with what it can already reach.

It writes no files and reaches no network. All it changes is how the model reasons and writes.

What it asks for
Writes filesno
Network accessno

Read from the allowed-tools line of this skill’s own SKILL.md. A skill grants no permissions of its own — it can only ask for tools your client already has.

What it will not do

Every skill is narrow, and the useful ones say where they stop. These are the jobs this one is the wrong tool for.

What this skill is not for has not been published here. Nothing is implied by that: it is a section the author has not filled in.

What is in the bundle

4 files, 30.1 kB on disk. Mostly text — the instructions the model reads — with 1 script in it that your client would run only if the instructions tell it to.

  • SKILL.md22.1 kB
  • examples/conversation-flow.md3.2 kB
  • references/install.md1.6 kB
  • references/install.sh3.2 kB
What is not in it

A skill installs nothing and depends on nothing: it is a folder your client reads. This one carries 1 script beside the text, so the bundle is 4 files you can review in full before installing. The MIT licence covers the templates and examples as well as the instructions.

Install

Installing copies the bundle into your project. Nothing runs at install time — the files sit on disk until the model reads them.

$99 once
Qiniu KODO qshell · MIT · qiniu
one-time
Price$99 once
LicenceMIT — the author’s, unchanged by this purchase
Paid throughStripe, once, on the card you add at the checkout
Keeps workingfor good — the files are yours once they are on disk
Updatesevery update its author ships, delivered through this account

You can read the whole bundle before paying — the SKILL.md above is the product, not a preview of it. What the money buys is the delivery: the folder packaged and handed to your machine by key, every update its author ships, and our support if it does not do what this listing says. The terms of use are MIT, set by the author and unchanged by buying it here.

Payment runs through Stripe, on a page like this one rather than a redirect. Once there is an account it joins the same mcprush invoice as everything else you run, so there is never a second card to enter.

Which clients pick it up on their own

A skill is a folder of text. A client with a skills folder reads it without being told; everywhere else the same text works, it is just handed to the model rather than found.

Claude Code.claude/skills/
Claude Desktop
ChatGPT
Cursor.cursor/skills/
VS Code.github/skills/
Codex CLI.agents/skills/
Gemini CLI.gemini/skills/
Grok.grok/skills/
Zed.agents/skills/
Windsurf.windsurf/skills/
Agent SDK.claude/skills/
HTTP / API
This release
Versionnot versioned
Publishedno release date on file
Price$99
Referenceqiniu/qiniu-kodo-qshell

Versions

Its author publishes no version number, so there is nothing here to pin to: what you install is the folder as it stands today. Instructions change more often than APIs do — a skill can be rewritten entirely without anything it depends on moving.

v
  • No earlier releases have been published to the marketplace.
Pinning

Nothing to pin to: this skill carries no version number of its own. What you install is what the folder holds on the day you install it.

Reviews

no reviews yet · no installs yet

Nobody has reviewed this skill yet. The rating is the mean of the reviews written here, so there is none until somebody writes the first.

Who can post

Only accounts that have had the skill installed for fourteen days, so a review is written after living with it rather than after reading it. Publishers may reply once.

Who wrote it

QI
qiniu

Publishes on mcprush.

0 servers listed1 skill listednot claimed
Profile
Publisher
Servers0