nikolaynesov/laravel-command-assistant
最新稳定版本:0.0.4
Composer 安装命令:
composer require nikolaynesov/laravel-command-assistant
包简介
Laravel plugin to allow GPT-triggered command execution with authorization and audit logging
README 文档
README
A secure Laravel plugin that allows GPT-based interfaces to execute approved artisan commands only. All commands must define the --laravel-assistant option to be eligible.
✨ Features
- ✅ Restricts GPT to safe, whitelisted commands
- ✅ Only runs commands explicitly designed for GPT usage
- ✅ Logs all executions with user/email
- ✅ Supports GPT plugin metadata files for
.well-known - ✅ No risk of overwriting host Laravel config or routes
🚀 Installation
In your Laravel project:
composer require nikolaynesov/laravel-command-assistant
🛠️ Publish Assets
To publish the config file and plugin metadata:
php artisan vendor:publish --tag=laravel-command-assistant
This will publish:
| From (package) | To (your app) |
|---|---|
config/command-assistant.php |
config/command-assistant.php |
public/.well-known/ai-plugin.command-assistant.json |
public/vendor/laravel-command-assistant/.well-known/ai-plugin.json |
public/.well-known/openapi.command-assistant.yaml |
public/vendor/laravel-command-assistant/.well-known/openapi.yaml |
📁 How to Enable GPT Plugin
To make your assistant plugin work with GPT:
-
Create a
.well-known/folder in your app’spublic/directory if it doesn't exist. -
Copy files from the published vendor directory:
cp public/vendor/laravel-command-assistant/.well-known/* public/.well-known/
✅ This avoids overwriting any
.well-knownfiles from other plugins you may already have.
- Your plugin should now be reachable at:
https://your-domain.com/.well-known/ai-plugin.json
https://your-domain.com/.well-known/openapi.yaml
✏️ Making Commands GPT-Safe
To allow a Laravel command to be executed via the assistant, define this option:
protected $signature = 'your:command {--laravel-assistant}';
Or, using Symfony input directly:
$this->addOption('laravel-assistant', null, InputOption::VALUE_NONE, 'Assistant execution enabled');
🧠 The flag does nothing functionally — it’s a safety requirement for access.
🔐 Security
- Requires valid Bearer token via
Authorization: Bearer <key> - Command is rejected unless it:
- Exists in the app
- Defines the
--laravel-assistantoption
📝 License
MIT © Nikolay Nesov
统计信息
- 总下载量: 596
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-08-28