提交和分享 vFlow 工作流与模块的社区仓库。
workflows/ # 工作流 JSON 文件
modules/ # 模块 ZIP 文件(内含 manifest.json)
generate-index.py # 索引自动生成脚本
将你的工作流 JSON 文件放入 workflows/ 目录,文件名即工作流 ID。文件名必须使用英文小写,以连字符分隔,如 my-workflow.json。
提交前请确保 JSON 结构符合以下模板:
{
"id": "uuid-v4-string",
"isEnabled": false,
"isFavorite": false,
"name": "工作流名称",
"steps": [...],
"wasEnabledBeforePermissionsLost": false,
"version": "1.0.0",
"vFlowLevel": 1,
"description": "简要描述工作流的功能",
"author": "你的名字",
"homepage": "",
"tags": ["标签1", "标签2"]
}以下顶层字段为必填:
| 字段 | 说明 |
|---|---|
name |
工作流显示名称 |
description |
功能描述,不要留空 |
author |
作者名 |
version |
版本号,建议使用 x.y.z 格式 |
vFlowLevel |
vFlow 等级 |
| 字段 | 说明 |
|---|---|
homepage |
个人主页或项目链接 |
tags |
标签数组,方便搜索分类 |
- 文件名是仓库条目的唯一 ID。例如文件名为
my-workflow.json,则仓库索引中的工作流 ID 会是my-workflow index.json由 CI 自动生成,不要手动编辑- 合并后 CI 会自动将
isEnabled、isFavorite、wasEnabledBeforePermissionsLost统一设为false - 如果工作流包含用户需要自行配置的参数,建议添加一个
vflow.data.comment步骤作为提示(参考gkd-example.json)
将模块打包为 ZIP 文件放入 modules/ 目录,ZIP 内需包含 manifest.json。
{
"id": "your-module-id",
"name": "模块名称",
"description": "模块功能描述",
"author": "你的名字",
"version": "1.0.0",
"category": "用户脚本"
}| 字段 | 说明 |
|---|---|
id |
必须与 ZIP 文件名一致(不含 .zip 后缀) |
name |
模块显示名称 |
description |
功能描述 |
author |
作者名 |
version |
版本号 |
category |
模块分类 |
在提交 PR 前,可以本地运行校验脚本:
python3 generate-index.py所有工作流和模块显示 ✅ 即表示结构正确。出现 ❌ 则需根据提示修正。
A community repository for submitting and sharing vFlow workflows and modules.
workflows/ # Workflow JSON files
modules/ # Module ZIP files (containing manifest.json)
generate-index.py # Auto-generated index script
Place your workflow JSON file in the workflows/ directory. The filename (without .json) serves as the workflow ID. Filenames must be lowercase English, separated by hyphens, e.g. my-workflow.json.
Ensure your JSON follows this template before submitting:
{
"id": "uuid-v4-string",
"isEnabled": false,
"isFavorite": false,
"name": "Workflow Name",
"steps": [...],
"wasEnabledBeforePermissionsLost": false,
"version": "1.0.0",
"vFlowLevel": 1,
"description": "A brief description of what the workflow does",
"author": "Your Name",
"homepage": "",
"tags": ["tag1", "tag2"]
}The following top-level fields are required:
| Field | Description |
|---|---|
name |
Display name of the workflow |
description |
Functional description, do not leave empty |
author |
Author name |
version |
Version number, recommended format: x.y.z |
vFlowLevel |
vFlow level |
| Field | Description |
|---|---|
homepage |
Personal homepage or project link |
tags |
Array of tags for search and categorization |
- The filename is the unique repository entry ID. For example, if the filename is
my-workflow.json, then the workflow ID in the repository index will bemy-workflow index.jsonis auto-generated by CI, do not edit manually- After merging, CI will automatically set
isEnabled,isFavorite, andwasEnabledBeforePermissionsLosttofalse - If your workflow contains parameters that users need to configure themselves, consider adding a
vflow.data.commentstep as a hint (seegkd-example.json)
Package your module as a ZIP file and place it in the modules/ directory. The ZIP must contain a manifest.json.
{
"id": "your-module-id",
"name": "Module Name",
"description": "Description of the module's functionality",
"author": "Your Name",
"version": "1.0.0",
"category": "User Script"
}| Field | Description |
|---|---|
id |
Must match the ZIP filename (without .zip extension) |
name |
Display name of the module |
description |
Functional description |
author |
Author name |
version |
Version number |
category |
Module category |
Before submitting a PR, you can run the validation script locally:
python3 generate-index.pyAll workflows and modules showing ✅ means the structure is correct. Any ❌ indicates an issue that needs to be fixed based on the error message.