refactor(moderation): remove the Akismet backend and its admin fields

The comment moderation pipeline no longer calls Akismet. Removed:
- check_akismet() and the Akismet step in Moderation::process().
- akismet_* config keys from Moderation defaults and ExtensionRuntime.
- akismet decision state, the jio_moderation_akismet / akismet_result
  comment meta writes, and the legacy-meta fallbacks in the comments column.
- The Akismet fieldset in both the PHP and Vue permissions schemas.

Rate limit, GeoIP, blocked keywords and AI moderation are unchanged.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
kate522andClaude Opus 5 committed 2026-11-05 11:27:24 +08:00
1 parent e6d9ff49a2
commit 3595935475
5 files changed
+4 -157

No files matched your search

@@ -130,10 +130,6 @@ export const permissionsSchemas = {
description: '管理评论审核、反垃圾、限流与拦截配置。',
defaults: {
enabled: false,
akismet_enabled: false,
akismet_site_url: '',
akismet_blog_lang: 'zh-CN',
akismet_api_key: '',
ai_enabled: false,
ai_moderate_comments: true,
ai_moderate_background: true,
@@ -157,17 +153,6 @@ export const permissionsSchemas = {
{ key: 'enabled', label: '启用审核系统', type: 'switch', help: '关闭后评论将不经过主题审核链路。' },
],
},
{
key: 'akismet',
title: 'Akismet',
icon: 'fa fas fa-filter',
fields: [
{ key: 'akismet_enabled', label: '启用 Akismet', type: 'switch', dependsOn: { key: 'enabled', value: true } },
{ key: 'akismet_site_url', label: 'Site URL', type: 'input', placeholder: 'https://your-site.com', dependsOn: { key: 'akismet_enabled', value: true } },
{ key: 'akismet_blog_lang', label: '博客语言', type: 'input', placeholder: 'zh-CN', dependsOn: { key: 'akismet_enabled', value: true } },
{ key: 'akismet_api_key', label: 'API Key', type: 'input', inputType: 'password', placeholder: 'Akismet API Key', dependsOn: { key: 'akismet_enabled', value: true } },
],
},
{
key: 'ai',
title: 'AI 审核',