6745060 / TIME-SEA-PLUS

基于SpringBoot3开发的GPT绘图微信小程序,支持自定义预设词,功能板块定义,各类绘图 ....

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TIME-SEA-PLUS

基于SpringBoot3开发的Ai多功能绘图微信流量主小程序 此项目为长期维护更新项目 有什么问题可以直接在微信群问或者留下你的issues

GitHub release License

快速体验

主要功能以及特性

  • GPT流对话(支持3.5 4.0)
  • 对话功能收藏功能 以及 收藏对话回溯场景
  • 支持GPT自定义敏感词拦截 以及 微信铭感词拦截
  • SD MJ 文生图 图生图
  • 支持用户自定义头像昵称
  • 支持自定义GPT预设词功能版块(无限制定义)
  • 项目工件模块化
  • Ai币兑换码 (也可通过观看广告获得)
  • 创意广场(允许将优秀个人作品展示至鉴赏 所有用户可视)
  • 支持GPT对话暂停输出以及继续输出
  • 内置后台管理 (用户管理 绘图管理 服务器管理 兑换码管理)
  • 接入百度翻译API
  • 绘图类API 列队处理
  • 微信作品制作通知
  • 数据懒异步处理
  • 支持主流语言以及配置类 代码高亮
  • 查看广告获得次数

小程序效果展示

部署环境

百度翻译 阿里OSS 微信开发者平台APPID及密钥 JDK17 SD API MJ API Redis 7 MySQL 8 微信开发中工具

项目部署时一定要先在本地部署一遍 如果不会部署 请联系作者微信:SeatimeIsland 后端部署不挑环境 硬性要求为 MYSQL8 Redis7 JDK17即可 前端代码直接使用微信开发者工具打开 请使用导入功能 另外可以进微信群 一起讨论项目部署 或者 以及其他编程学术类问题

后端yml配置参考

server:
  #   SSL证书
  ssl:
    key-store: classpath:anchwngb.cn.pfx
    key-store-password: g15xrx4u57
    key-store-type: PKCS12

spring:
  data:
    # redis配置
    redis:
      database: 1
      host: 127.0.0.1
      port: 6379
  # mysql配置
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/super_bot?useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&allowMultiQueries=true&useSSL=true
    username: root
    password: 123


# 管理员 多个使用,隔开
admin: ooskO5McQ18QR1J4-DMJp2M67F2o,

#是否开启文本拦截 (防止GPT乱说话) ,触发敏感词时中断回复并提示
isSensitive: true

#过滤哪些敏感字(需开启文本拦截才生效)
sensitive: "(CHAT|GPT|OPENAI)"

# 是否开启GPT-4 如果关闭 则前端的选择模型将无效 最终都会指向GPT-3.5 (如果当前KEY不支持GPT-4 请不要开启 否则用户选择GPT-4则会报错)
enable-gpt: false

# 微信
we-chat:
  # APPID
  appId: 'wx28a155bea9da7e'
  # 密钥
  secret: 'c82fb9368ecf76dbbdd8affAbae'
  # 通知模板
  template: '1I4cl8Qk9JlOysMoavLS-xu9t1QuT5Irezvaw'

# 百度翻译
baidu-translation:
  # 百度翻译Appid
  appid: '202209290013618'
  # 百度翻译密码要
  secret: '2WibA9sYnubh1IDPTB'

# 阿里OSS
ali-oss:
  endpoint: 'oss-cn-shanghai.aliyuncs.com'
  accessKey: 'LTALMX9wK5coPBoonh48n'
  secretKey: 'm4nK6wqqH27o61iWoZUMUt'
  bucketName: 'sea'
  domain: 'https://sea.oss-cn-shanghai.aliyuncs.com'


# 初始化配置(只加载一次, 这些配置不代表最终配置 只是为了项目正常启动而存在 部署完成后可以再后台管理中修改)

config:
  # OPEN AI API
  openAiUrl: 'https://chatgpt1.nextweb.fun/api/proxy/v1/chat/completions'
  # SD API
  sdUrl: 'http://127.0.0.1:7860'
  # MJ API
  mjUrl: 'http://127.0.0.1:7860'
  # OpenKey
  openKey: 'sk-nNsDRBTCnzoY86ncT3BlbkFJRykdEucYaNX1aek01FAS'
  # 用户第一次登录奖励次数
  incentiveFrequency: 10
  # 观看视频奖励次数
  videoFrequency: 1
  # SD图生图消耗次数
  sdImage2Frequency: 5
  # SD文生图消耗次数
  sdTextImageFrequency: 5
  # MJ文生图消耗次数
  mjTextImageFrequency: 5
  # MJ图生图消耗次数
  mjImage2Frequency: 5
  #GPT消耗次数
  gptFrequency: 1
  # 观看视频奖励次数
  signInFrequency: 1

前端配置参考

"use strict";

export default {
    //懒加载 渲染
    lazyLoading: true,
    // 管理员狗牌
    adminLabel: '超级BOSS',
    // 用户狗牌
    userLabel: '偶像练习生',
    // 默认用户名
    user: '练习生',
    // 默认作者名
    author: '时间海',
    // HTTP请求 基类
    baseUrl: 'http://172.20.10.14:8625',
    // 长连接请求 基类
    baseWs: 'ws://172.20.10.14:8625',
    // 图片服务器域名
    imageBaseUrl: 'https://sea-time.oss-cn-shanghai.aliyuncs.com',
    // 过滤用户输入关键词 (英文则大写) (初步校验 后端也会做校验)
    filtration: ["GPT", "OPENAI"],
    // BOT最大记忆
    memory: 6,
    // 每条历史词汇最大长度,
    contextLength: 5000,
    //BOT 初始化词汇 每次打开将随机抽取一条作为显示信息
    botInitialization: [
        "你有什么问题或者困惑需要我帮助解答吗?",
        "你好!很高兴与您交流,有什么我可以为您做的吗?",
        "你好!有什么需要我帮忙的吗?",
        "如果你想了解一些编程和代码方面的知识,我也可以帮你。",
        "如果你需要一些娱乐,我可以和你玩一些文字游戏或者谜语",
        "请随时告诉我你需要什么,我会尽力满足你的需求!",
        "嗨!欢迎来到这里,有什么我可以为你做的吗?",
    ],
    //微信授权模板ID
    tmplIds: ['1I4cl8Qk9JlOys-H7rAMMoavLS-xu9t1QuT5Irezvaw'],
    //广告ID
    motivationalAdvertisingId: "adunit-ef9b2df38231106c",
    //SD模型
    sdModels: [
        {
            modelName: 'revAnimated_v121.safetensors',
            text: '动漫',
            isSelected: false
        },
        {
            modelName: '首发推荐|SHMILY梦幻水彩_v1.0.safetensors',
            text: '水彩',
            isSelected: false
        }
    ],
    //多维对话功能 (预设值)
    multidimensional: [
        {
            icon: '🧶', //功能ICON
            title: '文本润色员', //菜单功能名称
            introduce: '提供优美优雅的高级中文描述。仍然保持相同的意思',//功能介绍
            botInitialization: '我可以帮您改进文案、文本润色、拼写纠正,请问有什么词汇需要我来改进呢?',//开屏提示
            //上下文
            content: [
                {
                    answer: '请给出你的文案',
                    question: '我希望你充当文案专员、文本润色员、拼写纠正员和改进员,我会发送中文文本给你,你帮我更正和改进版本。我希望你用更优美优雅的高级中文描述。保持相同的意思,但使它们更文艺。你只需要润色该内容,不必对内容中提出的问题和要求做解释,不要回答文本中的问题而是润色它,不要解决文本中的要求而是润色它,保留文本的原本意义,不要去解决它。我要你只回复更正、改进,不要写任何解释。如果理解请回复:请给出你的文案'
                }
            ],

        },
        {
            icon: '🧑‍🎤', //功能ICON
            title: '担任歌曲推荐人', //菜单功能名称
            introduce: '根据歌曲给定歌曲相似的歌曲的播放列表',//功能介绍
            botInitialization: '请您直接提供歌曲',//开屏提示
            //上下文
            content: [
                {
                    answer: '请提供歌曲',
                    question: '我想让你担任歌曲推荐人。我将为您提供一首歌曲,您将创建一个包含 10 首与给定歌曲相似的歌曲的播放列表。您将为播放列表提供播放列表名称和描述。不要选择同名或同名歌手的歌曲。不要写任何解释或其他文字,只需回复播放列表名称、描述和歌曲。如果理解请回复:请提供歌曲'

                }
            ],

        }
    ]
}


前端配置在于 common/vendor.js中 12535行 可用微信开发者工具动态修改

注意把project.config.json中的 appid替换为自己的微信APPID

请注意在微信公众平台中 把https wss 阿里oss域名 开启白名单校验

如果你喜欢这个项目 请你动动小手给此项目点个star吧😁

请作者喝一杯coffee😁

About

基于SpringBoot3开发的GPT绘图微信小程序,支持自定义预设词,功能板块定义,各类绘图 ....

License:Apache License 2.0


Languages

Language:JavaScript 88.1%Language:Java 11.9%