Giter Club home page Giter Club logo

opengpts's Introduction

OpenGPTs

OpenGPTs is an open-source browser plugin that supports voice input, function calls, multiple models, multimodality, batch conversation, and can be invoked on the web or through an API key.
We hope that this plugin can help you use GPT more efficiently and even replace you in controlling web pages to achieve various robot automation (RPA) operations.

English · 简体中文 · Changelog · Report Bug · Request Feature



Share OpenGPTs Repository

👋🏻 Getting Started and Introduction

There are not many open-source GPT browser plugins, but I think browser plugins are a good form for AI at present, so we decided to develop one.

After using many AI plugins, such as Sider, Mocia, ChatALL, ChatGPTBox, GPTs Store, etc., I hope to write a plugin that can combine the strengths of various plugins and extract the essence. -ChatPaper team

  • Download: Plugin Link
  • Issues: If you have any requirements or questions, you can ask on issues, and we will actively deal with and solve them.
  • Development: 👏🏻 Welcome any friends to participate, you can check here for development information.
  • Contact: Please join our QQ group: 860859251, email: [email protected]

Ambition: Our ultimate goal is to use this plugin as a platform 📈 and treat each GPT as an Agent 🤖 to automate various business processes, maximize everyone's productivity 🚀, and help everyone to "fish" better! Haha! 😄

If this project is helpful to you, welcome to click the Star🌟 above, welcome to repost, this is the greatest support to us! 🙌

If you have any questions, please feel free to raise an issue💬. If you have new features, welcome everyone to submit a PR. You are also welcome to join our developer group: 860859251.👩‍💻

Why do OpenGPTs? 🤔💡

1. Some thoughts on AI applications
  • Web pages have limited permissions on browsers, but plugins can modify any page, so I think plugins are a great form for AI products.
  • I am discussing repetitive work. As a developer, every time I open F12, it is repetitive work~, at this time I will fantasize about whether AI can solve some things for me.
    • Can GPT help me handle network requests to facilitate better data crawling?
    • Can GPT manipulate the DOM to help me perform some fixed operations, such as automatically tweeting, automatically liking B站 (bilibili) videos? Or meet various strange requirements of people (the key is to let GPT generate these scripts)
    • In the era of AIGC, can there be an AI version of the plugin system with various plugins on it, such as ad blocking, or even changing the appearance of web pages, so that everyone has a unique website.
2. About wrapping ChatGPT (products like ChatGPT)

Wrapping is not shameful, and wrapping to the extreme is awesome.

ChatGPT is very powerful, but I think the product interaction of ChatGPT can be better, and sometimes there are many places to complain. Instead of waiting for OpenAI to update, it is better to do it yourself and meet your own requirements. Combined with plugins, various effects can be achieved.

  • Screenshots can be directly submitted instead of saving images and submitting them to the web page.
  • Multiple GPTs can converse simultaneously, without having to switch one by one.
  • Is it possible for @ function to share dialogues between GPTs, call each other, instead of pasting the output from one GPT to the next?
  • Multiple windows at the same time, such as having 6 windows on a webpage, instead of only one fixed window.
  • Automatic speech playback for dialogues, with selectable voice tones.
  • Direct integration of multiple large models, including Claude2 GPT3.5, Gemini pro, can be accessed on the web.

There are many other useful features.

2. ✨ Highlight Features:

2.1 GPTs Module

Feature Description Done
Sync All Automatically sync all data from the official GPTs website: dialogues, favorites, users
Batch Manage Batch manage all your GPTs: custom sort; batch delete; query search; publish to store with one click; copy to clipboard
One Click Input title, generate GPTs with one click, replicate official website functions, but with custom prompts! (upcoming API)
One Click Replicate For your own existing GPTs, one click to replicate into different languages or fine-tune other versions by adjusting the language.
Batch Delete GPT Dialogues We have provided a batch delete feature for OpenAI chat dialogues, inspired by chatGPTBox. This feature is a major pain point!
Multi-GPTs Calls Input once, make multiple model calls simultaneously, quickly compare results.
Leaderboard Inspired by gpts-works, we hope to provide a more comprehensive and accurate leaderboard for users to better choose and promote their own GPTs.
Better UI Provide a more attractive UI and more user-friendly interaction mode

2.2 Chat Module

Feature Description Done
Multi-GPTs Chat Chat with multiple GPT models at the same time, no need to switch one by one, improve interaction efficiency
@Any GPTs, Model GPTs and models can share conversation content, call and share information quickly, avoid duplicate input
Multiple Windows Open multiple windows in one interface, perform multiple tasks simultaneously, improve efficiency
Web-based ChatGPT Calling Allow the plugin to directly call ChatGPT, GPT3.5, GPT4.0 on the web.
ChatGPT API Key Calling Use API key to call GPT3.5, GPT4.0
Chat History Management Provide chat history management and search functionality
/Presets Provide quick operations and custom preset options
Generate Flowchart (mermaid) Support outputting flowcharts
Speech Playback Convert conversation content to speech and play automatically
Submit Screenshots Submit screenshots directly in the chat interface without the need to save and upload first
Web-based Claude Calling Allow the plugin to directly call Claude on the web
Web-based Gemini Pro Calling Allow the plugin to directly call Gemini Pro on the web
Flowchart Generation Automatically generate visual content such as flowcharts or concept maps from descriptions
Function Calling Directly call specific functions or services through the command line
Multi-modal Input Support text, image, audio, and other input modes

2.3 UI Common

Feature Description Done
Dark/Light Mode Provide dark/light mode for convenient use in different environments
Multi-language Support Provide multi-language support for users in different language environments

2.4 Knowledge Base Management, Folder System Modal

Not available

2.5 RPA Automatic Script Execution, Agent WorkFlow

Not available

Simple Installation Steps:

  • Open the OpenAI website and log in to your OpenAI account to have a conversation with GPTs. Please note that you need Plus permissions for this.
  • Download the browser compression package.
  • Unzip it to your local machine.
  • Open the browser's plugin management page.
  • Import the extracted folder.
  • Open the plugin and select the corresponding functionality.

Installation video:

Specific Function Introduction:

One-click synchronization:

One-click synchronization:

If you only have a few GPTs, you may not feel any inconvenience. But if you have more than ten GPTs to maintain, the interaction on the official website can be annoying. When you open mygpts, you can only see ten of them and you cannot search. You can only click "Load More" one by one.

As a manager, we provide the first function of GPTs synchronization for you to facilitate batch management later.

The specific steps are as follows:

  1. Log in to your esteemed OpenAI Plus account and click on our plugin, then click "Sync Data from ChatGPT".
  2. Wait for the data synchronization to complete.
  3. If you want to temporarily interrupt the synchronization, you can close the sidebar and then reopen it.

Demo

Batch management of all GPTs:

Batch management of all GPTs:

Alright, this function is to solve the pain points we mentioned earlier, such as how to manage a large number of GPTs in batches.

Below, we will explain in detail several functions: custom sorting, batch deletion, query search, one-click publication to the store, and one-click copying to the clipboard (title + summary + link).

Custom sorting:

Custom sorting:

Currently, the evaluation of GPTs on the official website and some leaderboards mainly depends on the number of conversations. For GPTs creators, the number of conversations is definitely an important indicator they care about the most. However, if your most popular GPTs was created a long time ago, it can be difficult to find when you need to maintain it. This is where custom sorting comes in handy:

  1. Choose the sorting metric, for example, "Sort by chat".
  2. Choose the sorting order, for example, "High to low".

This way, you can happily see how many people have used your GPTs and which ones are more popular.

Batch deletion: Use with caution!

Batch deletion: Use with caution!

If you have created a bunch of GPTs that are not useful, especially during testing and you need to quickly delete them, we provide the function of batch deletion. However, this function currently does not have a recycle bin option. Make sure not to accidentally delete important GPTs!

  1. Choose a suitable sorting, such as "Sort by chat" and then "Low to high", or "Sort by creation" and then "High to low".
  2. Select the GPTs you want to delete.
  3. Swipe to the top and select "Delete". Make sure that it is deletable, as it cannot be undone! OpenAI will not retain any records either!
Query search:

Query search:

Introduction:

This is a simple keyword search tool, which should be very convenient.

Below is the effect of the search:

One-click Publish to Store;

One-click Publish to Store;

By default, the creation of GPTs is for personal use, i.e. "only me". However, if you want to publish it to OpenAI's store or to our OpenGPTs leaderboard for better promotion, you can do so with just one click.

  1. Select a "private" GPTs
  2. Click the cloud icon on the right to publish to OpenAI GPTs store
  3. Click the airplane icon in the middle to publish to our OpenGPTs store
One-click Share with Amazing Friends

One-click Share with Amazing Friends

We don't know yet who foreign friends usually share with, Twitter? Discord? But in China, friends usually share their well-trained GPTs directly with amazing friends. Compared to OpenAI's standalone URL copy, our one-click sharing feature eliminates multiple copying and pasting, allowing you to paste the "title + description + link" all at once, making it simple and hassle-free.

One-click Generate GPTs:

One-click Generate GPTs:

This is a hidden, game-changing feature. It looks a bit simple and rough right now, but we have already automated the process of creating GPTs in batches. Imaginative users should know what this feature means when OpenAI starts giving rebates to GPTs creators.

Haha, let's not make any promises for now. Let's first describe the existing features briefly: 0. You need to open any GPTs first for a conversation, otherwise this feature cannot automatically provide logo drawing!

  1. Click on "One-click Create GPTs"
  2. Enter the desired features of your GPTs, for example: "Catgirl GPTs"
  3. Choose the additional abilities your GPTs needs, such as internet connection, drawing, code interpreter (default: first two)
  4. Click "Confirm" and wait for the generation, which takes about 2 minutes to create a GPTs due to the drawing part.
  5. Once the generation is complete, click on the OpenAI icon on the left to view the generated result page.
  6. If the difference is not significant, you can publish it directly; if there are some minor issues, you can manually modify it (currently there is a small problem with "start").
  7. After making the modifications, it is only visible to yourself by default. You can choose the upload icon on the right to make it public in the OpenAI store.
  8. Automatic creation of files and actions is currently not supported.
One-click Replicate to Other Languages

One-click Replicate to Other Languages

It is well known that there are many languages in the world. If you create a very popular GPTs, you definitely want to make it available to native speakers of other languages. Therefore, we provide the "One-click Replicate to Other Languages" feature:

  1. Click on the "文/A" icon
  2. Select the target language
  3. Click "Confirm" and wait for about ten seconds.

One-Click Calling of GPTs Dialogue

Reference Video: 【开源,免费,白嫖ChatGPT:6倍效率提供的AI插件】

Privacy:

All data is saved locally on the user's device. No data will be uploaded unless the user manually submits GPTs links to the leaderboard.

Technology Used

Development Guide:

Please refer to the Setup Document for detailed instructions.

Installation

Copy the project to a specified directory:

git clone [email protected]:hzeyuan/OpenGPTS.git

Install dependencies in the root directory:

pnpm install

Plugin Development

npm run dev:ext

For any doubts related to this, please refer to the plasmo docs

If the build is successful, you will find a directory named chrome-mv3-dev in apps/extension/build. Drag and drop this directory into the Extensions page in Chrome.

Now you can start your development!

Website Development

npm run dev:web

Todo List

  • Automatically optimize prompts
  • One-Click Calling of GPTs Dialogue
  • Multiple GPTs Dialogues
  • Development tutorial
  • Option to hide individual input boxes when batch dialogues are selected
  • Multiple dialog box inputs and outputs can be orchestrated.
  • Select the GPTs that can be mentioned in the GPTs management interface, and then input "@" in the dialog box to select the desired GPTs for the conversation.

Credits:

Special thanks to the following projects and contributors:

Thanks to all contributors for their efforts

  • hzeyuan: Responsible for 90% of the development work, the main initiator of the project.
  • kaixindelele: Responsible for part of the product design, testing, project PR, a few development work, co-initiator of the project.

Starchart

Star History Chart

Project Reference:

Please cite the repository if you use the data or code in this repository.

@misc{OpenGPTs,
  author={Zeyuan Huang, Yongle Luo},
  title = {OpenGPTs: A Powerful GPTs manager, Multi-GPTs Intelligent Agent Platform.},
  year = {2024},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/hzeyuan/OpenGPTs}},
}

License

GPL-3.0 License

opengpts's People

Contributors

hzeyuan avatar kaixindelele avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

opengpts's Issues

Feature Request: GPTs收藏功能

GPTs收藏功能:

  1. 新增收藏页面:可以从自己的GPTs中添加,可以通过GPTs链接手动添加别人的。
  2. 对话时,可以搜索,并调用OpenGPTs网站上所有收录了GPTs;并且将对话过的GPTs自动添加到收藏页;
  3. 选择自己GPTs的时候,注意只展示公开的。

web的信息同步:

  1. web的文本输入,需要手动去除一些空字符和换行。
  2. 连续对话时,调用不同的GPTs或者模型,需要创建新的new chat,没有手动修改title,可以统一修改为原title+GPTs名

GPTs同步报错:

  1. @遇到类似报错,自动清空对应的cookie,然后提醒用户重新登录openai账户。 @hzeyuan

Feature Request: Toggleable All-in-One Input Box

Issue Description:
Feature Overview:
I propose the addition of a new feature to enhance the user interface - an all-in-one input box with a toggle function. This feature aims to optimize the layout display space and improve user experience.

Detailed Explanation:

All-in-One Input Box: Integrate multiple functionalities into a single, streamlined input box.
Toggle Button: Add a button on the left side of the input box. This button would serve to show or hide the input box as needed.
Purpose: The primary goal is to increase the layout display space. By allowing the input box to be hidden, we can provide users with more screen real estate for other elements of the UI.
Use Case: This feature would be particularly useful in scenarios where screen space is limited, such as mobile devices, or when the user needs to focus on other aspects of the application.
Potential Benefits:

Improved User Interface: Cleaner and more flexible UI.
Enhanced User Experience: Users have control over their screen space, leading to a more tailored and efficient interaction.
Versatility: This feature can be beneficial in various contexts, especially in applications with complex interfaces.
I believe this feature could significantly contribute to the usability and aesthetic of our application. Looking forward to feedback and suggestions!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.