noontiger / gpt-web-terminal

用程序员的方式,打开GPT!GPT Terminal 是一个让你在终端上与 GPT 进行自由对话的平台。在这里,你可以更加轻易地实现更多定制化的功能,拥有专属于你的 GPT 终端!

Home Page:https://gpt-web-terminal.vercel.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GPT Terminal

✨ 用程序员的方式,打开GPT!定制专属于你的 GPT 终端 ✨

简介

GPT Terminal 是一个让你在终端上与 GPT 进行自由对话的平台。

在这里,你可以更加轻易地实现更多定制化的功能,拥有专属于你的 GPT 终端!

项目基于 Vue3 与 Express 实现

预览

演示地址:https://gpt-web-terminal.vercel.app/#/ (后端内置 GPT 服务,欢迎免费白嫖,额度用完我再更新!)

  • ⚠️ 注意:由于后端未从 http 升级为 https,控制台会报错 Mixed Content,请麻烦手动取消一下安全限制!

    image

gpt-terminal-demo

专栏讲解(持续更新中)

耗时一下午,我实现了 GPT Terminal,真正拥有了专属于我的 GPT 终端!

如何用 GPT 在 5 分钟内 ”调教“ 出一个专属于你的 ”小黑子“?

如何丝滑实现 GPT 打字机流式回复?Server-Sent Events!

我是如何让我的 GPT Terminal “长记性” 的?还是老配方!

一个合格的类 GPT 应用需要具备什么?一文带你打通 GPT 产品功能!

开发一个 ChatGPT 真的只是当 "接口侠" 吗?GPT Terminal 细节分享!

如何借助于 OpenAI 以命令的方式在 GPT 终端上画一只 “坤”?

不满足当 ChatGPT “接口侠”?轻松可视化 Fine-tuning 训练你的模型!

耗时一下午,我终于上线了我的 GPT 终端!(内含详细部署方案记录)

功能概览

  • 支持命令行终端与 GPT 进行对话,我们程序员就是要用极客范儿的方式与 GPT 交流!

  • 支持已登陆用户 DIY GPT 角色,并持久化。与你的专属角色进行对话!

  • 支持 GPT 记忆历史对话并提供命令查询历史对话,给你的 GPT 长长记性~

  • 支持 GPT 市面使用最广泛的 Event Stream 技术,实现打字机效果~

  • 支持 GPT 回复内容以 Markdown 形式展现

  • 基于 GPT 的中英文翻译助手,地道翻译的最佳选择!

  • 基于 GPT 的命令行翻译助手,当你忘记 linux 命令时,就用它!

  • 基于 GPT 的 SQL-BOY,当你不知道如何写 SQL语句时,就用它!

  • 基本的终端命令,如查看历史命令、帮助手册、清屏等

  • 终端用户登录与注册

快速开始

你只需简单地了解如何使用 npm / MySQL,即可解锁全部功能!

  1. 将项目克隆到本地

    git clone https://github.com/ltyzzzxxx/gpt-web-terminal.git
  2. 进入项目目录,并分别安装前端与后端依赖

    cd gpt-web-terminal && npm install
    cd server && npm install
  3. 修改后端配置。配置文件位于 server/config/config.js

    • 你需要将 MySQL 与 GPT 更改为你自己的配置
  4. server/db/gpt_terminal.sql 导入 MySQL 数据库中

  5. 运行前端

    npm run dev
  6. 运行后端

    npm run start:dev
  7. 快速解锁命令用法 - 命令行中使用help命令查询使用方法

    # 查询全部命令帮助
    help
    
    # 查询具体命令帮助
    gpt -h
    gpt chat -h
    gpt role -h
    gpt history -h

GPT 网络与配置问题检测

通过 GPT Demo,检测你能否顺利请求到 Open AI,确保你网络通畅 且 API Key 可用

  1. 执行如下命令,进入 gpt-test-demo 文件夹,并安装依赖

    cd gpt-test-demo && npm install
  2. 在 index.js 文件中配置你的 API Key

    const configuration = new Configuration({
      apiKey: "",
    });
  3. 运行 index.js 文件

    node index.js

若顺利输出内容,则说明 API Key 有效且网络可访问。

image

如何"调教"属于你的 GPT 角色?

在执行如下步骤之前,请确保已经按照 快速开始 完成项目本地部署。

v1.3.x 版本指南

你仍然可以采用 v1.0.x 版本指南进行角色定制,但是旧指南是定义系统默认角色,而非用户专属角色

  1. 输入如下命令进行登录或注册。若未登录,需要先登录。

    # 用户登录
    user login <-u 用户名> <-p 密码>
    # 用户注册
    user register <-u 用户名> <-p 密码> <-e 邮箱>
  2. 输入如下命令进入角色 DIY 流程

    # k - 角色唯一标识,例如: default / cli / sql / ikun
    # n - 角色名,例如:命令行翻译助手、SQL-BOY
    # d - 角色描述,例如:将你的自然语言指令翻译为 Window/Unix 终端命令
    gpt diy <-k GPT 角色唯一标识> <-n GPT 角色名> <-d GPT 角色描述>

示例:定义一个可以帮人看病的医生

image

v1.0.x 版本指南

后续会逐步加入前端界面中自定义角色的功能

  1. 进入 server/src/thirdpart/gptApi/template 目录下,新建 markdown 文件。文件名为角色名。
    • 参照该目录下的其它模板文件
      • SYSTEM:对 GPT 角色的定义
      • USER - ASSISTANT:示范提示 GPT 在特定情况下该如何回答 - Prompt
  2. 进入 src/core/commands/gpt/subCommands/roles.ts 文件中,在数组中添加你之前定义的的角色名(与 markdown 模板文件保持一致)。

版本规划

  • 支持自定义 GPT 角色并与当前用户绑定,真正实现定制专属于你的 GPT 机器人~
  • 支持 GPT 记忆历史对话,给你的 GPT 长长记性~
  • 支持查询最近的 GPT 问答会话,使你与 GPT 的交流真正保存下来~
  • 支持用户在线设置与修改自己的 OpenAI Key
  • 支持 GPT 回复内容以 Markdown 形式展现
  • 前端首页展示艺术字体
  • 支持 GPT 回复内容 以打字机方式流式输出
  • 支持前端命令行高亮展示
  • 引入角色市场

各位敬请期待~

特别鸣谢

该项目灵感来源于 YuIndex,并最终将其改造为 「GPT Terminal」

开源协议

Apache License Version 2.0 see http://www.apache.org/licenses/LICENSE

About

用程序员的方式,打开GPT!GPT Terminal 是一个让你在终端上与 GPT 进行自由对话的平台。在这里,你可以更加轻易地实现更多定制化的功能,拥有专属于你的 GPT 终端!

https://gpt-web-terminal.vercel.app

License:Apache License 2.0


Languages

Language:TypeScript 37.9%Language:Vue 34.2%Language:JavaScript 27.2%Language:HTML 0.4%Language:Dockerfile 0.3%