项目介绍:Laravel Synth
Laravel Synth 是一个面向 Laravel 开发者的工具,它旨在通过 OpenAI 提供的 GPT 语言模型增强代码生成和多种开发任务的执行体验。它并不是官方的 Laravel 包,但作为一个辅助开发的利器,为开发者提供了更多的可能性。
功能演示
应用架构设计 -> 创建待办事项应用 😎🏗️📝
开发者可以使用 Laravel Synth 快速构建一个待办事项应用,从头设计应用架构,提升开发效率。
附加文件并创建 README.md 📎📄✍️
该工具还能帮助自动附加文档文件,生成项目的 README 文件,从而规范项目文档编写。
安装步骤
-
使用 Composer 安装 Synth 包:
composer require blinq/synth
-
发布 Synth 配置文件:
php artisan vendor:publish --tag=synth-config
在这个配置文件中,用户可以选择使用的语言模型(如 gpt4 或 gpt3)。
-
在
.env
文件中设置 OpenAI API 密钥:OPENAI_KEY=YOUR_API_KEY
使用方法
要使用 Synth,只需运行 synth
命令:
php artisan synth
这将启动 Synth 命令行界面,用户可以在此与 GPT 模型互动,并执行各种任务。
主要功能 🌟
- 自动切换模型:在需要时自动从较小的模型切换到更大的模型(如 gpt-3.5-turbo 到 gpt-3.5-turbo-16k)。
- 数据库架构附加:将整个数据库架构作为附件包含。
- 使用 OpenAI 的函数 API。
- 生成取消功能:按 Ctrl+C 可以取消生成任务。
- 附件功能:可以向 GPT 会话附加文件。
- 架构设计:用于头脑风暴和生成新的应用架构。
- 聊天功能:与 GPT 聊天以获取响应和执行操作。
- 文件生成:强制 GPT 根据提问生成文件。
- 迁移生成:为你的应用生成迁移文件。
- 模型生成:为你的应用生成模型。
- 文件编写:将文件写入文件系统。
用户可以从主菜单中选择一个模块,并根据提示进行所需操作。
注:有些模块的使用需要前置步骤,如在生成迁移或模型之前需先创建应用架构。
自定义模块编写
Laravel Synth 允许用户通过编写自定义模块来扩展其功能。模块是一个实现必要方法以注册和处理特定操作的类。
创建新模块
- 创建一个 PHP 类,继承自
Module
类。 - 实现
name
方法以定义模块名称。 - 实现
register
方法以定义该模块提供的操作。 - 实现
onSelect
方法以处理选定的操作。
以下是一个自定义模块的示例实现:
use Blinq\Synth\Modules\Module;
class MyModule extends Module
{
public function name(): string
{
return 'MyModule';
}
public function register(): array
{
return [
'action1' => 'Perform Action 1',
'action2' => 'Perform Action 2',
];
}
public function onSelect(?string $key = null)
{
// 行为逻辑...
}
}
在 Synth 包中注册自定义模块即可在 CLI 界面中使用:
use Blinq\Synth\Modules;
Modules::register(MyModule::class);
通过上述方法,开发者可以充分利用 Laravel Synth 来加速开发过程,同时轻松地驾驭代码生成的强大工具。