跳至主要內容

🌟 GPT Terminal 项目

ltyzzz约 1427 字大约 5 分钟

GPT Terminal

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

特别鸣谢

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

简介

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

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

预览

gpt-terminal-demo
gpt-terminal-demo

专栏讲解(持续更新中)

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

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

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

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

功能概览

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

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

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

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

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

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

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

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

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

  • 终端用户登录与注册

快速开始

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

  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

    • 你需要将 Redis、MySQL 与 GPT 更改为你自己的配置
  4. 运行前端

    npm run dev
    
  5. 运行后端

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

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

项目技术栈

前端后端
Vue 3Node.js
Vite2Express
Ant Design Vue 3 组件库MySQL
Pinia 2 状态管理Sequelize
TypeScript 类型控制Redis
Eslint 代码规范控制
Prettier 美化代码
axios 网络请求
dayjs 时间处理
lodash 工具库
getopts 命令参数解析

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 模板文件保持一致)。

版本规划

各位敬请期待~

开源协议

Apache License Version 2.0 see http://www.apache.org/licenses/LICENSEopen in new window