@king-3/file-kit 1.0.0-beta.2

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 ADDED
@@ -0,0 +1,750 @@
1
+ # @king-3/file-kit
2
+
3
+ > 🔧 多功能文件工具箱 — Base64 转换 · 视频转音频 · 文件加密/解密
4
+
5
+ [![npm version](https://img.shields.io/npm/v/@king-3/file-kit.svg)](https://www.npmjs.com/package/@king-3/file-kit)
6
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
+
8
+ ## ✨ 核心功能
9
+
10
+ - 📄 **Base64 转换** - 文件 ↔ Base64 JSON,支持双向转换和完整还原
11
+ - 🎵 **视频转音频** - 从视频中提取音频轨道,支持 5 种格式和 3 种质量级别
12
+ - 🔐 **文件加密/解密** - 基于 AES-256-GCM 的军事级加密,确保数据安全
13
+
14
+ ## 📦 安装
15
+
16
+ ### 全局安装(推荐)
17
+
18
+ ```bash
19
+ # 使用 pnpm
20
+ pnpm install @king-3/file-kit -g
21
+
22
+ # 使用 npm
23
+ npm install @king-3/file-kit -g
24
+
25
+ # 使用 yarn
26
+ yarn global add @king-3/file-kit
27
+ ```
28
+
29
+ ### 本地安装
30
+
31
+ ```bash
32
+ pnpm install @king-3/file-kit --save-dev
33
+ ```
34
+
35
+ ## 🚀 快速开始
36
+
37
+ ### 命令行模式
38
+
39
+ ```bash
40
+ # 查看帮助
41
+ fkt --help
42
+
43
+ # 查看版本
44
+ fkt --version
45
+
46
+ # 启动交互模式
47
+ fkt -i
48
+ ```
49
+
50
+ ### 交互模式
51
+
52
+ 交互模式提供友好的可视化界面,一步步引导您完成操作:
53
+
54
+ ```bash
55
+ fkt -i
56
+ ```
57
+
58
+ 进入交互模式后,你可以通过方向键选择以下功能:
59
+
60
+ - 📦 文件转 Base64
61
+ - 🔄 Base64 还原文件
62
+ - 🎵 视频提取音频
63
+ - 🔐 文件加密
64
+ - 🔓 文件解密
65
+
66
+ ---
67
+
68
+ ## 📖 功能详解
69
+
70
+ ### 1️⃣ Base64 转换
71
+
72
+ 将任意文件编码为 Base64 格式并保存为 JSON 文件,适用于 API 传输、数据库存储等场景。
73
+
74
+ #### 基础用法
75
+
76
+ ```bash
77
+ fkt base64 <文件路径> [选项]
78
+ ```
79
+
80
+ #### 使用示例
81
+
82
+ ```bash
83
+ # 转换文本文件
84
+ fkt base64 document.txt
85
+
86
+ # 转换图片
87
+ fkt base64 photo.jpg
88
+
89
+ # 转换 PDF
90
+ fkt base64 report.pdf
91
+
92
+ # 指定输出目录
93
+ fkt base64 file.txt -o ./output
94
+ ```
95
+
96
+ #### 输出格式
97
+
98
+ 生成的 JSON 文件格式如下:
99
+
100
+ ```json
101
+ {
102
+ "type": "base64",
103
+ "createdAt": "2024-12-16 10:30:45",
104
+ "file": {
105
+ "name": "document.txt",
106
+ "extension": ".txt",
107
+ "size": 1024,
108
+ "base64": "SGVsbG8gV29ybGQh..."
109
+ }
110
+ }
111
+ ```
112
+
113
+ #### 命令选项
114
+
115
+ | 选项 | 描述 |
116
+ | --------------------- | ------------------------------ |
117
+ | `-o, --output <path>` | 指定输出目录(默认:当前目录) |
118
+ | `-h, --help` | 显示帮助信息 |
119
+
120
+ ---
121
+
122
+ ### 2️⃣ Base64 还原
123
+
124
+ 从 Base64 JSON 文件恢复原始文件。
125
+
126
+ #### 基础用法
127
+
128
+ ```bash
129
+ fkt restore <JSON文件路径> [选项]
130
+ ```
131
+
132
+ #### 使用示例
133
+
134
+ ```bash
135
+ # 还原文件(默认输出到当前目录)
136
+ fkt restore archive.base64.json
137
+
138
+ # 指定输出目录
139
+ fkt restore archive.base64.json -o ./restored
140
+ ```
141
+
142
+ #### 特性
143
+
144
+ - ✅ 保留原始文件大小信息
145
+ - ✅ 显示原始创建时间戳
146
+ - ✅ 验证 JSON 格式完整性
147
+
148
+ #### 命令选项
149
+
150
+ | 选项 | 描述 |
151
+ | --------------------- | ------------------------------ |
152
+ | `-o, --output <path>` | 指定输出目录(默认:当前目录) |
153
+ | `-h, --help` | 显示帮助信息 |
154
+
155
+ ---
156
+
157
+ ### 3️⃣ 视频转音频
158
+
159
+ 从视频文件中提取音频轨道,支持多种格式和质量选项。底层使用 FFmpeg 进行专业级音视频处理。
160
+
161
+ #### 基础用法
162
+
163
+ ```bash
164
+ fkt video-to-audio <视频文件> [选项]
165
+ # 或使用别名
166
+ fkt v2a <视频文件> [选项]
167
+ ```
168
+
169
+ #### 支持的音频格式
170
+
171
+ | 格式 | 扩展名 | 编码器 | 特点 | 适用场景 |
172
+ | -------- | ------- | ---------- | -------------- | --------------- |
173
+ | **MP3** | `.mp3` | libmp3lame | 最佳兼容性 | 日常使用、分享 |
174
+ | **AAC** | `.m4a` | aac | Apple 生态优化 | iOS/macOS 设备 |
175
+ | **FLAC** | `.flac` | flac | 无损压缩 | 音乐收藏、归档 |
176
+ | **ALAC** | `.m4a` | alac | Apple 无损格式 | iTunes/iOS 无损 |
177
+ | **WAV** | `.wav` | pcm_s16le | 未压缩原始音频 | 专业音频编辑 |
178
+
179
+ #### 质量选项
180
+
181
+ | 质量 | MP3 | AAC | FLAC | 说明 |
182
+ | ---------- | ---- | ---- | ------ | ---------------- |
183
+ | **low** | 128k | 128k | 级别 0 | 快速,文件小 |
184
+ | **medium** | 192k | 192k | 级别 5 | 平衡质量(推荐) |
185
+ | **high** | 320k | 256k | 级别 8 | 最佳质量 |
186
+
187
+ #### 使用示例
188
+
189
+ **基础转换**
190
+
191
+ ```bash
192
+ # 交互式选择格式和质量
193
+ fkt v2a video.mp4
194
+ ```
195
+
196
+ **指定格式和质量**
197
+
198
+ ```bash
199
+ # 转换为高质量 MP3
200
+ fkt v2a video.mp4 -f mp3 -q high
201
+
202
+ # 转换为中等质量 AAC
203
+ fkt v2a video.mp4 -f aac -q medium
204
+
205
+ # 转换为无损 FLAC
206
+ fkt v2a video.mp4 -f flac -q high
207
+ ```
208
+
209
+ **指定输出路径**
210
+
211
+ ```bash
212
+ # 指定输出目录
213
+ fkt v2a video.mp4 -o ./audio -f mp3 -q high
214
+
215
+ # 输出文件: ./audio/video.mp3
216
+ ```
217
+
218
+ **批量转换**
219
+
220
+ ```bash
221
+ # 使用 shell 循环批量转换
222
+ for file in *.mp4; do
223
+ fkt v2a "$file" -f mp3 -q high
224
+ done
225
+ ```
226
+
227
+ #### 进度显示
228
+
229
+ 转换过程中会实时显示进度:
230
+
231
+ ```
232
+ ⠋ 正在提取音频 45%
233
+ ```
234
+
235
+ 完成后显示输出路径:
236
+
237
+ ```
238
+ ✔ 音频已提取到: ./video.mp3
239
+ ```
240
+
241
+ #### 命令选项
242
+
243
+ | 选项 | 描述 |
244
+ | --------------------- | --------------------------------- |
245
+ | `-f, --format <fmt>` | 音频格式(mp3/aac/flac/alac/wav) |
246
+ | `-q, --quality <qlt>` | 音频质量(low/medium/high) |
247
+ | `-o, --output <path>` | 输出目录(默认:视频所在目录) |
248
+ | `-h, --help` | 显示帮助信息 |
249
+
250
+ ---
251
+
252
+ ### 4️⃣ 文件加密
253
+
254
+ 使用 AES-256-GCM 算法对文件进行加密,生成加密的 JSON 文件。
255
+
256
+ #### 加密算法
257
+
258
+ - **算法**:AES-256-GCM(Galois/Counter Mode)
259
+ - **密钥派生**:PBKDF2-SHA256(100,000 次迭代)
260
+ - **初始化向量**:16 字节随机生成
261
+ - **盐值**:32 字节随机生成
262
+ - **认证标签**:GCM 模式自动生成,确保数据完整性
263
+
264
+ #### 基础用法
265
+
266
+ ```bash
267
+ fkt encrypt <文件路径> [选项]
268
+ ```
269
+
270
+ #### 使用示例
271
+
272
+ ```bash
273
+ # 交互式加密(会提示输入密码)
274
+ fkt encrypt secret.txt
275
+
276
+ # 命令行指定密码
277
+ fkt encrypt secret.txt -p myPassword123
278
+
279
+ # 指定输出目录
280
+ fkt encrypt secret.txt -o ./encrypted -p myPassword123
281
+ ```
282
+
283
+ #### 输出格式
284
+
285
+ 生成的加密 JSON 文件格式:
286
+
287
+ ```json
288
+ {
289
+ "type": "crypto",
290
+ "algorithm": "aes-256-gcm",
291
+ "createdAt": "2024-12-16 10:30:45",
292
+ "file": {
293
+ "name": "secret.txt",
294
+ "extension": ".txt",
295
+ "size": 2048,
296
+ "iv": "base64_encoded_iv",
297
+ "authTag": "base64_encoded_auth_tag",
298
+ "salt": "base64_encoded_salt",
299
+ "encrypted": "base64_encoded_data"
300
+ }
301
+ }
302
+ ```
303
+
304
+ #### 安全建议
305
+
306
+ - ⚠️ **请妥善保管密码**,丢失后无法恢复文件
307
+ - 🔒 密码长度至少 6 位,建议使用强密码
308
+ - 💾 建议备份加密文件到安全位置
309
+ - 🔑 不要在命令行直接暴露密码(使用交互模式)
310
+
311
+ #### 命令选项
312
+
313
+ | 选项 | 描述 |
314
+ | ---------------------- | -------------------------------- |
315
+ | `-p, --password <pwd>` | 加密密码(建议使用交互模式输入) |
316
+ | `-o, --output <path>` | 输出目录(默认:当前目录) |
317
+ | `-h, --help` | 显示帮助信息 |
318
+
319
+ ---
320
+
321
+ ### 5️⃣ 文件解密
322
+
323
+ 从加密的 JSON 文件中解密并还原原始文件。
324
+
325
+ #### 基础用法
326
+
327
+ ```bash
328
+ fkt decrypt <加密JSON文件> [选项]
329
+ ```
330
+
331
+ #### 使用示例
332
+
333
+ ```bash
334
+ # 交互式解密(会提示输入密码)
335
+ fkt decrypt secret.crypto.json
336
+
337
+ # 命令行指定密码
338
+ fkt decrypt secret.crypto.json -p myPassword123
339
+
340
+ # 指定输出目录
341
+ fkt decrypt secret.crypto.json -o ./decrypted -p myPassword123
342
+ ```
343
+
344
+ #### 特性
345
+
346
+ - ✅ 自动验证密码正确性
347
+ - ✅ 验证数据完整性(通过 GCM 认证标签)
348
+ - ✅ 还原原始文件名和扩展名
349
+ - ✅ 密码错误时友好提示
350
+
351
+ #### 错误处理
352
+
353
+ 如果密码错误,会显示以下提示:
354
+
355
+ ```
356
+ ✖ 解密失败:密码错误或文件已损坏
357
+ ```
358
+
359
+ #### 命令选项
360
+
361
+ | 选项 | 描述 |
362
+ | ---------------------- | -------------------------------- |
363
+ | `-p, --password <pwd>` | 解密密码(建议使用交互模式输入) |
364
+ | `-o, --output <path>` | 输出目录(默认:当前目录) |
365
+ | `-h, --help` | 显示帮助信息 |
366
+
367
+ ---
368
+
369
+ ## 🎮 命令参考
370
+
371
+ ### 全局选项
372
+
373
+ | 选项 | 别名 | 描述 |
374
+ | --------------- | ---- | ------------ |
375
+ | `--help` | `-h` | 显示帮助信息 |
376
+ | `--version` | `-v` | 显示版本号 |
377
+ | `--interactive` | `-i` | 启动交互模式 |
378
+
379
+ ### 命令列表
380
+
381
+ | 命令 | 别名 | 描述 |
382
+ | ------------------------ | ----- | --------------- |
383
+ | `base64 <input>` | - | 文件转 Base64 |
384
+ | `restore <input>` | - | Base64 还原文件 |
385
+ | `video-to-audio <input>` | `v2a` | 视频提取音频 |
386
+ | `encrypt <input>` | - | 文件加密 |
387
+ | `decrypt <input>` | - | 文件解密 |
388
+
389
+ ---
390
+
391
+ ## 🎯 使用场景
392
+
393
+ ### 场景 1:文件分享与存储
394
+
395
+ **问题**:需要将二进制文件转换为文本格式,便于在 API 或数据库中存储和传输。
396
+
397
+ **解决方案**:
398
+
399
+ ```bash
400
+ # 转换为 Base64
401
+ fkt base64 document.pdf -o ./archive
402
+
403
+ # 通过 API 传输或存储到数据库
404
+ # ...
405
+
406
+ # 需要时还原
407
+ fkt restore ./archive/document.json -o ./restored
408
+ ```
409
+
410
+ ---
411
+
412
+ ### 场景 2:敏感文件加密存储
413
+
414
+ **问题**:需要安全存储敏感文件,如合同、身份证件等。
415
+
416
+ **解决方案**:
417
+
418
+ ```bash
419
+ # 加密文件
420
+ fkt encrypt contract.pdf -o ./encrypted
421
+
422
+ # 安全传输或备份加密文件
423
+ # ...
424
+
425
+ # 需要时解密
426
+ fkt decrypt ./encrypted/contract.crypto.json -o ./restored
427
+ ```
428
+
429
+ ---
430
+
431
+ ### 场景 3:视频素材音频提取
432
+
433
+ **问题**:从视频素材中提取音频用于后期制作或音乐收藏。
434
+
435
+ **解决方案**:
436
+
437
+ ```bash
438
+ # 提取高质量 MP3(日常使用)
439
+ fkt v2a interview.mp4 -f mp3 -q high -o ./audio
440
+
441
+ # 提取无损 FLAC(专业编辑)
442
+ fkt v2a concert.mp4 -f flac -q high -o ./audio
443
+
444
+ # Apple 设备使用 ALAC
445
+ fkt v2a music_video.mp4 -f alac -q high -o ./audio
446
+ ```
447
+
448
+ ---
449
+
450
+ ### 场景 4:自动化工作流
451
+
452
+ **问题**:需要批量处理多个文件。
453
+
454
+ **解决方案**:
455
+
456
+ ```bash
457
+ # 批量加密
458
+ for file in *.txt; do
459
+ fkt encrypt "$file" -p myPassword123 -o ./encrypted
460
+ done
461
+
462
+ # 批量转换视频
463
+ for video in *.mp4; do
464
+ fkt v2a "$video" -f mp3 -q high -o ./audio
465
+ done
466
+ ```
467
+
468
+ ---
469
+
470
+ ## 📊 架构设计
471
+
472
+ ```
473
+ ┌─────────────────────────────────────┐
474
+ │ CLI 层 (cli.ts) │ ← Citty 命令行解析
475
+ ├─────────────────────────────────────┤
476
+ │ Config 层 (config/) │ ← 配置管理
477
+ │ • defaults.ts │ - CLI 默认配置
478
+ │ • audio-formats.ts │ - 音频格式配置
479
+ │ • crypto-algorithm.ts │ - 加密算法配置
480
+ ├─────────────────────────────────────┤
481
+ │ Commands 层 (commands/) │ ← 命令处理
482
+ │ • base64.ts │ - Base64 转换命令
483
+ │ • restore.ts │ - Base64 还原命令
484
+ │ • video-to-audio.ts │ - 视频转音频命令
485
+ │ • encrypt.ts │ - 文件加密命令
486
+ │ • decrypt.ts │ - 文件解密命令
487
+ ├─────────────────────────────────────┤
488
+ │ Core 层 (core/) │ ← 核心业务逻辑
489
+ │ • base64.ts │ - Base64 编解码
490
+ │ • crypto.ts │ - 加密解密算法
491
+ │ • extract.ts │ - 视频音频提取
492
+ ├─────────────────────────────────────┤
493
+ │ Utils 层 (utils/) │ ← 通用工具函数
494
+ │ • errors.ts │ - 错误处理
495
+ │ • helpers.ts │ - 命令助手
496
+ │ • file.ts │ - 文件操作
497
+ │ • logger.ts │ - 日志输出
498
+ │ • prompts.ts │ - 交互提示
499
+ │ • time.ts │ - 时间格式化
500
+ └─────────────────────────────────────┘
501
+ ```
502
+
503
+ ---
504
+
505
+ ## 🛠️ 技术栈
506
+
507
+ | 技术 | 描述 | 用途 |
508
+ | ------------------ | ----------------------- | ------------------ |
509
+ | **Citty** | 现代化命令行框架 | CLI 路由和参数解析 |
510
+ | **Clack Prompts** | 美观的交互式 CLI 提示库 | 用户交互界面 |
511
+ | **FFmpeg** | 强大的多媒体处理工具 | 视频音频转换 |
512
+ | **Ansis** | 轻量级终端颜色库 | 终端输出美化 |
513
+ | **Node.js Crypto** | Node.js 内置加密模块 | AES-256-GCM 加密 |
514
+
515
+ ---
516
+
517
+ ## ⚙️ 配置
518
+
519
+ ### 环境变量
520
+
521
+ ```bash
522
+ # 开启调试模式(显示详细错误堆栈)
523
+ DEBUG=1 fkt base64 file.txt
524
+
525
+ # 指定 FFmpeg 路径(如果未在 PATH 中)
526
+ FFMPEG_PATH=/usr/local/bin/ffmpeg fkt v2a video.mp4
527
+ ```
528
+
529
+ ---
530
+
531
+ ## 🔧 常见问题
532
+
533
+ ### Q1: FFmpeg 相关错误
534
+
535
+ **错误**:`FFmpeg 未找到` 或 `spawn ffmpeg ENOENT`
536
+
537
+ **解决方案**:
538
+
539
+ ```bash
540
+ npm install @ffmpeg-installer/ffmpeg
541
+ ```
542
+
543
+ ---
544
+
545
+ ### Q2: 视频转音频进度卡住
546
+
547
+ **原因**:视频文件损坏或格式不支持
548
+
549
+ **解决方案**:
550
+
551
+ 1. 检查视频文件是否完整:
552
+
553
+ ```bash
554
+ ffmpeg -i video.mp4
555
+ ```
556
+
557
+ 2. 尝试使用其他格式:
558
+
559
+ ```bash
560
+ fkt v2a video.mp4 -f mp3
561
+ ```
562
+
563
+ 3. 检查文件权限:
564
+
565
+ ```bash
566
+ ls -la video.mp4
567
+ ```
568
+
569
+ ---
570
+
571
+ ### Q3: Base64 文件过大
572
+
573
+ **原因**:Base64 编码会增加约 33% 的体积
574
+
575
+ **建议**:
576
+
577
+ - 对于大文件(>10MB),考虑先压缩再编码
578
+ - Base64 更适合小型文件或需要文本传输的场景
579
+ - 对于大型文件,建议使用加密功能而非 Base64
580
+
581
+ ---
582
+
583
+ ### Q4: 加密/解密失败
584
+
585
+ **问题**:密码错误或文件损坏
586
+
587
+ **解决方案**:
588
+
589
+ ```bash
590
+ # 确保密码正确(区分大小写)
591
+ fkt decrypt file.crypto.json -p correctPassword
592
+
593
+ # 检查 JSON 文件完整性
594
+ cat file.crypto.json | jq
595
+
596
+ # 验证文件类型
597
+ fkt decrypt file.crypto.json # 使用交互模式
598
+ ```
599
+
600
+ ---
601
+
602
+ ### Q5: 权限错误
603
+
604
+ **错误**:`EACCES: permission denied`
605
+
606
+ **解决方案**:
607
+
608
+ ```bash
609
+ # 检查文件权限
610
+ ls -la file.txt
611
+
612
+ # 修改权限
613
+ chmod 644 file.txt
614
+
615
+ # 检查目录权限
616
+ chmod 755 ./output
617
+ ```
618
+
619
+ ---
620
+
621
+ ### Q6: 内存不足(大文件处理)
622
+
623
+ **问题**:处理大文件时内存溢出
624
+
625
+ **解决方案**:
626
+
627
+ ```bash
628
+ # 增加 Node.js 内存限制
629
+ NODE_OPTIONS="--max-old-space-size=4096" fkt base64 large-file.zip
630
+ ```
631
+
632
+ ---
633
+
634
+ ## 📝 开发
635
+
636
+ ### 本地开发
637
+
638
+ ```bash
639
+ # 克隆仓库
640
+ git clone https://github.com/coderking3/file-kit.git
641
+ cd file-kit
642
+
643
+ # 安装依赖
644
+ pnpm install
645
+
646
+ # 开发模式运行
647
+ pnpm dev base64 test.txt
648
+
649
+ # 类型检查
650
+ pnpm typecheck
651
+
652
+ # 代码格式化
653
+ pnpm format
654
+
655
+ # 代码检查
656
+ pnpm lint
657
+
658
+ # 构建
659
+ pnpm build
660
+ ```
661
+
662
+ ### 项目结构
663
+
664
+ ```
665
+ file-kit/
666
+ ├── src/
667
+ │ ├── cli.ts # CLI 入口
668
+ │ ├── config/ # 配置层
669
+ │ │ ├── defaults.ts
670
+ │ │ ├── audio-formats.ts
671
+ │ │ └── crypto-algorithm.ts
672
+ │ ├── commands/ # 命令层
673
+ │ │ ├── index.ts
674
+ │ │ ├── base64.ts
675
+ │ │ ├── restore.ts
676
+ │ │ ├── video-to-audio.ts
677
+ │ │ ├── encrypt.ts
678
+ │ │ └── decrypt.ts
679
+ │ ├── core/ # 核心逻辑层
680
+ │ │ ├── base64.ts
681
+ │ │ ├── crypto.ts
682
+ │ │ └── extract.ts
683
+ │ ├── utils/ # 工具函数层
684
+ │ │ ├── errors.ts
685
+ │ │ ├── file.ts
686
+ │ │ ├── helpers.ts
687
+ │ │ ├── logger.ts
688
+ │ │ ├── prompts.ts
689
+ │ │ └── time.ts
690
+ │ └── types/ # 类型定义
691
+ │ └── index.ts
692
+ ├── bin/
693
+ │ └── cli.mjs # 可执行文件
694
+ ├── package.json
695
+ ├── tsconfig.json
696
+ └── README.md
697
+ ```
698
+
699
+ ### 发布流程
700
+
701
+ ```bash
702
+ # 更新版本号
703
+ pnpm release
704
+
705
+ # 构建并发布
706
+ pnpm build
707
+ pnpm publish
708
+ ```
709
+
710
+ ---
711
+
712
+ ## 🤝 贡献
713
+
714
+ 欢迎贡献代码!请遵循以下步骤:
715
+
716
+ 1. Fork 本仓库
717
+ 2. 创建特性分支(`git checkout -b feature/AmazingFeature`)
718
+ 3. 提交更改(`git commit -m 'Add some AmazingFeature'`)
719
+ 4. 推送到分支(`git push origin feature/AmazingFeature`)
720
+ 5. 开启 Pull Request
721
+
722
+ ### 贡献指南
723
+
724
+ - 遵循现有代码风格
725
+ - 添加适当的测试
726
+ - 更新相关文档
727
+ - 确保所有测试通过
728
+
729
+ ---
730
+
731
+ ## 📄 许可证
732
+
733
+ [MIT License](LICENSE) © 2024 King3
734
+
735
+ ---
736
+
737
+ ## 🔗 相关链接
738
+
739
+ - 📦 [NPM 包](https://www.npmjs.com/package/@king-3/file-kit)
740
+ - 🐙 [GitHub 仓库](https://github.com/coderking3/file-kit)
741
+ - 🐛 [问题反馈](https://github.com/coderking3/file-kit/issues)
742
+ - 📋 [更新日志](https://github.com/coderking3/file-kit/releases)
743
+
744
+ ---
745
+
746
+ ## 💬 联系方式
747
+
748
+ - **作者**:King3
749
+ - **邮箱**:king3.wm@gmail.com
750
+ - **问题反馈**:[GitHub Issues](https://github.com/coderking3/file-kit/issues)