草庐IT

盘点那些玩出花的 ChatGPT 开源项目

CUGGZ 2023-03-28 原文

最近 ChatGPT 非常火爆,铺天盖地都是 ChatGPT 的新闻。Github 上也出现了很多和 ChatGPT 相关的项目,并且 Star 数快速增长,下面就来盘点一下那些玩出花的 ChatGPT 开源项目!

浏览器扩展

ChatGPT for Google

ChatGPT for Google 是一个可以显示 ChatGPT 响应和 Google 搜索结果的浏览器扩展,支持 Chrome/Edge/Firefox,该扩展具有以下特性:

  • 支持所有主流的搜索引擎
  • 支持OpenAI官方API
  • 从插件弹窗里快速使用ChatGPT
  • 支持Markdown渲染
  • 支持代码高亮
  • 支持深色模式
  • 可自定义ChatGPT触发模式

Github(⭐️ 10k):https://github.com/wong2/chat-gpt-google-extension。

ChatGPT Chrome Extension

一个 Chrome 扩展,将 ChatGPT 添加到网络上的每个文本框!可以使用它来撰写推文、修改电子邮件、修复编码错误或者需要的任何其他内容,所有这些都无需离开所在的网站。包括一个插件系统,用于更好地控制 ChatGPT 行为和与第三方 API 交互的能力。

Github(⭐️ 2k):https://github.com/gragland/chatgpt-chrome-extension。

微信

WeChat Bot

一个基于 OpenAi ChatGPT + WeChaty 实现的微信机器人 ,可以用来帮助你自动回复微信消息,或者管理微信群/好友,检测僵尸好友等。

Github(⭐️ 2.2k):https://github.com/wangrongding/wechat-bot。

wechat-chatgpt

通过 wechaty 在微信上使用 ChatGPT,其支持在实用 OpenAI 账户,支持使用代理登录,支持与 docker 一起使用等。该工具简单易用,安装完依赖后只需要填写 OpenAI 账号密码和微信扫码即可使用。该项目的特性如下:

  • 通过 wechaty,将 ChatGPT 接入微信
  • 创建 OpenAI 的账户池
  • 支持通过代理登陆 OpenAI
  • 加入了持续对话的功能
  • 加入 Dockerfile
  • 发布到 Docker.hub
  • 通过 Railway 进行部署
  • 实现 OpenAI 账户池的热加载
  • 当 OpenAI 返回码为 429/503 时自动重试
Wechaty 是一个聊天机器人开源项目,提供了开发聊天机器人的 SDK,方便开发人员快速实现聊天机器人。通过 Wechat 可以获取到微信的聊天内容、联系人、群组、好友关系等信息,也可以实现创建群组、发送消息等功能。

Github(⭐️ 7.9k):https://github.com/fuergaosi233/wechat-chatgpt。

VS Code 插件

chatgpt-vscode

一个基于 ChatGPT 的 VSCode 扩展,允许使用非官方的 ChatGPT API 直接在编辑器中从 OpenAI 的 ChatGPT 生成问题响应。该插件具有以下特性:

  • 提出问题或使用编辑器中的代码片段,通过侧边栏的输入框查询 ChatGPT。
  • 在代码选择上点击右键,运行上下文菜单中的一个快捷方式。
  • 在编辑器旁边的面板上查看 ChatGPT 的回答。
  • 对回答提出后续问题(保持对话上下文)。
  • 通过点击 AI 的回应将代码片段插入到活动的编辑器中。

Github(⭐️ 3.4k):https://github.com/mpociot/chatgpt-vscode。

vscode-chatgpt

一个支持 ChatGPT 的 Visual Studio Code 扩展,该扩展可以与 ChatGPT 配对编程。其支持以 Markdown 格式一次导出所有对话历史记录,简单易用,只需登录 OpenAI,或者使用 OpenAI 的官方 GPT3 API。可以单击或使用键盘快捷键创建文件/项目或修复代码,提高开发效率。

Github(⭐️ 462k):https://github.com/gencay/vscode-chatgpt。

ChatGPT 中文版

一个 VSCode 插件,将 ChatGPT 集成在 VSCode 中,提高开发效率。目前支持的代码功能包括:

  • ChatGPT: 请输入问题:直接对 ChatGPT 提问。
  • ChatGPT: 添加测试代码:为当前选中的代码,或者当前文件添加测试代码。
  • ChatGPT: 代码为什么有问题(需要同时选中报错):询问代码出现的问题,需要将报错也一起选中。
  • ChatGPT: 优化这部分代码:对当前选中的代码,或者当前文件,进行优化或者重构。
  • ChatGPT: 解释这部分代码:对当前选中的代码,或者当前文件,进行解释。
  • ChatGPT: 执行自定义命令 1:添加一个对选中代码,或者当前文件执行的自定义命令 1,添加后可以直接执行。
  • ChatGPT: 执行自定义命令 2:添加一个对选中代码,或者当前文件执行的自定义命令 2,添加后可以直接执行。
执行了一个命令之后,侧边栏会弹出一个交互窗口:

  • 后续所有的问题、回答、异常。都会在这个窗口中显示。
  • 可以在交互窗口的底部输入框中,直接输入问题,询问 ChatGPT
  • 也可以执行前面的命令,对代码进行询问。

插件地址:https://marketplace.visualstudio.com/items?itemName=WhenSunset.chatgpt-china。

桌面应用

ChatGPT

ChatGPT 桌面应用,适用于 Mac、Windows 和 Linux 平台,该项目只是对 OpenAI ChatGPT 网站的一个包装器,不存在额外的数据收集和上传。该项目具有以下特性:

  • 跨平台: macOS、Linux、Windows
  • 导出 ChatGPT 聊天记录 (支持 PNG, PDF 和生成分享链接)
  • 主窗口和系统托盘支持自定义 URL,将任意网站包装成一个桌面应用
  • 应用自动升级通知
  • 丰富的快捷键
  • 系统托盘悬浮窗
  • 应用菜单功能强大
  • 支持斜杠命令及其配置
  • 自定义全局快捷键
  • 划词搜索

Github(⭐️ 14.3k):https://github.com/lencx/ChatGPT。

chatgpt-mac

一个简单的 Mac 应用,可让 ChatGPT 在菜单栏中显示,在 Mac 上可以使用 Cmd+Shift+G 快捷键来快速打开它,目前提供了 Mac 的 Arm64 和 Intel 版本的安装包。

Github(⭐️ 3.8k):https://github.com/vincelwt/chatgpt-mac。

chatgpt-desktop

基于 tauri 和 rust 的非官方开源 ChatGPT 桌面应用,适用于 mac、windows 和 linux 菜单栏。

Github(⭐️ 1.1k):https://github.com/sonnylazuardi/chatgpt-desktop。

其他

ChatGPT API

一个非官方 ChatGPT API 的 Node.js 客户端,主可以使用它来构建由 ChatGPT 支持的项目,例如聊天机器人、网站等。

Github(⭐️ 8.3k):https://github.com/transitive-bullshit/chatgpt-api。

ChatGPT Export and Share

一个用于将 ChatGPT 历史下载为 PNG、PDF 或创建可共享链接的 Chrome 扩展。目前支持 Chrome、Edge、Firefox 浏览器。

Github(⭐️ 656):https://github.com/liady/ChatGPT-pdf。

Access-chatGPT-in-Siri

Siri 接入ChatGPT指南,目前仅限 iPhone 端及其他支持快捷指令的 Apple 产品。

Github(⭐️ 281):https://github.com/Daiyimo/Access-chatGPT-in-Siri。

有关盘点那些玩出花的 ChatGPT 开源项目的更多相关文章

  1. ruby - 如何在 buildr 项目中使用 Ruby 代码? - 2

    如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby​​

  2. ruby-on-rails - 项目升级后 Pow 不会更改 ruby​​ 版本 - 2

    我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby​​版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby​​版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘

  3. ruby-on-rails - 新 Rails 项目 : 'bundle install' can't install rails in gemfile - 2

    我已经像这样安装了一个新的Rails项目:$railsnewsite它执行并到达:bundleinstall但是当它似乎尝试安装依赖项时我得到了这个错误Gem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcheckingforlibkern/OSAtomic.h...yescreatingMakefilemake"DESTDIR="cleanmake"DESTDIR="

  4. Ruby 从大范围中获取第 n 个项目 - 2

    假设我有这个范围:("aaaaa".."zzzzz")如何在不事先/每次生成整个项目的情况下从范围中获取第N个项目? 最佳答案 一种快速简便的方法:("aaaaa".."zzzzz").first(42).last#==>"aaabp"如果出于某种原因你不得不一遍又一遍地这样做,或者如果你需要避免为前N个元素构建中间数组,你可以这样写:moduleEnumerabledefskip(n)returnto_enum:skip,nunlessblock_given?each_with_indexdo|item,index|yieldit

  5. 亚特兰蒂斯的回声(中文版): chatGPT 的杰作 - 2

    英文版英文链接关注公众号在“亚特兰蒂斯的回声”中踏上一段难忘的冒险之旅,深入未知的海洋深处。足智多谋的考古学家AriaSeaborne偶然发现了一件古代神器,揭示了一张通往失落之城亚特兰蒂斯的隐藏地图。在她神秘的导师内森·兰登教授的指导和勇敢的冒险家亚历克斯·默瑟的帮助下,阿丽亚开始了一段危险的旅程,以揭开这座传说中城市的真相。他们的冒险之旅带领他们穿越险恶的大海、神秘的岛屿和充满陷阱和谜语的致命迷宫。随着Aria潜在的魔法能力的觉醒,她被睿智勇敢的QueenNeria的幻象所指引,她让她为即将到来的挑战做好准备。三人组揭开亚特兰蒂斯令人惊叹的隐藏文明,并了解到邪恶的巫师马拉卡勋爵试图利用其古

  6. ruby - 如何在 Ruby 字符串中插入项目符号字符? - 2

    我正在尝试创建一个带有项目符号字符的Ruby1.9.3字符串。str="•"+"helloworld"但是,当我输入它时,我收到有关非ASCII字符的语法错误。我该怎么做? 最佳答案 你可以把Unicode字符放在那里。str="\u2022"+"helloworld" 关于ruby-如何在Ruby字符串中插入项目符号字符?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1195

  7. ruby - 在 Rails 项目中测试本地版本的 gem - 2

    我的Rails站点使用了一个确实不是很好的gem。每次我需要做一些新的事情时,我最终不得不花费与向实际Rails项目添加代码一样多的时间来为gem添加功能。但我不介意,我将我的Gemfile设置为指向我的gem的GitHub分支(我尝试提交PR,但维护者似乎已经下台)。问题是我真的没有找到一种合理的方法来测试我添加到gem的新东西。在railsc中测试它会特别好,但我能想到的唯一方法是a)更改~/.rvm/gems/.../foo。rb,这看起来不对或者b)升级版本,推送到Github,然后运行​​bundleup,这除了耗时之外显然是一场灾难,因为我不确定我所做的promise是否正

  8. ruby - 合并 nanoc 中的项目 - 2

    我一直在尝试使用nanoc用于生成静态网站。我需要组织一个复杂的排列页面,我想让我的内容保持干燥。包含或合并的概念在nanoc系统中如何运作?我已阅读文档,但似乎找不到我想要的内容。例如:我如何获取两个部分内容项并将它们合并到一个新的内容项中。在staticmatic您可以在您的页面中执行以下操作。=partial('partials/shared/navigation')类似的约定在nanoc中如何运作? 最佳答案 这里是nanoc的作者。在nanoc中,部分是布局。因此,您可以拥有layouts/partials/shared/

  9. Ruby 和指南针路径与 yeoman 项目 - 2

    我安装了ruby​​、yeoman,当我运行我的项目时,出现了这个错误:Warning:Running"compass:dist"(compass)taskWarning:YouneedtohaveRubyandCompassinstalledthistasktowork.Moreinfo:https://github.com/gruUse--forcetocontinue.Use--forcetocontinue.我有进入可变session目标的路径,但它不起作用。谁能帮帮我? 最佳答案 我必须运行这个:geminstallcom

  10. node.js - 如何在 Travis CI 上的一个项目中运行 Node.js 和 Ruby 测试 - 2

    我有一个包含多个组件的存储库,其中大部分是用JavaScript(Node.js)编写的,一个是用Ruby(RubyonRails)编写的。我想要一个.travis.yml文件来触发一个运行每个组件的所有测试的构建。根据thisTravisCIGoogleGroupthread,目前还没有官方支持。我的目录结构是这样的:.├──构建服务器├──核心├──扩展├──网络应用├──流浪文件├──package.json├──.travis.yml└──生成文件我希望能够运行特定版本的Ruby(2.2.2)和Node.js(0.12.2)。我已经有了一个make目标,所以maketest在每

随机推荐