-- MySQL dump 10.13  Distrib 8.0.32, for Linux (aarch64)
--
-- Host: localhost    Database: biancheng
-- ------------------------------------------------------
-- Server version	8.0.32

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!50503 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Current Database: `biancheng`
--

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `biancheng` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci */ /*!80016 DEFAULT ENCRYPTION='N' */;

USE `biancheng`;

--
-- Table structure for table `ai_model_configs`
--

DROP TABLE IF EXISTS `ai_model_configs`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `ai_model_configs` (
  `id` int NOT NULL AUTO_INCREMENT,
  `provider` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
  `provider_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `model_id` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
  `model_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `api_key` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `base_url` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `task_type` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `is_enabled` tinyint(1) DEFAULT NULL,
  `is_default` tinyint(1) DEFAULT NULL,
  `description` text COLLATE utf8mb4_unicode_ci,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime DEFAULT CURRENT_TIMESTAMP,
  `web_search_enabled` tinyint(1) NOT NULL DEFAULT '0',
  `web_search_count` int NOT NULL DEFAULT '5',
  PRIMARY KEY (`id`),
  KEY `ix_ai_model_configs_id` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `ai_model_configs`
--

LOCK TABLES `ai_model_configs` WRITE;
/*!40000 ALTER TABLE `ai_model_configs` DISABLE KEYS */;
INSERT INTO `ai_model_configs` VALUES (1,'deepseek','DeepSeek','deepseek-reasoner','DeepSeek-V3.2 思考','sk-90c52d90b6ee44969dffb00e41be531d','https://api.deepseek.com','reasoning',1,1,'DeepSeek-V3.2 思考模式，带推理链输出','2026-04-02 03:19:15','2026-04-11 10:24:34',0,5),(2,'deepseek','DeepSeek','deepseek-reasoner','DeepSeek-V3.2 思考','sk-90c52d90b6ee44969dffb00e41be531d','https://api.deepseek.com','lightweight',1,0,'DeepSeek-V3.2 思考模式，带推理链输出','2026-04-02 03:19:31','2026-04-02 03:19:31',0,5),(3,'ark','火山方舟（豆包）','ep-20260411180700-z6nll','Doubao-Seed-2.0-pro','8aa0e6ca-731b-48bd-adaa-791a083a7b5d','https://ark.cn-beijing.volces.com/api/v3','reasoning',1,0,'豆包旗舰模型，支持联网搜索','2026-04-11 10:23:54','2026-04-11 10:45:49',1,30);
/*!40000 ALTER TABLE `ai_model_configs` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `attachments`
--

DROP TABLE IF EXISTS `attachments`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `attachments` (
  `id` int NOT NULL AUTO_INCREMENT,
  `post_id` int NOT NULL,
  `user_id` int NOT NULL,
  `filename` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `storage_key` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL,
  `url` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL,
  `file_size` bigint NOT NULL,
  `file_type` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `user_id` (`user_id`),
  KEY `ix_attachments_post_id` (`post_id`),
  KEY `ix_attachments_id` (`id`),
  CONSTRAINT `attachments_ibfk_1` FOREIGN KEY (`post_id`) REFERENCES `posts` (`id`),
  CONSTRAINT `attachments_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `attachments`
--

LOCK TABLES `attachments` WRITE;
/*!40000 ALTER TABLE `attachments` DISABLE KEYS */;
/*!40000 ALTER TABLE `attachments` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `bookmark_sites`
--

DROP TABLE IF EXISTS `bookmark_sites`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `bookmark_sites` (
  `id` int NOT NULL AUTO_INCREMENT,
  `user_id` int NOT NULL,
  `name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
  `url` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL,
  `icon` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `sort_order` int DEFAULT NULL,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_bookmark_sites_id` (`id`),
  KEY `ix_bookmark_sites_user_id` (`user_id`),
  CONSTRAINT `bookmark_sites_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `bookmark_sites`
--

LOCK TABLES `bookmark_sites` WRITE;
/*!40000 ALTER TABLE `bookmark_sites` DISABLE KEYS */;
INSERT INTO `bookmark_sites` VALUES (1,1,'py服务器','https://139.199.162.170:9777/sgcode','',0,'2026-04-05 03:13:49'),(2,1,'生财有术','https://scys.com/','',1,'2026-04-11 06:16:51');
/*!40000 ALTER TABLE `bookmark_sites` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `categories`
--

DROP TABLE IF EXISTS `categories`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `categories` (
  `id` int NOT NULL AUTO_INCREMENT,
  `name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
  `sort_order` int DEFAULT NULL,
  `is_active` tinyint(1) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `name` (`name`),
  KEY `ix_categories_id` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `categories`
--

LOCK TABLES `categories` WRITE;
/*!40000 ALTER TABLE `categories` DISABLE KEYS */;
INSERT INTO `categories` VALUES (1,'前端',0,1),(2,'后端',1,1),(3,'部署',2,1),(4,'踩坑',3,1),(5,'最佳实践',4,1),(6,'工具',5,1);
/*!40000 ALTER TABLE `categories` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `collects`
--

DROP TABLE IF EXISTS `collects`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `collects` (
  `id` int NOT NULL AUTO_INCREMENT,
  `post_id` int NOT NULL,
  `user_id` int NOT NULL,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_collect_post_user` (`post_id`,`user_id`),
  KEY `user_id` (`user_id`),
  KEY `ix_collects_post_id` (`post_id`),
  KEY `ix_collects_id` (`id`),
  CONSTRAINT `collects_ibfk_1` FOREIGN KEY (`post_id`) REFERENCES `posts` (`id`),
  CONSTRAINT `collects_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `collects`
--

LOCK TABLES `collects` WRITE;
/*!40000 ALTER TABLE `collects` DISABLE KEYS */;
INSERT INTO `collects` VALUES (1,1,3,'2026-04-11 10:59:24');
/*!40000 ALTER TABLE `collects` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `comments`
--

DROP TABLE IF EXISTS `comments`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `comments` (
  `id` int NOT NULL AUTO_INCREMENT,
  `post_id` int NOT NULL,
  `user_id` int NOT NULL,
  `content` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `user_id` (`user_id`),
  KEY `ix_comments_id` (`id`),
  KEY `ix_comments_post_id` (`post_id`),
  CONSTRAINT `comments_ibfk_1` FOREIGN KEY (`post_id`) REFERENCES `posts` (`id`),
  CONSTRAINT `comments_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `comments`
--

LOCK TABLES `comments` WRITE;
/*!40000 ALTER TABLE `comments` DISABLE KEYS */;
INSERT INTO `comments` VALUES (1,1,1,'1','2026-04-11 05:55:58');
/*!40000 ALTER TABLE `comments` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `conversations`
--

DROP TABLE IF EXISTS `conversations`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `conversations` (
  `id` int NOT NULL AUTO_INCREMENT,
  `user_id` int NOT NULL,
  `title` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_conversations_user_id` (`user_id`),
  KEY `ix_conversations_id` (`id`),
  CONSTRAINT `conversations_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `conversations`
--

LOCK TABLES `conversations` WRITE;
/*!40000 ALTER TABLE `conversations` DISABLE KEYS */;
/*!40000 ALTER TABLE `conversations` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `follows`
--

DROP TABLE IF EXISTS `follows`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `follows` (
  `id` int NOT NULL AUTO_INCREMENT,
  `follower_id` int NOT NULL,
  `following_id` int NOT NULL,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_follow` (`follower_id`,`following_id`),
  KEY `ix_follows_follower_id` (`follower_id`),
  KEY `ix_follows_following_id` (`following_id`),
  KEY `ix_follows_id` (`id`),
  CONSTRAINT `follows_ibfk_1` FOREIGN KEY (`follower_id`) REFERENCES `users` (`id`),
  CONSTRAINT `follows_ibfk_2` FOREIGN KEY (`following_id`) REFERENCES `users` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `follows`
--

LOCK TABLES `follows` WRITE;
/*!40000 ALTER TABLE `follows` DISABLE KEYS */;
INSERT INTO `follows` VALUES (1,3,1,'2026-04-11 10:59:20');
/*!40000 ALTER TABLE `follows` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `kb_access_logs`
--

DROP TABLE IF EXISTS `kb_access_logs`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `kb_access_logs` (
  `id` int NOT NULL AUTO_INCREMENT,
  `user_id` int DEFAULT NULL,
  `action` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `query` text COLLATE utf8mb4_unicode_ci,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `user_id` (`user_id`),
  KEY `ix_kb_access_logs_id` (`id`),
  CONSTRAINT `kb_access_logs_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `kb_access_logs`
--

LOCK TABLES `kb_access_logs` WRITE;
/*!40000 ALTER TABLE `kb_access_logs` DISABLE KEYS */;
/*!40000 ALTER TABLE `kb_access_logs` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `kb_categories`
--

DROP TABLE IF EXISTS `kb_categories`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `kb_categories` (
  `id` int NOT NULL AUTO_INCREMENT,
  `name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
  `icon` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `sort_order` int DEFAULT NULL,
  `is_active` tinyint(1) NOT NULL,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `name` (`name`),
  KEY `ix_kb_categories_id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `kb_categories`
--

LOCK TABLES `kb_categories` WRITE;
/*!40000 ALTER TABLE `kb_categories` DISABLE KEYS */;
/*!40000 ALTER TABLE `kb_categories` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `kb_items`
--

DROP TABLE IF EXISTS `kb_items`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `kb_items` (
  `id` int NOT NULL AUTO_INCREMENT,
  `category_id` int DEFAULT NULL,
  `post_id` int NOT NULL,
  `title` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL,
  `summary` text COLLATE utf8mb4_unicode_ci,
  `sort_order` int DEFAULT NULL,
  `is_active` tinyint(1) NOT NULL,
  `added_by` int DEFAULT NULL,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `added_by` (`added_by`),
  KEY `ix_kb_items_category_id` (`category_id`),
  KEY `ix_kb_items_id` (`id`),
  KEY `ix_kb_items_post_id` (`post_id`),
  CONSTRAINT `kb_items_ibfk_1` FOREIGN KEY (`category_id`) REFERENCES `kb_categories` (`id`),
  CONSTRAINT `kb_items_ibfk_2` FOREIGN KEY (`post_id`) REFERENCES `posts` (`id`),
  CONSTRAINT `kb_items_ibfk_3` FOREIGN KEY (`added_by`) REFERENCES `users` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `kb_items`
--

LOCK TABLES `kb_items` WRITE;
/*!40000 ALTER TABLE `kb_items` DISABLE KEYS */;
/*!40000 ALTER TABLE `kb_items` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `likes`
--

DROP TABLE IF EXISTS `likes`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `likes` (
  `id` int NOT NULL AUTO_INCREMENT,
  `post_id` int NOT NULL,
  `user_id` int NOT NULL,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_like_post_user` (`post_id`,`user_id`),
  KEY `user_id` (`user_id`),
  KEY `ix_likes_id` (`id`),
  KEY `ix_likes_post_id` (`post_id`),
  CONSTRAINT `likes_ibfk_1` FOREIGN KEY (`post_id`) REFERENCES `posts` (`id`),
  CONSTRAINT `likes_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `likes`
--

LOCK TABLES `likes` WRITE;
/*!40000 ALTER TABLE `likes` DISABLE KEYS */;
INSERT INTO `likes` VALUES (1,1,1,'2026-04-11 05:54:48'),(2,1,3,'2026-04-11 10:59:24');
/*!40000 ALTER TABLE `likes` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `messages`
--

DROP TABLE IF EXISTS `messages`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `messages` (
  `id` int NOT NULL AUTO_INCREMENT,
  `conversation_id` int NOT NULL,
  `role` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL,
  `content` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `image_urls` text COLLATE utf8mb4_unicode_ci,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_messages_conversation_id` (`conversation_id`),
  KEY `ix_messages_id` (`id`),
  CONSTRAINT `messages_ibfk_1` FOREIGN KEY (`conversation_id`) REFERENCES `conversations` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `messages`
--

LOCK TABLES `messages` WRITE;
/*!40000 ALTER TABLE `messages` DISABLE KEYS */;
/*!40000 ALTER TABLE `messages` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `nav_categories`
--

DROP TABLE IF EXISTS `nav_categories`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `nav_categories` (
  `id` int NOT NULL AUTO_INCREMENT,
  `name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
  `icon` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `sort_order` int DEFAULT NULL,
  `is_active` tinyint(1) NOT NULL,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_nav_categories_id` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `nav_categories`
--

LOCK TABLES `nav_categories` WRITE;
/*!40000 ALTER TABLE `nav_categories` DISABLE KEYS */;
INSERT INTO `nav_categories` VALUES (1,'Agent Skills','',1,1,'2026-04-11 10:50:25'),(2,'其他','',2,1,'2026-04-11 10:51:56'),(3,'AI 编程工具','',3,1,'2026-04-11 10:55:57'),(4,'AI 大模型','',4,1,'2026-04-11 10:55:57'),(5,'开发者社区','',5,1,'2026-04-11 10:55:57'),(6,'前端开发','',6,1,'2026-04-11 10:55:57'),(7,'后端 & 框架','',7,1,'2026-04-11 10:55:57'),(8,'数据库 & 存储','',8,1,'2026-04-11 10:55:57'),(9,'DevOps & 部署','',9,1,'2026-04-11 10:55:57'),(10,'设计 & UI','',10,1,'2026-04-11 10:55:57'),(11,'API & 开发工具','',11,1,'2026-04-11 10:55:57'),(12,'学习 & 教程','',12,1,'2026-04-11 10:55:57');
/*!40000 ALTER TABLE `nav_categories` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `nav_links`
--

DROP TABLE IF EXISTS `nav_links`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `nav_links` (
  `id` int NOT NULL AUTO_INCREMENT,
  `category_id` int NOT NULL,
  `name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
  `url` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL,
  `icon` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `description` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `sort_order` int DEFAULT NULL,
  `is_active` tinyint(1) NOT NULL,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  `status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'approved',
  `submitted_by` int DEFAULT NULL,
  `reject_reason` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `ix_nav_links_category_id` (`category_id`),
  KEY `ix_nav_links_id` (`id`),
  CONSTRAINT `nav_links_ibfk_1` FOREIGN KEY (`category_id`) REFERENCES `nav_categories` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=98 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `nav_links`
--

LOCK TABLES `nav_links` WRITE;
/*!40000 ALTER TABLE `nav_links` DISABLE KEYS */;
INSERT INTO `nav_links` VALUES (1,1,'qoder技能市场','https://qoder.com/marketplace','','',0,1,'2026-04-11 10:50:50','approved',1,''),(2,3,'GitHub Copilot','https://github.com/features/copilot','https://github.githubassets.com/favicons/favicon.svg','GitHub 官方 AI 编程助手，支持多种 IDE',1,1,'2026-04-11 10:55:57','approved',NULL,''),(3,3,'Cursor','https://cursor.com','https://cursor.com/favicon.ico','AI 驱动的代码编辑器，内置 AI 编程助手',2,1,'2026-04-11 10:55:57','approved',NULL,''),(4,3,'Qoder','https://qoder.com','','智能 AI 编程助手，高效代码生成与辅助',3,1,'2026-04-11 10:55:57','approved',NULL,''),(5,3,'通义灵码','https://tongyi.aliyun.com/lingma','','阿里云 AI 编程助手，支持代码生成与补全',4,1,'2026-04-11 10:55:57','approved',NULL,''),(6,3,'Claude Code','https://docs.anthropic.com/en/docs/claude-code/overview','','Anthropic 出品的终端 AI 编程工具',5,1,'2026-04-11 10:55:57','approved',NULL,''),(7,3,'Windsurf','https://windsurf.com','','AI 代码编辑器，流畅的 AI 协作编程体验',6,1,'2026-04-11 10:55:57','approved',NULL,''),(8,3,'Trae','https://trae.ai','','字节跳动推出的 AI IDE，免费使用',7,1,'2026-04-11 10:55:57','approved',NULL,''),(9,3,'V0','https://v0.dev','','Vercel 出品的 AI 前端代码生成工具',8,1,'2026-04-11 10:55:57','approved',NULL,''),(10,3,'Bolt.new','https://bolt.new','','AI 全栈开发平台，浏览器中直接构建应用',9,1,'2026-04-11 10:55:57','approved',NULL,''),(11,4,'ChatGPT','https://chat.openai.com','','OpenAI 旗舰对话模型，全球最流行的 AI 助手',1,1,'2026-04-11 10:55:57','approved',NULL,''),(12,4,'Claude','https://claude.ai','','Anthropic 出品，擅长长文本理解和代码生成',2,1,'2026-04-11 10:55:57','approved',NULL,''),(13,4,'DeepSeek','https://chat.deepseek.com','','国产高性价比推理模型，代码能力优秀',3,1,'2026-04-11 10:55:57','approved',NULL,''),(14,4,'豆包','https://www.doubao.com','','字节跳动 AI 助手，支持联网搜索',4,1,'2026-04-11 10:55:57','approved',NULL,''),(15,4,'Gemini','https://gemini.google.com','','Google 多模态 AI 模型',5,1,'2026-04-11 10:55:57','approved',NULL,''),(16,4,'Kimi','https://kimi.moonshot.cn','','月之暗面出品，擅长长文本处理',6,1,'2026-04-11 10:55:57','approved',NULL,''),(17,4,'通义千问','https://tongyi.aliyun.com','','阿里云大模型，多模态能力强',7,1,'2026-04-11 10:55:57','approved',NULL,''),(18,4,'智谱清言','https://chatglm.cn','','清华系大模型，中文理解能力出色',8,1,'2026-04-11 10:55:57','approved',NULL,''),(19,5,'GitHub','https://github.com','https://github.githubassets.com/favicons/favicon.svg','全球最大的代码托管和开源社区',1,1,'2026-04-11 10:55:57','approved',NULL,''),(20,5,'Stack Overflow','https://stackoverflow.com','','全球最大的编程问答社区',2,1,'2026-04-11 10:55:57','approved',NULL,''),(21,5,'稀土掘金','https://juejin.cn','','国内优质技术社区，前后端文章丰富',3,1,'2026-04-11 10:55:57','approved',NULL,''),(22,5,'CSDN','https://www.csdn.net','','中文 IT 技术社区，覆盖面广',4,1,'2026-04-11 10:55:57','approved',NULL,''),(23,5,'博客园','https://www.cnblogs.com','','老牌技术博客平台，.NET 生态丰富',5,1,'2026-04-11 10:55:57','approved',NULL,''),(24,5,'思否 SegmentFault','https://segmentfault.com','','中文技术问答与分享社区',6,1,'2026-04-11 10:55:57','approved',NULL,''),(25,5,'V2EX','https://www.v2ex.com','','创意工作者社区，技术话题活跃',7,1,'2026-04-11 10:55:57','approved',NULL,''),(26,5,'Hacker News','https://news.ycombinator.com','','Y Combinator 旗下科技资讯社区',8,1,'2026-04-11 10:55:57','approved',NULL,''),(27,5,'Dev.to','https://dev.to','','国际开发者博客平台，内容质量高',9,1,'2026-04-11 10:55:57','approved',NULL,''),(28,5,'Reddit Programming','https://www.reddit.com/r/programming/','','Reddit 编程频道，全球开发者讨论',10,1,'2026-04-11 10:55:57','approved',NULL,''),(29,6,'MDN Web Docs','https://developer.mozilla.org/zh-CN/','','Mozilla 官方 Web 技术文档，前端必备参考',1,1,'2026-04-11 10:55:57','approved',NULL,''),(30,6,'Can I Use','https://caniuse.com','','浏览器兼容性查询工具',2,1,'2026-04-11 10:55:57','approved',NULL,''),(31,6,'Vue.js','https://vuejs.org','','渐进式 JavaScript 框架官方文档',3,1,'2026-04-11 10:55:57','approved',NULL,''),(32,6,'React','https://react.dev','','Meta 出品的 UI 构建库官方文档',4,1,'2026-04-11 10:55:57','approved',NULL,''),(33,6,'Next.js','https://nextjs.org','','React 全栈框架，支持 SSR/SSG',5,1,'2026-04-11 10:55:57','approved',NULL,''),(34,6,'Tailwind CSS','https://tailwindcss.com','','原子化 CSS 框架，快速构建 UI',6,1,'2026-04-11 10:55:57','approved',NULL,''),(35,6,'TypeScript','https://www.typescriptlang.org','','JavaScript 的超集，添加类型系统',7,1,'2026-04-11 10:55:57','approved',NULL,''),(36,6,'Vite','https://vitejs.dev','','下一代前端构建工具，极速开发体验',8,1,'2026-04-11 10:55:57','approved',NULL,''),(37,6,'npm','https://www.npmjs.com','','JavaScript 包管理器和注册表',9,1,'2026-04-11 10:55:57','approved',NULL,''),(38,7,'FastAPI','https://fastapi.tiangolo.com','','高性能 Python Web 框架，自动生成 API 文档',1,1,'2026-04-11 10:55:57','approved',NULL,''),(39,7,'Django','https://www.djangoproject.com','','Python 全功能 Web 框架',2,1,'2026-04-11 10:55:57','approved',NULL,''),(40,7,'Flask','https://flask.palletsprojects.com','','Python 轻量级 Web 框架',3,1,'2026-04-11 10:55:57','approved',NULL,''),(41,7,'Spring Boot','https://spring.io/projects/spring-boot','','Java 企业级框架，微服务首选',4,1,'2026-04-11 10:55:57','approved',NULL,''),(42,7,'Express.js','https://expressjs.com','','Node.js 最流行的 Web 框架',5,1,'2026-04-11 10:55:57','approved',NULL,''),(43,7,'Go 官网','https://go.dev','','Google 出品的高性能编程语言',6,1,'2026-04-11 10:55:57','approved',NULL,''),(44,7,'Rust 官网','https://www.rust-lang.org','','安全高效的系统编程语言',7,1,'2026-04-11 10:55:57','approved',NULL,''),(45,7,'Node.js','https://nodejs.org','','JavaScript 服务端运行时',8,1,'2026-04-11 10:55:57','approved',NULL,''),(46,8,'MySQL','https://www.mysql.com','','最流行的开源关系型数据库',1,1,'2026-04-11 10:55:57','approved',NULL,''),(47,8,'PostgreSQL','https://www.postgresql.org','','功能最强大的开源关系型数据库',2,1,'2026-04-11 10:55:57','approved',NULL,''),(48,8,'Redis','https://redis.io','','高性能内存数据库，缓存首选',3,1,'2026-04-11 10:55:57','approved',NULL,''),(49,8,'MongoDB','https://www.mongodb.com','','最流行的文档型 NoSQL 数据库',4,1,'2026-04-11 10:55:57','approved',NULL,''),(50,8,'Supabase','https://supabase.com','','开源 Firebase 替代品，PostgreSQL 云服务',5,1,'2026-04-11 10:55:57','approved',NULL,''),(51,8,'PlanetScale','https://planetscale.com','','MySQL 兼容的 Serverless 数据库平台',6,1,'2026-04-11 10:55:57','approved',NULL,''),(52,9,'Docker Hub','https://hub.docker.com','','容器镜像仓库，Docker 官方平台',1,1,'2026-04-11 10:55:57','approved',NULL,''),(53,9,'Docker 文档','https://docs.docker.com','','Docker 官方文档和教程',2,1,'2026-04-11 10:55:57','approved',NULL,''),(54,9,'Vercel','https://vercel.com','','前端项目一键部署平台',3,1,'2026-04-11 10:55:57','approved',NULL,''),(55,9,'Netlify','https://www.netlify.com','','静态站点和 Serverless 部署平台',4,1,'2026-04-11 10:55:57','approved',NULL,''),(56,9,'宝塔面板','https://www.bt.cn','','Linux 服务器运维管理面板',5,1,'2026-04-11 10:55:57','approved',NULL,''),(57,9,'Nginx 文档','https://nginx.org/en/docs/','','Nginx 官方文档',6,1,'2026-04-11 10:55:57','approved',NULL,''),(58,9,'Cloudflare','https://www.cloudflare.com','','CDN、DNS 和网络安全服务',7,1,'2026-04-11 10:55:57','approved',NULL,''),(59,9,'阿里云','https://www.aliyun.com','','国内领先的云计算平台',8,1,'2026-04-11 10:55:57','approved',NULL,''),(60,9,'腾讯云','https://cloud.tencent.com','','腾讯旗下云计算服务平台',9,1,'2026-04-11 10:55:57','approved',NULL,''),(61,10,'Figma','https://www.figma.com','','在线协作 UI 设计工具',1,1,'2026-04-11 10:55:57','approved',NULL,''),(62,10,'Dribbble','https://dribbble.com','','设计师作品展示平台，找灵感必备',2,1,'2026-04-11 10:55:57','approved',NULL,''),(63,10,'Iconfont','https://www.iconfont.cn','','阿里巴巴矢量图标库',3,1,'2026-04-11 10:55:57','approved',NULL,''),(64,10,'Heroicons','https://heroicons.com','','Tailwind CSS 团队出品的 SVG 图标库',4,1,'2026-04-11 10:55:57','approved',NULL,''),(65,10,'Lucide Icons','https://lucide.dev','','开源精美图标库，Feather Icons 继任者',5,1,'2026-04-11 10:55:57','approved',NULL,''),(66,10,'Unsplash','https://unsplash.com','','免费高质量图片素材库',6,1,'2026-04-11 10:55:57','approved',NULL,''),(67,10,'Coolors','https://coolors.co','','配色方案生成器',7,1,'2026-04-11 10:55:57','approved',NULL,''),(68,10,'Shadcn/ui','https://ui.shadcn.com','','精美的 React 可复用组件集合',8,1,'2026-04-11 10:55:57','approved',NULL,''),(69,11,'Postman','https://www.postman.com','','API 测试和协作平台',1,1,'2026-04-11 10:55:57','approved',NULL,''),(70,11,'Swagger','https://swagger.io','','API 文档规范和工具集',2,1,'2026-04-11 10:55:57','approved',NULL,''),(71,11,'Hoppscotch','https://hoppscotch.io','','开源轻量 API 测试工具',3,1,'2026-04-11 10:55:57','approved',NULL,''),(72,11,'Regex101','https://regex101.com','','在线正则表达式测试和调试',4,1,'2026-04-11 10:55:57','approved',NULL,''),(73,11,'JSON Editor Online','https://jsoneditoronline.org','','在线 JSON 编辑和格式化工具',5,1,'2026-04-11 10:55:57','approved',NULL,''),(74,11,'DevDocs','https://devdocs.io','','聚合多种编程语言和框架的 API 文档',6,1,'2026-04-11 10:55:57','approved',NULL,''),(75,11,'Carbon','https://carbon.now.sh','','生成漂亮的代码截图',7,1,'2026-04-11 10:55:57','approved',NULL,''),(76,12,'菜鸟教程','https://www.runoob.com','','中文编程入门教程，覆盖多种语言',1,1,'2026-04-11 10:55:57','approved',NULL,''),(77,12,'W3Schools','https://www.w3schools.com','','Web 技术在线教程和参考手册',2,1,'2026-04-11 10:55:57','approved',NULL,''),(78,12,'freeCodeCamp','https://www.freecodecamp.org','','免费学习编程的开源平台',3,1,'2026-04-11 10:55:57','approved',NULL,''),(79,12,'LeetCode','https://leetcode.cn','','算法刷题平台，面试必备',4,1,'2026-04-11 10:55:57','approved',NULL,''),(80,12,'牛客网','https://www.nowcoder.com','','IT 面试刷题和求职平台',5,1,'2026-04-11 10:55:57','approved',NULL,''),(81,12,'Coursera','https://www.coursera.org','','全球顶尖大学在线课程平台',6,1,'2026-04-11 10:55:57','approved',NULL,''),(82,12,'极客时间','https://time.geekbang.org','','IT 技术付费学习平台，内容体系化',7,1,'2026-04-11 10:55:57','approved',NULL,''),(83,1,'Skills.sh','https://skills.sh','','一键安装 Agent Skills，自动检测多种 Agent 并安装',2,1,'2026-04-11 10:58:06','approved',NULL,''),(84,1,'SkillsMP','https://skillsmp.com','','Agent Skills 趋势分析市场，支持分类排序和增长趋势查看',3,1,'2026-04-11 10:58:06','approved',NULL,''),(85,1,'Claude Marketplaces','https://claudemarketplaces.com','','Claude Code 插件、Skills 和 MCP 服务器精选目录',4,1,'2026-04-11 10:58:06','approved',NULL,''),(86,1,'Anthropic 官方 Skills','https://github.com/anthropics/skills','','Anthropic 官方 Agent Skills 仓库',5,1,'2026-04-11 10:58:06','approved',NULL,''),(87,1,'Awesome Agent Skills (VoltAgent)','https://github.com/VoltAgent/awesome-agent-skills','','1000+ Agent Skills 精选集合，兼容 Claude Code、Codex、Gemini CLI 等',6,1,'2026-04-11 10:58:06','approved',NULL,''),(88,1,'Awesome Agent Skills (heilcheng)','https://github.com/heilcheng/awesome-agent-skills','','真实工程团队创建的实用 Agent Skills 教程和指南',7,1,'2026-04-11 10:58:06','approved',NULL,''),(89,1,'Everything Claude Code','https://github.com/affaan-m/everything-claude-code','','黑客松冠军作品，涵盖 Skills、Commands、Subagents、Hooks 等',8,1,'2026-04-11 10:58:06','approved',NULL,''),(90,1,'Superpowers','https://github.com/obra/superpowers','','热门 Coding Agent Skills 仓库，增强编程能力',9,1,'2026-04-11 10:58:06','approved',NULL,''),(91,1,'Claude Skills (232+)','https://github.com/alirezarezvani/claude-skills','','232+ Claude Code Skills，兼容 Codex、Gemini CLI、Cursor 等',10,1,'2026-04-11 10:58:06','approved',NULL,''),(92,1,'Skillmatic Awesome Skills','https://github.com/skillmatic-ai/awesome-agent-skills','','标准化 SKILL.md 模块包集合，渐进式加载',11,1,'2026-04-11 10:58:06','approved',NULL,''),(93,1,'MCP Market','https://mcpmarket.com','','MCP 服务器市场，连接 Claude 和 Cursor 到各种工具',12,1,'2026-04-11 10:58:06','approved',NULL,''),(94,1,'Awesome MCP Servers','https://mcpservers.org','','MCP 服务器精选列表，包含 Agent Skills 库',13,1,'2026-04-11 10:58:06','approved',NULL,''),(95,1,'Cursor Skills 文档','https://cursor.com/docs/skills','','Cursor 官方 Agent Skills 文档，开放标准规范',14,1,'2026-04-11 10:58:06','approved',NULL,''),(96,1,'AI Tmpl Plugins','https://www.aitmpl.com/plugins/','','Claude Code 插件市场和 Skill 集合目录',15,1,'2026-04-11 10:58:06','approved',NULL,''),(97,1,'Qoder Skills 文档','https://docs.qoder.com/zh/extensions/skills','','Qoder 官方 Skills 开发文档和教程',16,1,'2026-04-11 10:58:06','approved',NULL,'');
/*!40000 ALTER TABLE `nav_links` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `notifications`
--

DROP TABLE IF EXISTS `notifications`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `notifications` (
  `id` int NOT NULL AUTO_INCREMENT,
  `user_id` int NOT NULL,
  `type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL,
  `content` text COLLATE utf8mb4_unicode_ci,
  `related_id` int DEFAULT NULL,
  `from_user_id` int DEFAULT NULL,
  `is_read` tinyint(1) DEFAULT NULL,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `from_user_id` (`from_user_id`),
  KEY `ix_notifications_id` (`id`),
  KEY `ix_notifications_is_read` (`is_read`),
  KEY `ix_notifications_user_id` (`user_id`),
  CONSTRAINT `notifications_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`),
  CONSTRAINT `notifications_ibfk_2` FOREIGN KEY (`from_user_id`) REFERENCES `users` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `notifications`
--

LOCK TABLES `notifications` WRITE;
/*!40000 ALTER TABLE `notifications` DISABLE KEYS */;
INSERT INTO `notifications` VALUES (1,1,'follow','test01 关注了你',3,3,1,'2026-04-11 10:59:20'),(2,1,'like','test01 赞了你的文章「联网搜索实现思路以及方案」',1,3,1,'2026-04-11 10:59:24');
/*!40000 ALTER TABLE `notifications` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `posts`
--

DROP TABLE IF EXISTS `posts`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `posts` (
  `id` int NOT NULL AUTO_INCREMENT,
  `user_id` int NOT NULL,
  `title` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL,
  `content` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `category` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `tags` text COLLATE utf8mb4_unicode_ci,
  `is_public` tinyint(1) DEFAULT NULL,
  `view_count` int DEFAULT NULL,
  `like_count` int DEFAULT NULL,
  `collect_count` int DEFAULT NULL,
  `comment_count` int DEFAULT NULL,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_posts_user_id` (`user_id`),
  KEY `ix_posts_id` (`id`),
  CONSTRAINT `posts_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `posts`
--

LOCK TABLES `posts` WRITE;
/*!40000 ALTER TABLE `posts` DISABLE KEYS */;
INSERT INTO `posts` VALUES (1,1,'联网搜索实现思路以及方案','1、爬取信息，大模型搜索\n','','[]',1,6,2,1,1,'2026-04-11 05:54:44','2026-04-11 11:00:14');
/*!40000 ALTER TABLE `posts` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `project_collects`
--

DROP TABLE IF EXISTS `project_collects`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `project_collects` (
  `id` int NOT NULL AUTO_INCREMENT,
  `project_id` int NOT NULL,
  `user_id` int NOT NULL,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_project_collect_user` (`project_id`,`user_id`),
  KEY `user_id` (`user_id`),
  KEY `ix_project_collects_project_id` (`project_id`),
  KEY `ix_project_collects_id` (`id`),
  CONSTRAINT `project_collects_ibfk_1` FOREIGN KEY (`project_id`) REFERENCES `projects` (`id`),
  CONSTRAINT `project_collects_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `project_collects`
--

LOCK TABLES `project_collects` WRITE;
/*!40000 ALTER TABLE `project_collects` DISABLE KEYS */;
INSERT INTO `project_collects` VALUES (1,4,1,'2026-04-11 09:59:41');
/*!40000 ALTER TABLE `project_collects` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `projects`
--

DROP TABLE IF EXISTS `projects`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `projects` (
  `id` int NOT NULL AUTO_INCREMENT,
  `name` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL,
  `description` text COLLATE utf8mb4_unicode_ci,
  `url` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL,
  `homepage` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `icon` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `language` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `category` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `stars` int DEFAULT NULL,
  `forks` int DEFAULT NULL,
  `sort_order` int DEFAULT NULL,
  `is_active` tinyint(1) NOT NULL,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime DEFAULT CURRENT_TIMESTAMP,
  `collect_count` int NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `ix_projects_category` (`category`),
  KEY `ix_projects_id` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `projects`
--

LOCK TABLES `projects` WRITE;
/*!40000 ALTER TABLE `projects` DISABLE KEYS */;
INSERT INTO `projects` VALUES (1,'openclaw','Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞 ','https://github.com/openclaw/openclaw','https://openclaw.ai','https://avatars.githubusercontent.com/u/252820863?v=4','TypeScript','其他',354373,71636,1,1,'2026-04-11 07:28:05','2026-04-11 07:28:05',0),(2,'claw-code','The repo is finally unlocked. enjoy the party! The fastest repo in history to surpass 100K stars ⭐. Join Discord: https://discord.gg/5TUQKqFWd Built in Rust using oh-my-codex.','https://github.com/ultraworkers/claw-code','','https://avatars.githubusercontent.com/u/272961631?v=4','Rust','其他',181024,107070,2,1,'2026-04-11 07:28:05','2026-04-11 07:28:05',0),(3,'everything-claude-code','The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.','https://github.com/affaan-m/everything-claude-code','https://ecc.tools','https://avatars.githubusercontent.com/u/124439313?v=4','JavaScript','AI 相关',150482,23290,3,1,'2026-04-11 07:28:05','2026-04-11 07:28:05',0),(4,'superpowers','An agentic skills framework & software development methodology that works.','https://github.com/obra/superpowers','','https://avatars.githubusercontent.com/u/45416?v=4','Shell','其他',146169,12534,4,1,'2026-04-11 07:28:05','2026-04-11 09:59:41',1),(5,'opencode','The open source coding agent.','https://github.com/anomalyco/opencode','https://opencode.ai','https://avatars.githubusercontent.com/u/66570915?v=4','TypeScript','其他',141285,15794,5,1,'2026-04-11 07:28:05','2026-04-11 07:28:05',0),(6,'system-prompts-and-models-of-ai-tools','FULL Augment Code, Claude Code, Cluely, CodeBuddy, Comet, Cursor, Devin AI, Junie, Kiro, Leap.new, Lovable, Manus, NotionAI, Orchids.app, Perplexity, Poke, Qoder, Replit, Same.dev, Trae, Traycer AI, VSCode Agent, Warp.dev, Windsurf, Xcode, Z.ai Code, Dia & v0. (And other Open Sourced) System Prompts, Internal Tools & AI Models','https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools','','https://avatars.githubusercontent.com/u/185671340?v=4','','其他',134911,33920,6,1,'2026-04-11 07:28:05','2026-04-11 07:28:05',0);
/*!40000 ALTER TABLE `projects` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `shared_api_categories`
--

DROP TABLE IF EXISTS `shared_api_categories`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `shared_api_categories` (
  `id` int NOT NULL AUTO_INCREMENT,
  `name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
  `icon` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `sort_order` int DEFAULT NULL,
  `is_active` tinyint(1) NOT NULL,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `name` (`name`),
  KEY `ix_shared_api_categories_id` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `shared_api_categories`
--

LOCK TABLES `shared_api_categories` WRITE;
/*!40000 ALTER TABLE `shared_api_categories` DISABLE KEYS */;
INSERT INTO `shared_api_categories` VALUES (1,'大语言模型','',1,1,'2026-04-11 08:02:16'),(2,'图像生成','',2,1,'2026-04-11 08:02:16'),(3,'语音识别/合成','',3,1,'2026-04-11 08:02:16'),(4,'向量/嵌入','',4,1,'2026-04-11 08:02:16'),(5,'搜索/检索','',5,1,'2026-04-11 08:02:16'),(6,'翻译服务','',6,1,'2026-04-11 08:02:16'),(7,'代码生成','',7,1,'2026-04-11 08:02:16'),(8,'数据分析','',8,1,'2026-04-11 08:02:16'),(9,'云服务/基础设施','',9,1,'2026-04-11 08:02:16'),(10,'支付/金融','',10,1,'2026-04-11 08:02:16'),(11,'消息推送','',11,1,'2026-04-11 08:02:16'),(12,'地图/位置','',12,1,'2026-04-11 08:02:16'),(13,'其他','',99,1,'2026-04-11 08:02:16');
/*!40000 ALTER TABLE `shared_api_categories` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `shared_api_logs`
--

DROP TABLE IF EXISTS `shared_api_logs`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `shared_api_logs` (
  `id` int NOT NULL AUTO_INCREMENT,
  `api_id` int NOT NULL,
  `user_id` int DEFAULT NULL,
  `action` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `request_url` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `response_status` int DEFAULT NULL,
  `response_time_ms` int DEFAULT NULL,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `user_id` (`user_id`),
  KEY `ix_shared_api_logs_api_id` (`api_id`),
  KEY `ix_shared_api_logs_id` (`id`),
  CONSTRAINT `shared_api_logs_ibfk_1` FOREIGN KEY (`api_id`) REFERENCES `shared_apis` (`id`),
  CONSTRAINT `shared_api_logs_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `shared_api_logs`
--

LOCK TABLES `shared_api_logs` WRITE;
/*!40000 ALTER TABLE `shared_api_logs` DISABLE KEYS */;
/*!40000 ALTER TABLE `shared_api_logs` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `shared_apis`
--

DROP TABLE IF EXISTS `shared_apis`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `shared_apis` (
  `id` int NOT NULL AUTO_INCREMENT,
  `category_id` int DEFAULT NULL,
  `name` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL,
  `description` text COLLATE utf8mb4_unicode_ci,
  `base_url` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL,
  `doc_url` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `auth_type` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `api_key_encrypted` text COLLATE utf8mb4_unicode_ci,
  `api_key_header` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `health_check_url` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `last_check_time` datetime DEFAULT NULL,
  `last_check_status` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `added_by` int DEFAULT NULL,
  `tags` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `call_count` int DEFAULT NULL,
  `is_active` tinyint(1) NOT NULL,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `added_by` (`added_by`),
  KEY `ix_shared_apis_id` (`id`),
  KEY `ix_shared_apis_category_id` (`category_id`),
  CONSTRAINT `shared_apis_ibfk_1` FOREIGN KEY (`category_id`) REFERENCES `shared_api_categories` (`id`),
  CONSTRAINT `shared_apis_ibfk_2` FOREIGN KEY (`added_by`) REFERENCES `users` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `shared_apis`
--

LOCK TABLES `shared_apis` WRITE;
/*!40000 ALTER TABLE `shared_apis` DISABLE KEYS */;
/*!40000 ALTER TABLE `shared_apis` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `system_configs`
--

DROP TABLE IF EXISTS `system_configs`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `system_configs` (
  `id` int NOT NULL AUTO_INCREMENT,
  `key` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
  `value` text COLLATE utf8mb4_unicode_ci,
  `description` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `updated_at` datetime DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `ix_system_configs_key` (`key`),
  KEY `ix_system_configs_id` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `system_configs`
--

LOCK TABLES `system_configs` WRITE;
/*!40000 ALTER TABLE `system_configs` DISABLE KEYS */;
INSERT INTO `system_configs` VALUES (1,'api_hub_password','[REDACTED]','API Hub访问密码','2026-04-11 07:59:52'),(2,'cos_secret_id','[REDACTED]','SecretId','2026-04-11 08:44:39'),(3,'cos_secret_key','[REDACTED]','SecretKey','2026-04-11 08:44:39'),(4,'cos_bucket','bianchengshequ-1258043434','Bucket（如 bianchengshequ-1250000000）','2026-04-11 08:44:39'),(5,'cos_region','ap-guangzhou','Region（如 ap-beijing）','2026-04-11 08:44:39'),(6,'cos_custom_domain','','自定义域名（可选，CDN加速域名）','2026-04-11 08:44:39'),(7,'kb_password','[REDACTED]','知识库访问密码','2026-04-11 09:25:00');
/*!40000 ALTER TABLE `system_configs` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `users`
--

DROP TABLE IF EXISTS `users`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `users` (
  `id` int NOT NULL AUTO_INCREMENT,
  `username` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
  `email` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
  `password_hash` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL,
  `avatar` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `is_admin` tinyint(1) NOT NULL,
  `is_banned` tinyint(1) NOT NULL,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  `is_approved` tinyint(1) NOT NULL DEFAULT '1',
  PRIMARY KEY (`id`),
  UNIQUE KEY `ix_users_email` (`email`),
  UNIQUE KEY `ix_users_username` (`username`),
  KEY `ix_users_id` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `users`
--

LOCK TABLES `users` WRITE;
/*!40000 ALTER TABLE `users` DISABLE KEYS */;
INSERT INTO `users` VALUES (1,'test','test@163.com','$2b$12$ojBnEWPvF3BeDDJjZxni7eCZsi3a05/NleX7tML.PAm.3UfVWAGmG','',1,0,'2026-04-01 06:32:01',1),(2,'admin','admin@example.com','$2b$12$IkuqH6mOmwvNXw4H5VaRs.mFtr99uv/.YmvPWVVSPrSK1alUWdyzu','',1,0,'2026-04-05 02:56:03',1),(3,'test01','test01@qq.com','$2b$12$uW01C0dK94V36.9pPN4Yhu55CMPm3useDICHpwIG3wInIg7O9r9xe','',0,0,'2026-04-11 10:58:28',1);
/*!40000 ALTER TABLE `users` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Dumping events for database 'biancheng'
--

--
-- Dumping routines for database 'biancheng'
--
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2026-04-11 11:01:45
