微信自动回复机器人,基于截图+OCR识别消息,支持关键词规则和 AI(OpenAI/DeepSeek/Dify)自动回复。 技术栈:PySide6 + Flask + Vue3 + RapidOCR + SQLite 注:OCR大模型文件(.onnx / .pdiparams)不纳入版本控制,需单独下载。 🤖 Generated with [Qoder][https://qoder.com]
46 lines
2.1 KiB
SQL
46 lines
2.1 KiB
SQL
-- 创建数据库(如果还没建的话)
|
|
CREATE DATABASE IF NOT EXISTS `shiliu_ai` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
USE `shiliu_ai`;
|
|
|
|
-- 消息记录表
|
|
CREATE TABLE IF NOT EXISTS `messages` (
|
|
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`wx_user_id` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '微信用户唯一标识(可用备注/手机号等人工映射)',
|
|
`wx_nickname` VARCHAR(128) NOT NULL DEFAULT '' COMMENT '微信昵称',
|
|
`direction` ENUM('in','out') NOT NULL DEFAULT 'in' COMMENT 'in=收到, out=发出',
|
|
`content` TEXT NOT NULL COMMENT '消息内容',
|
|
`is_ai_reply` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否为 AI 自动回复',
|
|
`rule_id` BIGINT UNSIGNED NULL DEFAULT NULL COMMENT '命中的规则 ID',
|
|
`is_friend_request` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否为好友申请类通知',
|
|
`created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`id`),
|
|
KEY `idx_user_time` (`wx_user_id`, `created_at`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- 自动回复规则表
|
|
CREATE TABLE IF NOT EXISTS `auto_reply_rules` (
|
|
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`keyword` VARCHAR(255) NOT NULL COMMENT '关键词',
|
|
`match_type` ENUM('contain','equal') NOT NULL DEFAULT 'contain' COMMENT '匹配方式:包含 / 完全匹配',
|
|
`reply_text` TEXT NOT NULL COMMENT '回复内容',
|
|
`is_active` TINYINT(1) NOT NULL DEFAULT 1 COMMENT '是否启用',
|
|
`created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
`updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- 系统配置表
|
|
CREATE TABLE IF NOT EXISTS `settings` (
|
|
`key` VARCHAR(64) NOT NULL,
|
|
`value` TEXT NOT NULL,
|
|
`updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`key`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- 默认开启自动回复
|
|
INSERT INTO `settings`(`key`, `value`, `updated_at`)
|
|
VALUES ('auto_reply_enabled', '1', NOW())
|
|
ON DUPLICATE KEY UPDATE `value` = VALUES(`value`);
|
|
|
|
|