genlab 0.1.1 → 0.1.3
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 +43 -28
- package/dist/cli.mjs +523 -400
- package/dist/guide.md +49 -0
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -2,59 +2,72 @@
|
|
|
2
2
|
|
|
3
3
|
给本地 agent(Claude Code、Codex 等)用的 AI 媒体生成命令行工具。通过 [kie.ai](https://kie.ai) 生成图片、视频、音频(音乐、音效、语音),产物与完整生成记录保存在本机的库里。
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 安装与配置
|
|
6
6
|
|
|
7
|
-
需要 Node.js 22.19
|
|
7
|
+
需要 Node.js 22.19 及以上。推荐用 npx 运行,每次都是最新版本;下文的 `genlab` 均可写作 `npx -y genlab@latest`。也可 `npm install -g genlab` 全局安装,需自行更新。
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
|
|
10
|
+
genlab init # 交互填写 API Key 与库目录
|
|
11
|
+
genlab init --key <KIE_API_KEY> --library ~/GenLab # 或直接给出
|
|
11
12
|
```
|
|
12
13
|
|
|
13
|
-
|
|
14
|
+
配置写入 `~/.config/genlab/.env`,同名环境变量优先。
|
|
14
15
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
```
|
|
16
|
+
## 给 agent 使用
|
|
17
|
+
|
|
18
|
+
agent 使用前先运行 `genlab guide`:它输出完整用法(概念、流程、参数写法、命令参考),内容总与当前版本一致。
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
可选安装 skill,让 agent 需要生成媒体时能发现 genlab。`genlab init` 时会询问,也可单独管理:
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
|
-
|
|
23
|
+
genlab skill # 安装
|
|
24
|
+
genlab skill update # 更新
|
|
25
|
+
genlab skill remove # 卸载
|
|
24
26
|
```
|
|
25
27
|
|
|
26
|
-
|
|
28
|
+
库目录在代码项目之外。agent 在沙箱里运行时,需要允许它读写库目录与 `~/.cache/genlab`,并访问网络。
|
|
29
|
+
|
|
30
|
+
## 示例
|
|
27
31
|
|
|
28
32
|
```bash
|
|
33
|
+
# 新建项目,把当前目录关联到它
|
|
34
|
+
genlab project create pixel-quest
|
|
35
|
+
genlab project link pixel-quest
|
|
36
|
+
|
|
37
|
+
# 找模型,查看价格与参数表
|
|
29
38
|
genlab models --kind image --search gpt-image
|
|
30
|
-
genlab models gpt-image-2-5-sunburst-text-to-image
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
genlab
|
|
34
|
-
|
|
35
|
-
|
|
39
|
+
genlab models gpt-image-2-5-sunburst-text-to-image
|
|
40
|
+
|
|
41
|
+
# 新建素材,一次出 4 张(v1–v4)
|
|
42
|
+
genlab create characters/hero -m gpt-image-2-5-sunburst-text-to-image -p prompt="像素风骑士立绘" -n 4
|
|
43
|
+
|
|
44
|
+
# 对 v2 做 AI 编辑(产出 v5),把 v3 设为当前版本
|
|
45
|
+
genlab edit characters/hero 2 -m gpt-image-2-5-sunburst-image-to-image -p prompt="盔甲改成蓝色" -p input_urls=@source
|
|
46
|
+
genlab use characters/hero 3
|
|
47
|
+
|
|
48
|
+
# 以 v3 为首帧生成视频
|
|
49
|
+
genlab create intro/shot -m wan/3-0-video -p prompt="骑士转身拔剑" -p first_frame_url=@<库目录>/pixel-quest/characters/hero/v3.png
|
|
36
50
|
```
|
|
37
51
|
|
|
38
|
-
参数用 `-p key=value`(`key:=JSON` 传 JSON
|
|
52
|
+
参数用 `-p key=value`(`key:=JSON` 传 JSON 值,同键重复即数组),参数名以 `genlab models <模型>` 的参数表为准;值写 `@<路径>` 上传本机文件,`@source` 引用 AI 编辑的源版本。
|
|
53
|
+
|
|
54
|
+
## 项目与库
|
|
39
55
|
|
|
40
|
-
|
|
56
|
+
代码项目用 `genlab project link <项目>` 关联到库里的项目,关联记在代码项目的 `.genlab/` 里(自带忽略文件,不会被 git 提交)。未关联时素材命令会报错;不属于任何代码项目的素材放进内置项目 `default`。
|
|
41
57
|
|
|
42
|
-
|
|
58
|
+
库就是普通文件夹,可以直接在文件管理器里浏览、改名、移动、删除:
|
|
43
59
|
|
|
44
60
|
```
|
|
45
|
-
|
|
46
|
-
projects.json 代码项目 → 项目的映射
|
|
61
|
+
<库目录>/
|
|
47
62
|
<项目>/<文件夹…>/<素材>/
|
|
48
63
|
asset.json 素材、生成、版本的完整记录
|
|
49
64
|
v1.png v2.png … 各版本产物
|
|
50
65
|
references/<生成编号>/ 参考输入副本
|
|
51
66
|
```
|
|
52
67
|
|
|
53
|
-
项目由当前代码项目自动确定:有远程仓库时取仓库名,没有时用 `genlab project <名字>` 登记一次。
|
|
54
|
-
|
|
55
68
|
## 模型
|
|
56
69
|
|
|
57
|
-
|
|
70
|
+
模型清单与参数取自 kie 的模型目录,本地缓存一天,`genlab models --refresh` 强制刷新。支持 kie 上的图片、视频、音频生成模型,不支持对话模型。
|
|
58
71
|
|
|
59
72
|
## 开发
|
|
60
73
|
|
|
@@ -64,16 +77,18 @@ pnpm dev <命令> # 直接运行源码
|
|
|
64
77
|
pnpm test
|
|
65
78
|
pnpm lint
|
|
66
79
|
pnpm typecheck
|
|
80
|
+
pnpm check # 检查格式
|
|
81
|
+
pnpm format # 格式化并自动修复
|
|
67
82
|
pnpm build
|
|
68
83
|
pnpm link --global # 本机全局使用开发版
|
|
69
84
|
```
|
|
70
85
|
|
|
71
86
|
## 发布
|
|
72
87
|
|
|
73
|
-
推送 `v*` tag 后由 GitHub Actions 发布到 npm,tag 含 `-beta` 时以 `beta` 标签发布。首次使用前需在 npmjs.com 为本包配置 Trusted Publishing,指向 `.github/workflows/publish.yml`。
|
|
74
|
-
|
|
75
88
|
```bash
|
|
76
89
|
pnpm release # bumpp:改版本号、提交、打 tag 并推送
|
|
77
90
|
```
|
|
78
91
|
|
|
79
|
-
|
|
92
|
+
推送 `v*` tag 后由 GitHub Actions 经 npm Trusted Publishing 发布,tag 含 `-beta` 时以 `beta` 标签发布。
|
|
93
|
+
|
|
94
|
+
设计文档:术语表 [CONTEXT.md](CONTEXT.md)、命令行约定 [DESIGN.md](DESIGN.md)、需求 [docs/prd](docs/prd)、架构决策 [docs/adr](docs/adr)。
|