V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yohole
V2EX  ›  程序员

可以推荐一下带用户体系的 chatGPT Web UI 的开源项目吗?

  •  
  •   yohole · 363 天前 · 8017 次点击
    这是一个创建于 363 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在 github 和 google 搜了很多,客户端的也有,web 的也有,体验了不少很棒的一键搭建的开源项目,但是发现他们基本都少了有独立的用户体系(关联 cookies 的也有,但是还不够稳)

    如果独立的用户体系,鉴权和保存历史记录会比较麻烦,所以不知道兄弟们可以推荐一下有这个设计的不,要求是 web 的?
    51 条回复    2023-04-02 20:16:37 +08:00
    ixinshang
        1
    ixinshang  
       363 天前
    这是打算二道贩子了?
    yohole
        2
    yohole  
    OP
       363 天前
    @ixinshang 我个人内心看不起这种副业或者商业变现,再说这个也赚不了多少钱,初衷只是想在外网部署一个给内部团队使用,免去大家账号和梯子的烦恼,可以愉快感受 ai 带来一些工作上的便利而已
    huijiewei
        3
    huijiewei  
       363 天前
    @yohole 内部团队固定几个账号不就好了。难道你们团队有几百号人? 那自己写一个嘛
    yohole
        4
    yohole  
    OP
       363 天前
    @huijiewei 这个最终使用的人数可能真的几百人,独立用户体系虽然说不是必须,但是后续可以解决很多问题,例如离职,历史记录等

    如果已经有前辈已经做过或者有开源的,当然是希望优先采用,然后支持哥几杯咖啡都是可以的
    yummysakko
        5
    yummysakko  
       363 天前
    搭个 telegram 机器人得了,后端接个 sqlite ,前端也免了
    kingfalse
        6
    kingfalse  
       363 天前 via Android
    xposed 写个机器人直接接到微信群里得了,我就是这么做的
    buruoyanyang
        7
    buruoyanyang  
       363 天前
    内部使用还控制啥权限,chatgpt-web 这种,限制一下访问源只能是公司的 ip ?
    zhaoxin
        8
    zhaoxin  
       363 天前
    直接买熊猫那个团队版呗。有 iOS 和 Mac 版。
    swulling
        9
    swulling  
       363 天前 via iPhone
    OpenCat 团队版
    yohole
        10
    yohole  
    OP
       363 天前
    @buruoyanyang 历史聊天记录没有办法关联用户持久化保存
    yohole
        11
    yohole  
    OP
       363 天前
    @swulling opencat 的 ios 和 mac 我个人都体验过了,这个限定平台和客户端了,还是没有 web 兼容性强
    winterx
        12
    winterx  
       363 天前
    楼主有推荐的 WEB UI 吗?
    对用户体系没有要求,就是总感觉 chatgpt-web 还是太简单了
    cveoy
        13
    cveoy  
       363 天前
    https://www.v2ex.com/t/927128#reply3
    用这个改改不就行了
    Leexiaobu
        14
    Leexiaobu  
       363 天前
    https://github.com/moeakwak/chatgpt-web-share 这个可以,但是目前只支持单个 access_token ,人数多了会排队
    yohole
        15
    yohole  
    OP
       363 天前   ❤️ 1
    jonathon523
        16
    jonathon523  
       363 天前 via Android
    如果是内部团队使用的话,我觉得可以采用 Cloudflare Zero Trust 配合贵司的 SSO ,这样可以做到控制访问权限。但是持久化存储我也没有什么办法。
    yohole
        17
    yohole  
    OP
       363 天前
    @jonathon523 先看下有没有过来人遇到过或者见到,看下有没有推荐的,如果实在没有,在目前的一些开源项目上改也不是问题,但是带独立的用户体系的应该是实际需求的
    CheckH
        18
    CheckH  
       363 天前
    我们现在用的这个,带用户体系,存 mongo
    CheckH
        19
    CheckH  
       363 天前   ❤️ 2
    daniel11
        20
    daniel11  
       363 天前
    我感觉团队需要一个这么个东西。我也正在给自己做一个带用户体系和有历史记录的
    yohole
        21
    yohole  
    OP
       363 天前
    @CheckH 这个有点符合我需求了,跑个 demo 看下
    twelvechen
        22
    twelvechen  
       363 天前
    感觉大部分的 web ui 项目都用了浏览器本地存储,如果不要求多设备同步,那么普通的 web ui 配一个 nginx 登录验证就行了?
    yohole
        23
    yohole  
    OP
       363 天前
    @twelvechen 用户体系其实不是必须的,但是如果有的话,可以兼顾多设备同步历史记录,用户管理 /鉴权,以及统计每个用户的使用量等等
    yinmin
        24
    yinmin  
       363 天前
    https://github.com/Yidadaa/ChatGPT-Next-Web 很好用。

    可以把 ChatGPT-Next-Web 部署到内网 IP ,仅提供给公司内部使用。

    如果需要用户体系,可以在 ChatGPT-Next-Web 前面加 nginx 反代,然后启用 nginx 的 auth_basic 认证模式。
    memeda123
        25
    memeda123  
       363 天前
    @yohole 不支持 ios15 ,有点郁闷
    yohole
        26
    yohole  
    OP
       363 天前 via iPhone
    @yinmin 这个项目和用法我是知道的,也是可能采取的方案之一
    yohole
        27
    yohole  
    OP
       363 天前 via iPhone
    @memeda123 什么情况?
    memeda123
        28
    memeda123  
       363 天前
    @yohole 我说那个 opencat 客户端不支持 ios15
    winglight2016
        29
    winglight2016  
       363 天前
    lz 这需求不嫌折腾吗?搭梯子不是人手必备?账号批发买一批能花几百块?离职了让他带走两块钱的账号又如何?

    花了大把的时间,早就不止这个成本了吧?
    yohole
        30
    yohole  
    OP
       363 天前
    @winglight2016 搭梯子这个事有时候不是成本问题,而是由一些梯子的其他因素的考虑,而且我这个内部使用,可能最开始的是技术团队,后面会延申到其他非技术的业务团队,总的用户来说可能要达好几百人
    echoless
        31
    echoless  
       363 天前 via Android
    https://github.com/swuecho/chat

    支持多用户注册使用 可以限流 但是还不够完善
    miv
        32
    miv  
       363 天前 via Android
    昨天搞了一天,终于把这一块方案搞完了。我的方法也是参考开源,实现了最低的成本方案。但是也是要梯子访问才行,实在不行还需要你自己加一个代理。实现了用户体系,还有其他特色功能,比如说用户套餐。需要的可以找我付费,联系方式查看我历史帖子。
    star7th
        33
    star7th  
       363 天前   ❤️ 1
    开源项目是别想了。你这是企业级场景的用法,不花钱白嫖是不可能的。一种比较可能的方式是用开源项目做二次开发。要么是你自己人投入开发,要么请人定制开发。
    yohole
        34
    yohole  
    OP
       363 天前 via iPhone
    @star7th 这个即使不是企业场景,也是有真实存在的需求,这个这个设计成独立的用户体系说大不大说小不小,很多现成的开源项目没有这一块的考虑是隐私问题,如果没有的话,二次开发也是可以的,只是秉着不重复造轮子才来咨询儿而已
    miv
        35
    miv  
       363 天前 via Android
    关于这个我要给老哥提个醒。这一个的话你要包装成产品使用的话,在国内是有很严重的问题的。除非你按照我那种方案搞到国外去,可以卖会员,或者说你自己内部使用都行。要在国内搞的话,公开给别人使用还是有被谈话的风险。还有其他一些技术细节,就不多说了。
    yohole
        36
    yohole  
    OP
       363 天前 via iPhone
    @miv 我的需求比你实现的简单,是打算开源项目内部部署,通过海外服务器反向代理中转,不涉及任何梯子,纯内部使用,找有用户体系的就是为了做好权限管理和使用监控,但也不是非必须
    yinmin
        37
    yinmin  
       363 天前 via iPhone
    @yohole 换一个思路,有没有考虑 bing chat ? bing chat 在 it 开发上比 gpt 差点,但是也能帮上很大用处的。内网做一个 sni proxy (只需要 bing.comwww.bing.com 2 个域名),然后内网 dns 服务器把 bing.comwww.bing.com 指向这个内网 ip ,也可以修改使用者 pc 的 hosts 文件,员工用自己的微软账户访问 bing chat 。
    yinmin
        38
    yinmin  
       363 天前 via iPhone
    @yohole bing chat 也可以作为自建 gpt 的一个备份,万一某天自建的 gpt 坏了,老板问起来,你还可以建议大家临时改用 bing chat
    yohole
        39
    yohole  
    OP
       363 天前 via iPhone
    @yinmin 因为涉及到到非技术部门的同事使用,所以我们尽量一次性把工作量和繁琐的操作挪到技术部署中,然后让所有用户打开 web ,使用提前初始化好的账号密码即可使用,无其他成本和额外操作,加上用户体系是为了限流,,鉴权,多设备同步历史纪录,目前的开源项目中已经有符合差不多需求的了,兜底方案我们二次开发也是行的
    LaurelHarmon
        40
    LaurelHarmon  
       363 天前 via Android
    既要又要,还不想自己动手改
    yohole
        41
    yohole  
    OP
       363 天前 via iPhone
    @LaurelHarmon 请问你是从哪里看出不想改?以及上文已经多次说到这个发帖的初衷,以及二次开发也是候选方案
    daweiba
        42
    daweiba  
       363 天前
    定制需求,定制开发就行了呗。本身没什么难度的事情。

    不要指望开源程序能满足定制需求。
    yohole
        43
    yohole  
    OP
       363 天前 via iPhone
    @daweiba 我一开始的理解是这个不算是特别需求,甚至很多人也遇到我这个问题,同时上面也有 v 友给出了不少开源的,发帖初衷是求推荐和交流,希望有同样的需求的少走弯路,而不是希望白嫖,我文中一开始就已经提到我体验过比较多的项目,已经有接近的的,对于二次开发也是有兜底方案
    daweiba
        44
    daweiba  
       362 天前
    @yohole
    主要是感觉没什么咨询的必要。

    即使是直接在 API 上直接开发,也就一周时间就能达到你的需求了。

    完全没必要二开的,还得看别人代码实现思路。
    yinmin
        45
    yinmin  
       362 天前
    @yohole
    二开有 2 种方式,一种是改源码,另一种是写 nginx 的 Lua 代码做前置控制。第二种方法是外挂,不改源码方便将来升级,实施其实也蛮简单的。

    ChatGPT Next 是一个很优秀的 gpt 壳,我们拿这个产品举例,Next 主体是 2 个 URI:界面的"/" 和 聊天的"/chat-stream"。

    使用 OpenResty(Nginx 扩展版本)写 Lua 代码:
    (1) 对 /预处理,进行权鉴;
    (2) 对 /chat-stream 预处理,可以将对话内容写入 mysql ,并判断如果达到当日聊天上限,直接返回错误信息。

    我估计在 chatgpt 的协助下,即使没写过 Lua 代码,一个资深程序员大概 1-2 天就能搞定。
    yohole
        46
    yohole  
    OP
       362 天前
    @daweiba 官方的 API 我看过好几个语言版本,后端确实不是问题,但是如果要做到像 https://github.com/Yidadaa/ChatGPT-Next-Web 这个项目的前端和体验,还是有点困难的,而且这个项目还在持续迭代各种新功能,如果自己搞,恐怕人力成本比较高的
    yohole
        47
    yohole  
    OP
       362 天前
    @yinmin 问题不大,我是开贴两天,看下有没有推荐,没有的话,就准备找一个人气最高,更新频率比较大的进行二次开发,
    ByteCat
        48
    ByteCat  
       362 天前
    我自己做了一个,有需要么,给朋友用的,不过没有打算开源,平台而已,现在做了个简单的 web 版
    needpp
        49
    needpp  
       362 天前
    没必要二开,做个代理层就好了
    daweiba
        50
    daweiba  
       362 天前
    @yohole
    这个难度不高吧,我说的一周,就是包含前后端。

    你这还是内部使用,我写的两三天就上线商用了。当然没有过分要求体验。
    xiaoyouqiang
        51
    xiaoyouqiang  
       361 天前
    github 上很多啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5374 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 07:34 · PVG 15:34 · LAX 00:34 · JFK 03:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.