diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..4f00efc8 --- /dev/null +++ b/LICENSE @@ -0,0 +1,75 @@ +版权所有(c)<2023> + +反996许可证版本1.0 + +在符合下列条件的情况下, +特此免费向任何得到本授权作品的副本(包括源代码、文件和/或相关内容,以下统称为“授权作品” +)的个人和法人实体授权:被授权个人或法人实体有权以任何目的处置授权作品,包括但不限于使 +用、复制,修改,衍生利用、散布,发布和再许可: + + +1. 个人或法人实体必须在许可作品的每个再散布或衍生副本上包含以上版权声明和本许可证,不 + 得自行修改。 +2. 个人或法人实体必须严格遵守与个人实际所在地或个人出生地或归化地、或法人实体注册地或 + 经营地(以较严格者为准)的司法管辖区所有适用的与劳动和就业相关法律、法规、规则和 + 标准。如果该司法管辖区没有此类法律、法规、规章和标准或其法律、法规、规章和标准不可 + 执行,则个人或法人实体必须遵守国际劳工标准的核心公约。 +3. 个人或法人不得以任何方式诱导或强迫其全职或兼职员工或其独立承包人以口头或书面形式同 + 意直接或间接限制、削弱或放弃其所拥有的,受相关与劳动和就业有关的法律、法规、规则和 + 标准保护的权利或补救措施,无论该等书面或口头协议是否被该司法管辖区的法律所承认,该 + 等个人或法人实体也不得以任何方法限制其雇员或独立承包人向版权持有人或监督许可证合规 + 情况的有关当局报告或投诉上述违反许可证的行为的权利。 + +该授权作品是"按原样"提供,不做任何明示或暗示的保证,包括但不限于对适销性、特定用途适用 +性和非侵权性的保证。在任何情况下,无论是在合同诉讼、侵权诉讼或其他诉讼中,版权持有人均 +不承担因本软件或本软件的使用或其他交易而产生、引起或与之相关的任何索赔、损害或其他责任。 + + +------------------------- ENGLISH ------------------------------ + + +Copyright (c) <2023> + +Anti 996 License Version 1.0 (Draft) + +Permission is hereby granted to any individual or legal entity obtaining a copy +of this licensed work (including the source code, documentation and/or related +items, hereinafter collectively referred to as the "licensed work"), free of +charge, to deal with the licensed work for any purpose, including without +limitation, the rights to use, reproduce, modify, prepare derivative works of, +publish, distribute and sublicense the licensed work, subject to the following +conditions: + +1. The individual or the legal entity must conspicuously display, without + modification, this License on each redistributed or derivative copy of the + Licensed Work. + +2. The individual or the legal entity must strictly comply with all applicable + laws, regulations, rules and standards of the jurisdiction relating to + labor and employment where the individual is physically located or where + the individual was born or naturalized; or where the legal entity is + registered or is operating (whichever is stricter). In case that the + jurisdiction has no such laws, regulations, rules and standards or its + laws, regulations, rules and standards are unenforceable, the individual + or the legal entity are required to comply with Core International Labor + Standards. + +3. The individual or the legal entity shall not induce or force its + employee(s), whether full-time or part-time, or its independent + contractor(s), in any methods, to agree in oral or written form, + to directly or indirectly restrict, weaken or relinquish his or + her rights or remedies under such laws, regulations, rules and + standards relating to labor and employment as mentioned above, + no matter whether such written or oral agreement are enforceable + under the laws of the said jurisdiction, nor shall such individual + or the legal entity limit, in any methods, the rights of its employee(s) + or independent contractor(s) from reporting or complaining to the copyright + holder or relevant authorities monitoring the compliance of the license + about its violation(s) of the said license. + +THE LICENSED WORK IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT +HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN ANY WAY CONNECTION +WITH THE LICENSED WORK OR THE USE OR OTHER DEALINGS IN THE LICENSED WORK. \ No newline at end of file diff --git a/README.md b/README.md index ca683240..62a06432 100644 --- a/README.md +++ b/README.md @@ -1,89 +1,55 @@ -This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). +
+预览 -## Getting Started +

ChatGPT Next Web

-First, run the development server: +一键免费部署你的私人 ChatGPT 网页应用。 -```bash -npm run dev -# or -yarn dev -# or -pnpm dev -``` +[开始试用](https://chat-gpt-next-web.vercel.app/) / [反馈问题](https://github.com/Yidadaa/ChatGPT-Next-Web/issues) -Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. +[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2FYidadaa%2FChatGPT-Next-Web&env=OPENAI_API_KEY) -You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. +[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/Yidadaa/ChatGPT-Next-Web) -[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.ts`. +
-The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages. +## 主要功能 -This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font. +- 在 1 分钟内使用 Vercel 的 Serverless 能力**免费一键部署** +- 精心设计的 UI,同时兼容电脑和手机访问的响应式设计,支持深色模式 +- 极致优化的首屏加载速度(~85kb) +- 自动压缩历史记录,在节省 Token 的同时支持超长对话记录 +- 一键导出聊天记录,完整的 Markdown 支持 +- 你拥有自己的域名?好上加好,绑定后即可在任何地方**无障碍**快速访问 -## Learn More +## 使用 -To learn more about Next.js, take a look at the following resources: +1. 准备好你的 [OpenAI API Key](https://platform.openai.com/account/api-keys); +2. 点击右侧按钮开始部署: + [![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2FYidadaa%2FChatGPT-Next-Web&env=OPENAI_API_KEY) +3. 部署完毕后,即可开始使用; +4. (可选)[绑定自定义域名](https://vercel.com/docs/concepts/projects/domains/add-a-domain)。 -- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. -- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. +## 开发 -You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! +点击下方按钮,开始二次开发: -## Deploy on Vercel +[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/Yidadaa/ChatGPT-Next-Web) -The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. +## 截图 -Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. +
主界面
-## build log -### raw -Route (app) Size First Load JS -┌ ○ / 449 kB 517 kB -├ λ /api/chat 0 B 0 B -└ ℇ /api/chat-stream 0 B 0 B -+ First Load JS shared by all 68.8 kB - ├ chunks/455-0a9fbb1180548580.js 66.4 kB - ├ chunks/main-app-19b36671ec6a549e.js 204 B - └ chunks/webpack-dd78d1150b6f4f4a.js 2.15 kB +![主界面](./static/cover.png) -Route (pages) Size First Load JS -─ ○ /404 179 B 84.6 kB -+ First Load JS shared by all 84.4 kB - ├ chunks/main-303e01cd7449e20b.js 82.1 kB - ├ chunks/pages/_app-907dedfd0e4177db.js 192 B +
设置页
-### dynamic markdown -Route (app) Size First Load JS -┌ ○ / 64.2 kB 133 kB -├ λ /api/chat 0 B 0 B -└ ℇ /api/chat-stream 0 B 0 B -+ First Load JS shared by all 68.9 kB - ├ chunks/455-0a9fbb1180548580.js 66.4 kB - ├ chunks/main-app-19b36671ec6a549e.js 204 B - └ chunks/webpack-3b3874680bea117d.js 2.26 kB +![设置](./static/settings.png) -Route (pages) Size First Load JS -─ ○ /404 179 B 84.7 kB -+ First Load JS shared by all 84.5 kB - ├ chunks/main-303e01cd7449e20b.js 82.1 kB - ├ chunks/pages/_app-907dedfd0e4177db.js 192 B - └ chunks/webpack-3b3874680bea117d.js 2.26 kB +
更多展示
-### dynamic emoji -Route (app) Size First Load JS -┌ ○ / 16.1 kB 85 kB -├ λ /api/chat 0 B 0 B -└ ℇ /api/chat-stream 0 B 0 B -+ First Load JS shared by all 68.9 kB - ├ chunks/455-0a9fbb1180548580.js 66.4 kB - ├ chunks/main-app-19b36671ec6a549e.js 204 B - └ chunks/webpack-2bfaffd64d73d7a1.js 2.33 kB +![更多展示](./static/more.png) -Route (pages) Size First Load JS -─ ○ /404 179 B 84.8 kB -+ First Load JS shared by all 84.6 kB - ├ chunks/main-303e01cd7449e20b.js 82.1 kB - ├ chunks/pages/_app-907dedfd0e4177db.js 192 B - └ chunks/webpack-2bfaffd64d73d7a1.js 2.33 kB \ No newline at end of file +## LICENSE + +- [Anti 996 License](https://github.com/kattgu7/Anti-996-License/blob/master/LICENSE_CN_EN) diff --git a/app/components/home.tsx b/app/components/home.tsx index 569c38ea..188374f2 100644 --- a/app/components/home.tsx +++ b/app/components/home.tsx @@ -273,7 +273,7 @@ export function Chat(props: { showSideBar?: () => void }) { className="markdown-body" onContextMenu={(e) => { if (selectOrCopy(e.currentTarget, message.content)) { - e.preventDefault() + e.preventDefault(); } }} > @@ -463,7 +463,10 @@ export function Home() { />
- + } />
diff --git a/static/cover.png b/static/cover.png new file mode 100644 index 00000000..fb8c5a41 Binary files /dev/null and b/static/cover.png differ diff --git a/static/more.png b/static/more.png new file mode 100644 index 00000000..4b57ea4b Binary files /dev/null and b/static/more.png differ diff --git a/static/settings.png b/static/settings.png new file mode 100644 index 00000000..9ceaea8e Binary files /dev/null and b/static/settings.png differ