Skip to main content

Galluoedd Rheoli Plugin

Mae Gratis AI Agent v1.5.0 yn dod â 7 gallu rheoli plugin y gall y cynorthwyydd AI eu galw yn ystod sgwrs. Mae’r galluoedd hyn yn darparu rheolaeth raglennol dros plugins WordPress sydd wedi’u gosod drwy’r Plugin Builder & Sandbox System.

Trosolwg o’r Galluoedd​

GalluSlugDisgrifiad
Rhestru Pluginslist_pluginsYn dychwelyd rhestr o plugins yn y storfa sandbox gyda’u statws.
Cael Pluginget_pluginYn adalw metadata a chod ffynhonnell ar gyfer plugin penodol yn ôl slug.
Creu Plugincreate_pluginYn cynhyrchu plugin newydd o ddisgrifiad ac yn ei storio yn y sandbox.
Diweddaru Pluginupdate_pluginYn disodli cod ffynhonnell plugin â fersiwn newydd.
Dileu Plugindelete_pluginYn tynnu plugin o’r storfa sandbox. Yn ei ddadactifadu yn gyntaf.
Gosod Plugininstall_pluginYn defnyddio plugin sandboxed i gyfeiriadur plugin byw WordPress.
Actifadu Pluginactivate_pluginYn actifadu plugin sandboxed yn amgylchedd sandbox wp-env.

Plugin Installer API​

Mae’r gosodwr plugin yn trin gweithrediadau’r system ffeiliau wrth ddefnyddio neu dynnu plugins. Ymddygiadau allweddol:

  • Dilysu llwybr: Caiff pob llwybr plugin ei ddilysu yn erbyn y cyfeiriadur plugin a ganiateir cyn unrhyw ysgrifennu ffeil. Gwrthodir ymdrechion i groesi cyfeiriaduron.
  • Gosod aml-ffeil: Gall plugin gynnwys sawl ffeil. Mae’r gosodwr yn creu cyfeiriadur y plugin ac yn ysgrifennu’r holl ffeiliau’n atomig.
  • Diweddaru: Yn disodli ffeiliau plugin presennol. Yn dadactifadu’r plugin cyn ysgrifennu er mwyn osgoi gwallau cyflwr rhannol.
  • Dileu yn ôl slug: Yn lleoli cyfeiriadur y plugin yn ôl slug, yn dadactifadu ar draws pob safle, ac yna’n tynnu’r cyfeiriadur.

Cofrestru Triniwr Gosod Personol​

Gallwch fachu i gylchred oes y gosodiad gan ddefnyddio’r gweithredoedd gratis_ai_plugin_installer_before_install a gratis_ai_plugin_installer_after_install:

add_action('gratis_ai_plugin_installer_before_install', function(string $slug, array $files): void {
// $slug: the plugin's directory name
// $files: associative array of relative path => file content
error_log("Installing plugin: {$slug} with " . count($files) . " files.");
}, 10, 2);

add_action('gratis_ai_plugin_installer_after_install', function(string $slug, bool $success): void {
if ($success) {
error_log("Plugin {$slug} installed successfully.");
}
}, 10, 2);

Cofrestrfa Ecosystem​

Caiff galluoedd eu cofrestru drwy’r gofrestrfa ecosystem plugin. Mae’r gofrestrfa yn mapio slugs galluoedd i’w dosbarthiadau triniwr ac yn eu hamlygu i ddosbarthwr offer yr asiant AI.

I gofrestru gallu rheoli plugin personol:

add_filter('gratis_ai_plugin_abilities', function(array $abilities): array {
$abilities['my_custom_ability'] = [
'class' => My_Custom_Plugin_Ability::class,
'label' => 'My Custom Ability',
'description' => 'Does something useful with plugins.',
];
return $abilities;
});

Rhaid i’ch dosbarth gallu weithredu’r Gratis_AI_Ability_Interface:

class My_Custom_Plugin_Ability implements Gratis_AI_Ability_Interface {

public function get_slug(): string {
return 'my_custom_ability';
}

public function get_schema(): array {
return [
'name' => 'my_custom_ability',
'description' => 'Does something useful with plugins.',
'parameters' => [
'type' => 'object',
'properties' => [
'slug' => [
'type' => 'string',
'description' => 'The plugin slug to operate on.',
],
],
'required' => ['slug'],
],
];
}

public function execute(array $params): array {
$slug = sanitize_key($params['slug'] ?? '');
// ... your implementation ...
return ['success' => true, 'slug' => $slug];
}
}

Integreiddio HookScanner​

Mae’r galluoedd create_plugin a update_plugin yn rhedeg HookScanner yn awtomatig yn erbyn cod sydd newydd ei gynhyrchu. Mae HookScanner yn dychwelyd rhestr o fachau gweithredu a hidlo WordPress sydd wedi’u cofrestru gan y plugin.

I adalw canlyniadau HookScanner yn rhaglenadwy:

$scanner = new Gratis_AI_Hook_Scanner();
$hooks = $scanner->scan_plugin_slug('my-generated-plugin');

foreach ($hooks['actions'] as $hook) {
echo "Action: {$hook['hook']} — callback: {$hook['callback']}\n";
}

foreach ($hooks['filters'] as $hook) {
echo "Filter: {$hook['hook']} — callback: {$hook['callback']}\n";
}

Mae HookScanner yn hepgor cyfeiriaduron vendor/ a node_modules/ yn awtomatig.

Pensaernïaeth Swyddi Async​

Anfonir gweithrediadau plugin hir eu hoes (cynhyrchu, gosod) fel swyddi async gyda thracio cynnydd byw. Mae rhyngwyneb sgwrs AI yn holi am gynnydd ac yn ffrydio diweddariadau statws i’r defnyddiwr:

  1. Anfon — mae’r gallu yn creu swydd async ac yn dychwelyd ID swydd.
  2. Poll — the agent polls gratis_ai_job_status($job_id) every 2 seconds.
  3. Ffrydio — caiff negeseuon cynnydd canolradd eu gwthio i’r edefyn sgwrs.
  4. Cwblhau — caiff y canlyniad terfynol (llwyddiant neu wall) ei ddychwelyd a’i arddangos.

I fachu i ddigwyddiadau cylchred oes swydd:

add_action('gratis_ai_job_started', function(string $job_id, string $ability_slug): void {
error_log("Job {$job_id} started for ability: {$ability_slug}");
}, 10, 2);

add_action('gratis_ai_job_completed', function(string $job_id, array $result): void {
error_log("Job {$job_id} completed. Success: " . ($result['success'] ? 'yes' : 'no'));
}, 10, 2);