no message

This commit is contained in:
hajimi
2026-06-12 17:34:00 +08:00
parent b9669269b5
commit bd95eed024
20 changed files with 1383 additions and 112 deletions
@@ -0,0 +1,76 @@
SET @schema_name := DATABASE();
SET @sql := (
SELECT IF(
COUNT(*) = 0,
'ALTER TABLE `la_article` ADD INDEX `idx_kb_recent_article` (`update_time`, `id`, `is_show`, `delete_time`)',
'SELECT 1'
)
FROM `information_schema`.`statistics`
WHERE `table_schema` = @schema_name
AND `table_name` = 'la_article'
AND `index_name` = 'idx_kb_recent_article'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql := (
SELECT IF(
COUNT(*) = 0,
'ALTER TABLE `la_match` ADD INDEX `idx_kb_recent_match` (`update_time`, `id`, `is_show`, `delete_time`)',
'SELECT 1'
)
FROM `information_schema`.`statistics`
WHERE `table_schema` = @schema_name
AND `table_name` = 'la_match'
AND `index_name` = 'idx_kb_recent_match'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql := (
SELECT IF(
COUNT(*) = 0,
'ALTER TABLE `la_community_post` ADD INDEX `idx_kb_recent_post` (`update_time`, `id`, `status`, `delete_time`)',
'SELECT 1'
)
FROM `information_schema`.`statistics`
WHERE `table_schema` = @schema_name
AND `table_name` = 'la_community_post'
AND `index_name` = 'idx_kb_recent_post'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql := (
SELECT IF(
COUNT(*) = 0,
'ALTER TABLE `la_lottery_draw_result` ADD INDEX `idx_kb_recent_draw` (`update_time`, `id`)',
'SELECT 1'
)
FROM `information_schema`.`statistics`
WHERE `table_schema` = @schema_name
AND `table_name` = 'la_lottery_draw_result'
AND `index_name` = 'idx_kb_recent_draw'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql := (
SELECT IF(
COUNT(*) = 0,
'ALTER TABLE `la_lottery_ai_analysis` ADD INDEX `idx_kb_recent_ai_history` (`update_time`, `id`)',
'SELECT 1'
)
FROM `information_schema`.`statistics`
WHERE `table_schema` = @schema_name
AND `table_name` = 'la_lottery_ai_analysis'
AND `index_name` = 'idx_kb_recent_ai_history'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
+16
View File
@@ -0,0 +1,16 @@
CREATE TABLE IF NOT EXISTS `la_ai_comment_task` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
`target_type` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '目标类型 article/post',
`target_id` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '目标内容ID',
`virtual_user_id` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '虚拟账号ID',
`persona_key` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '人设标识',
`selection_sources` TEXT NULL COMMENT '来源集合',
`comment_content` TEXT NULL COMMENT '评论正文',
`status` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '状态 0-待执行 1-成功 2-失败',
`error_msg` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '错误信息',
`create_time` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间',
`update_time` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_target_status` (`target_type`, `target_id`, `status`) USING BTREE,
KEY `idx_virtual_user` (`virtual_user_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Docker AI评论任务表';
@@ -0,0 +1,6 @@
UPDATE `la_dev_crontab`
SET `status` = 0,
`update_time` = UNIX_TIMESTAMP(),
`remark` = CONCAT(IFNULL(`remark`, ''), ' [已迁移到 Docker ai_comment_dispatch]')
WHERE `command` = 'article_ai_comment'
AND `delete_time` IS NULL;
+41
View File
@@ -0,0 +1,41 @@
INSERT INTO `la_ai_config` (`name`, `value`, `remark`, `create_time`, `update_time`)
SELECT 'auto_comment_enabled', '1', 'Docker AI评论总开关', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
WHERE NOT EXISTS (SELECT 1 FROM `la_ai_config` WHERE `name` = 'auto_comment_enabled');
INSERT INTO `la_ai_config` (`name`, `value`, `remark`, `create_time`, `update_time`)
SELECT 'auto_comment_user_pool_size', '100', 'Docker AI评论虚拟账号池数量', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
WHERE NOT EXISTS (SELECT 1 FROM `la_ai_config` WHERE `name` = 'auto_comment_user_pool_size');
INSERT INTO `la_ai_config` (`name`, `value`, `remark`, `create_time`, `update_time`)
SELECT 'auto_comment_per_run', '50', 'Docker AI评论单轮投放上限', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
WHERE NOT EXISTS (SELECT 1 FROM `la_ai_config` WHERE `name` = 'auto_comment_per_run');
INSERT INTO `la_ai_config` (`name`, `value`, `remark`, `create_time`, `update_time`)
SELECT 'auto_comment_daily_cap', '500', 'Docker AI评论每日成功上限', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
WHERE NOT EXISTS (SELECT 1 FROM `la_ai_config` WHERE `name` = 'auto_comment_daily_cap');
INSERT INTO `la_ai_config` (`name`, `value`, `remark`, `create_time`, `update_time`)
SELECT 'auto_comment_concurrency', '4', 'Docker AI评论并发生成数', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
WHERE NOT EXISTS (SELECT 1 FROM `la_ai_config` WHERE `name` = 'auto_comment_concurrency');
INSERT INTO `la_ai_config` (`name`, `value`, `remark`, `create_time`, `update_time`)
SELECT 'auto_comment_request_timeout', '180', 'Docker AI评论请求超时秒数', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
WHERE NOT EXISTS (SELECT 1 FROM `la_ai_config` WHERE `name` = 'auto_comment_request_timeout');
INSERT INTO `la_ai_config` (`name`, `value`, `remark`, `create_time`, `update_time`)
SELECT
'auto_comment_article_prompt',
'你是一名专业、克制、真实的体育资讯评论员。请根据给定资讯内容生成1条中文评论,要求自然、具体、像真实用户发言,评论长度控制在20到60字之间。不要输出标题、前缀、解释、表情、标签、项目符号,不要提及自己是AI,不要复述全文。',
'Docker AI资讯评论提示词',
UNIX_TIMESTAMP(),
UNIX_TIMESTAMP()
WHERE NOT EXISTS (SELECT 1 FROM `la_ai_config` WHERE `name` = 'auto_comment_article_prompt');
INSERT INTO `la_ai_config` (`name`, `value`, `remark`, `create_time`, `update_time`)
SELECT
'auto_comment_post_prompt',
'你是一名活跃在体育与彩票社区的真实用户。请根据给定帖子内容、标签和人物设定,生成1条中文评论。评论要像真实社区回复,长度控制在18到66字之间,允许带轻微情绪和立场,但不要辱骂、不要承诺收益、不要暴露自己是AI。只输出评论正文,不要加前缀、编号、表情或话题标签。',
'Docker AI帖子评论提示词',
UNIX_TIMESTAMP(),
UNIX_TIMESTAMP()
WHERE NOT EXISTS (SELECT 1 FROM `la_ai_config` WHERE `name` = 'auto_comment_post_prompt');
@@ -0,0 +1,7 @@
INSERT INTO `la_dev_crontab` (`name`, `type`, `system`, `remark`, `command`, `params`, `status`, `expression`, `create_time`, `update_time`)
SELECT 'AI知识库同步消费', 1, 0, '消费AI知识库同步任务,自动补标资讯、赛事、彩票缺失或过期向量文档', 'kb:consume', '--batch=100', 1, '*/5 * * * *', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
WHERE NOT EXISTS (
SELECT 1 FROM `la_dev_crontab`
WHERE `command` = 'kb:consume'
AND `delete_time` IS NULL
);
@@ -0,0 +1,7 @@
INSERT INTO `la_dev_crontab` (`name`, `type`, `system`, `remark`, `command`, `params`, `status`, `expression`, `create_time`, `update_time`)
SELECT 'AI知识库Redis增量入队', 1, 0, '每分钟扫描最近30分钟资讯、彩票、加密资讯、赛事、社区帖子更新并写入Redis Stream', 'kb:enqueue-recent', '--limit=1000 --minutes=30', 1, '* * * * *', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
WHERE NOT EXISTS (
SELECT 1 FROM `la_dev_crontab`
WHERE `command` = 'kb:enqueue-recent'
AND `delete_time` IS NULL
);