Skip to content

Repository files navigation

SmartMark (智注) - AI驱动的商标注册顾问

这是一个基于 Next.js 和 AI 的智能商标注册咨询系统。

技术栈

  • 前端: Next.js 14 + TypeScript + Tailwind CSS
  • 后端: Next.js API Routes + Supabase
  • AI: DeepSeek API (中文能力强,便宜)
  • 数据库: Supabase (PostgreSQL)
  • 认证: Supabase Auth

功能特性

  1. AI商标顾问对话

    • 智能分析品牌名称显著性
    • 推荐注册类别(基于尼斯分类表)
    • 评估注册风险
    • 提供官方查询指引
  2. 用户系统

    • 手机号验证码登录/注册
    • 历史对话记录
  3. 响应式设计

    • PC端和移动端自适应
    • 类似微信的聊天界面

快速开始

1. 安装依赖

npm install

2. 配置环境变量

复制 .env.local.example.env.local,并填入以下配置:

# Supabase 配置
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key

# DeepSeek API
DEEPSEEK_API_KEY=your_deepseek_api_key

# 应用配置
NEXT_PUBLIC_APP_URL=http://localhost:3000
NEXT_PUBLIC_APP_NAME=智注 (SmartMark)

3. 设置 Supabase

  1. 创建 Supabase 项目:https://supabase.com
  2. 运行以下 SQL 创建表:
-- 用户表
CREATE TABLE users (
  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  phone TEXT UNIQUE NOT NULL,
  email TEXT,
  created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
  updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);

-- 验证码表
CREATE TABLE verification_codes (
  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  phone TEXT NOT NULL,
  code TEXT NOT NULL,
  type TEXT DEFAULT 'login',
  expires_at TIMESTAMP WITH TIME ZONE NOT NULL,
  created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);

-- 会话表
CREATE TABLE chat_sessions (
  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  user_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE,
  title TEXT NOT NULL,
  created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
  updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);

-- 消息表
CREATE TABLE messages (
  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  session_id UUID NOT NULL REFERENCES chat_sessions(id) ON DELETE CASCADE,
  role TEXT NOT NULL CHECK (role IN ('user', 'assistant', 'system')),
  content TEXT NOT NULL,
  created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);

-- 创建索引
CREATE INDEX idx_chat_sessions_user_id ON chat_sessions(user_id);
CREATE INDEX idx_messages_session_id ON messages(session_id);
CREATE INDEX idx_verification_codes_phone ON verification_codes(phone);
  1. 启用 Supabase Auth:启用 Phone Auth(需要配置短信服务,或使用测试模式)

4. 启动开发服务器

npm run dev

访问 http://localhost:3000

部署

Vercel 部署(免费)

  1. 将代码推送到 GitHub
  2. 在 Vercel 中导入项目
  3. 配置环境变量
  4. 部署

Docker 部署

docker build -t smartmark .
docker run -p 3000:3000 --env-file .env.local smartmark

成本预估

项目 费用
域名 (.com/.cn) ~60-100元/年
Vercel 托管 免费
Supabase 数据库 免费(免费版足够)
DeepSeek API ~50元(足够前期几千次调用)
总计 < 200元

MVP 阶段策略

  1. 数据源: 使用大模型训练数据中的商标分类知识,不调用第三方数据 API
  2. 官方验证: 引导用户手动去商标网查询(AI提供精准查询指导)
  3. 商业模式: 免费提供 AI 咨询,付费功能(生成申请材料、人工复核)待后续扩展

License

MIT

Releases

Packages

Contributors

Languages