{"id":13582854,"url":"https://github.com/openai-rs/gptpal","last_synced_at":"2025-10-04T00:16:12.805Z","repository":{"id":150175060,"uuid":"619203859","full_name":"openai-rs/gptpal","owner":"openai-rs","description":"ChatGPT Desktop Application with prompts hint and voice control","archived":false,"fork":false,"pushed_at":"2023-04-07T05:49:46.000Z","size":7914,"stargazers_count":61,"open_issues_count":1,"forks_count":15,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-06T06:48:19.319Z","etag":null,"topics":["ai","chatgpt","desktop-app","gpt","gpt-3","gpt-api","linux","macos","openai","openai-api","rust","tauri","windows"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openai-rs.png","metadata":{"files":{"readme":"README-zh.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-03-26T15:18:00.000Z","updated_at":"2025-02-03T21:28:05.000Z","dependencies_parsed_at":"2023-04-08T09:33:02.264Z","dependency_job_id":null,"html_url":"https://github.com/openai-rs/gptpal","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/openai-rs/gptpal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai-rs%2Fgptpal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai-rs%2Fgptpal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai-rs%2Fgptpal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai-rs%2Fgptpal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openai-rs","download_url":"https://codeload.github.com/openai-rs/gptpal/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai-rs%2Fgptpal/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278245785,"owners_count":25955102,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-03T02:00:06.070Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","chatgpt","desktop-app","gpt","gpt-3","gpt-api","linux","macos","openai","openai-api","rust","tauri","windows"],"created_at":"2024-08-01T15:03:04.622Z","updated_at":"2025-10-04T00:16:12.764Z","avatar_url":"https://github.com/openai-rs.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg width=\"150px\" src=\"src/assets/openai-rs.png\" alt=\"openai-rs\"/\u003e\u003ch1 style=\"font-size: 5em; margin: 0;\"\u003eGPTPal\u003c/h1\u003e\n\n\u003c/div\u003e\n\n\u003cdiv align=center\u003e\n\nChat with GPTs just like chatting with your many friends.\n\n[English](README.md) | [中文](README-zh.md)\n\n\u003c/div\u003e\n\n![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/openai-rs/gptpal/release.yml?style=flat-square)\n![GitHub](https://img.shields.io/github/license/openai-rs/gptpal?style=flat-square)\n\u003cimg src=\"https://img.shields.io/badge/platform-MacOS%20%7C%20Windows%20%7C%20Linux-blue?style=flat-square\"/\u003e\n\n\nChatGPT API桌面版, 可同时与多个GPT聊天。可同步Prompts, 支持Prompt联想。本地存储对话记录。语音聊天。\n\n---\n\n\u003cdiv align=center\u003e\n\u003cimg width=\"745px\" height=\"540px\" src=\"src/assets/gptpal.gif\" /\u003e\n\u003c/div\u003e\n\n## Features\n\n\u003cdiv align=center\u003e\n\n| Feature | Progress | Description |\n| ------ | ------ | ------ |\n| 同时与多个GPT聊天 | ✔️ | 不需要等待, 与多个GPT同时聊天, 新消息提醒 |\n| 本地对话记录 | ✔️ | 对话记录保存在本地, 可清理 |\n| 同步更新 Prompts | ✔️ | 可从 [awesome-chatgpt-prompts](https://github.com/f/awesome-chatgpt-prompts#prompts) 仓库同步最新Prompts |\n| Prompts 输入提示 | ✔️ | 输入 '/' 提示相关Prompts, TAB选择 |\n| Markdown 渲染 | ✔️ | 渲染Markdown语法 |\n| 代码块渲染 | ✔️ | 高亮代码块, 支持复制代码 |\n| 记忆窗口状态 | ✔️ | 记忆上次关闭的窗口大小及位置, 自动恢复 |\n| API 配置 | ✔️ | 配置API的 key, organization, url, proxy |\n| Model 配置 | ✔️ | 选择模型, 配置模型请求参数 |\n| 代理配置 | ✔️ | 配置 API 使用的代理 |\n| 钉选 prompts | ✔️ | 自定义钉选 prompts |\n| 跨平台 | ✔️ | 支持 Windows, Macos, Linux |\n| 声音输入输出 | ✔️ | 语音聊天 |\n| 语言选择 | 🚧 | 选择回复语言 |\n| Token 优化 | 🚧 | 优化token使用 |\n| Token 用量 | 🚧 | 检查token用量 |\n| 主题 | 🚧 | 更改主题样式 |\n| 修改标题 | 🚧 | 修改对话主题 |\n| Prompts 管理 | 🚧 | Prompts crud, pin |\n\n\u003c/div\u003e\n\n## 使用\n\n1. [Releases](https://github.com/openai-rs/gptpal/releases) 页面下载最新安装包并安装\n\n2. 启动应用\n\n3. 点击左下角 `API settings` 按钮打开 API 配置.\n\n    a. 设置你的 [API key](https://platform.openai.com/account/api-keys), 如果想使用环境变量, 则系统配置 `OPENAI_API_KEY` 环境变量, 然后此处留空即可\n\n    b. 可选, 设置你的组织\n\n    c. 可选, 设置代理, 例: http://127.0.0.1:7890\n\n    d. 保存\n\n4. 与 GPT 聊天\n\n## Prompts\n\n1. 点击主页右下角 'sync' 按钮可从 [awesome-chatgpt-prompts](https://github.com/f/awesome-chatgpt-prompts/blob/main/README.md) 同步 prompts.\n\n2. 输入 `'/'` 即可获取相关prompts建议, 按 `Tab` 选择 prompt\n\n3. 点击 📌 可以钉选 prompt\n\n    \u003cimg width=\"745px\" height=\"540px\" src=\"src/assets/pin-prompt.png\" /\u003e\n\n## 语音聊天 [test]\n\n1. 勾选播放器 🔉 可朗读GPT的回复\n\n2. 选择语言, 然后勾选麦克风 🎤 可以语音输入, 说'发送'即可发送\n\n    \u003cimg width=\"745px\" height=\"540px\" src=\"src/assets/voice.png\" /\u003e\n\n## 配置模型\n\n点击左下角 `Model settings` 按钮可配置 max_tokens, temperature, presence_penalty 和 frequency_penalty.\n\n- max_tokens: 整数，可选，默认为 无穷大\n\n\u003e 生成聊天完成时的最大 token 数量。 输入 token 和生成的 token 的总长度受模型上下文长度的限制。\n\n- temperature: 数字，可选，默认为 1\n\n\u003e 随机性，介于 0 和 2 之间。较高的值（如 0.8）会使输出更加随机，而较低的值（如 0.2）则会使其更加聚焦和确定性。\n\n- presence_penalty: 数字，可选，默认为 0\n\n\u003e -2.0 到 2.0 之间的数字。正值会惩罚新 token，根据它们是否已出现在文本中，增加模型谈论新话题的可能性。\n\n- frequency_penalty: 数字，可选，默认为 0\n\n\u003e -2.0 到 2.0 之间的数字。正值会惩罚新 token，根据它们在文本中的现有频率，减少模型重复相同行的可能性。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenai-rs%2Fgptpal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenai-rs%2Fgptpal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenai-rs%2Fgptpal/lists"}