我做了一个优雅的 ChatGPT 前端 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
randomboi
V2EX    分享创造

我做了一个优雅的 ChatGPT 前端

  •  
  •   randomboi 2023-03-28 18:00:01 +08:00 7886 次点击
    这是一个创建于 937 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家好,我是 ChatKit.app 的开发者。

    ChatKit 是我不到一个月前开发的一个基于 OpenAI API Key 的 ChatGPT 前端,相比于官方的界面,它可以:

    • 数据保存在本地(同时正在开发同步的功能)
    • 显示数学公式
    • 显示颜色(二进制)
    • 生成 3 条后续问题
    • 语音输入(通过 Whisper API )
    • 文本转语音(可以收听 ChatGPT 的回答,基于 Azure text-to-speech )
    • 基于外部文档进行提问(通过添加 url 到聊天的上下文里,比如 pdf 和博客页面),这里有一个向 PDF 提问的例子: https://chatkit.app/s/9HTSfUyXttQWe8GdbL1Pq
    • 分享你的聊天记录(生成一个链接)

    我现在正在开发它的桌面应用,除了同样提供网页端的聊天界面以外,它还将可以像 GitHub Copilot 一样在任意 app 里补全文本。

    欢迎提供任何改进意见

    36 条回复    2023-10-03 22:43:52 +08:00
    Dream4U
        1
    Dream4U  
       2023-03-28 18:04:51 +08:00
    等客户端看看,目前的客户端没有很满意的,基本上 UI 都很糟糕,或者功能过于简单。
    randomboi
        2
    randomboi  
    OP
       2023-03-28 18:06:40 +08:00
    @Socrazy 有什么具体的需求吗,愿闻其详
    daniel11
        3
    daniel11  
       2023-03-28 18:11:07 +08:00
    客户端计划用什么开发
    randomboi
        4
    randomboi  
    OP
       2023-03-28 18:12:18 +08:00
    @daniel11 Tauri
    tool2d
        5
    tool2d  
       2023-03-28 18:20:19 +08:00
    光填一个 Key 也没用啊,又不能直连 ChatGPT 的 API ,还是要代理。这就弄的很复杂。

    我理想中的前端,就只是单纯的客户端,没有服务器转发。
    V2Micheal
        6
    V2Micheal  
       2023-03-28 18:20:27 +08:00 via Android
    不错啊,很期待客户端
    randomboi
        7
    randomboi  
    OP
       2023-03-28 18:24:39 +08:00 via iPhone
    @tool2d 不需要代理啊,除非你想免翻墙使用,以后会推出自带 api key 的服务供付费用户使用
    tool2d
        8
    tool2d  
       2023-03-28 18:27:50 +08:00
    @randomboi 我没看到有什么配置代理的地方,那就意味着填写完 KEY ,要访问 openapi ,还必须开全局代理,就很麻烦。

    如果聊天能通过你的服务器中转一下,就能轻松解决这个问题了。
    randomboi
        9
    randomboi  
    OP
       2023-03-28 18:45:42 +08:00
    @tool2d 右上角的设置可以更改: https://fastly.jsdelivr.net/gh/egoist-bot/images@main/uPic/rdCO85.png

    可以填入 https://openai-api.chatkit.app (基于 cloudflare worker 的代理) 不知道会不会导致 api key 被封,所以还没发布这个代理
    randomboi
        10
    randomboi  
    OP
       2023-03-28 18:50:57 +08:00
    这个代理的代码可见: https://github.com/egoist/openai-proxy
    christin
        11
    christin  
       2023-03-28 19:28:13 +08:00 via iPhone   2
    不太明白为什么都想做个客户端,网页端的不好吗?有很多应用都是网页上的,我在这个网页用完直接换另一个。
    Desiree
        12
    Desiree  
       2023-03-28 19:37:37 +08:00
    https://github.com/Bin-Huang/chatbox.git 这个更好用,你可以参考下
    randomboi
        13
    randomboi  
    OP
       2023-03-28 19:41:11 +08:00
    @Desiree 我这个没有 i18n 和 dark mode ,其他的都比这个更强了
    randomboi
        14
    randomboi  
    OP
       2023-03-28 19:43:00 +08:00
    @christin 主要是想实现补全 app 里的本文的功能,比如在 V2EX 的回复框里,通过快捷键或者复制实现 continue writing / fix grammar 等功能
    metalvest
        15
    metalvest  
       2023-03-28 20:02:35 +08:00 via Android
    @randomboi 他还有开源这个优势,要弯道超车很容易的
    pljhonglu
        16
    pljhonglu  
       2023-03-28 20:51:02 +08:00
    借楼发一下开源的客户端,同样基于 tauri ,也支持公式,语音在客户端感觉用处不大,最近在看 embedding
    https://github.com/pljhonglu/ChatGPT-T
    cc @Socrazy
    Mintyfrankie
        17
    Mintyfrankie  
       2023-03-29 00:08:14 +08:00
    试用了一下,已经付费支持了。是目前用过的综合体验最好的 GPT 客户端。提个小建议:可以考虑加入计费功能,尤其如果语音转文字功能也是用的 API Key 的话,每一次问询的费用就不是特别好预估。期待客户端!
    randomboi
        18
    randomboi  
    OP
       2023-03-29 00:13:52 +08:00
    @Mintyfrankie 谢谢,有这打算,语音转文字价格几乎和 ChatGPT 一样(文字转语音是免费的
    fresco
        19
    fresco  
       2023-03-29 00:25:37 +08:00 via iPhone
    UI 看起来不错,再等等客户端
    XnEnokq9vkvVq4
        20
    XnEnokq9vkvVq4  
       2023-03-29 03:27:06 +08:00
    挺有前途的,把多端同步做好了应该不错,我估计 openai 自己也在搞客户端。。
    YuTengjing
        21
    YuTengjing  
       2023-03-29 04:27:52 +08:00   1
    我在折扣到期前付费的,作者本身开源实力和影响力就不多说了,我在 twitter 提的几个建议很快就实操了,给作者点个赞。
    swulling
        22
    swulling  
       2023-03-29 07:20:39 +08:00 via iPhone
    @randomboi 小提醒

    不要使用第三方 proxy 。第三方 proxy 可以轻易记录 api key 。

    我自己部署了一个 cf workers proxy ,担心被人搜索到滥用加了一行,每次都会记录 api key 到 works kv 。
    yugakhan
        23
    yugakhan  
       2023-03-29 08:49:14 +08:00
    superliy
        24
    superliy  
       2023-03-29 09:04:13 +08:00
    完全语音聊天效果好吗
    randomboi
        25
    randomboi  
    OP
       2023-03-29 10:56:34 +08:00 via iPhone
    @swulling 确实,所以我提供了一个,你也可以自己部署
    chengxy
        26
    chengxy  
       2023-03-29 14:50:08 +08:00
    pwa 使用体验不错,期待客户端版本。
    Midqiu
        27
    Midqiu  
       2023-03-29 16:37:55 +08:00
    已经在用了,挺好用的。

    话说作者更新挺勤奋的,最近貌似每天都有更新。
    liusijun
        28
    liusijun  
       2023-03-29 17:05:58 +08:00
    @tool2d 那封号得封一大片,都是从一个代理出去的
    r00t7
        29
    r00t7  
       2023-03-29 22:58:46 +08:00
    docs 是什么程序 自己写的吗?
    randomboi
        30
    randomboi  
    OP
       2023-03-30 16:07:03 +08:00
    @r00t7 vitepress
    Hansah
        31
    Hansah  
       2023-03-31 10:16:22 +08:00
    颜色是 16 进制吧
    ihourui
        32
    ihourui  
       2023-03-31 16:51:32 +08:00
    @pljhonglu 老哥,你的这个 mac 版本点击关闭按钮是最小化
    pljhonglu
        33
    pljhonglu  
       2023-03-31 18:32:35 +08:00
    @ihourui #32 没找到关闭后后台保持的方法,所以就直接最小化了
    youisme
        34
    youisme  
       2023-04-08 21:43:47 +08:00
    @pljhonglu 老哥, 生成 3 条后续问题 这种是怎么实现的
    xdygxh
        35
    xdygxh  
       2023-06-28 15:46:50 +08:00
    发送消息有问题吧?一条消息带了 3 个 System role
    designwill
        36
    designwill  
       2023-10-03 22:43:52 +08:00
    不知道有没有打算支持 claude-api 的计划
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3188 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 00:19 PVG 08:19 LAX 17:19 JFK 20:19
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86