Skip to content
This repository has been archived by the owner on Sep 15, 2024. It is now read-only.

H0llyW00dzZ doing experimental while developing hahahaha #52

Draft
wants to merge 358 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
358 commits
Select commit Hold shift + click to select a range
e0808b4
Feat Router (WIP)
H0llyW00dzZ Oct 29, 2023
b75eb97
Fix Router
H0llyW00dzZ Oct 29, 2023
dedd5eb
Revert "Feat Router (WIP)"
H0llyW00dzZ Oct 30, 2023
4cab5c7
Updating Package [tupleson]
H0llyW00dzZ Oct 30, 2023
ee48d5a
Feat Client App [Tauri Api] [Dev Stuff]
H0llyW00dzZ Oct 30, 2023
8b63028
Chore(deps): Bump zod from 3.21.4 to 3.22.3 (#54)
dependabot[bot] Oct 29, 2023
40e374b
Docker Dev Environments
H0llyW00dzZ Nov 1, 2023
92fcf86
CloudSync [Golang Sync] [WIP]
H0llyW00dzZ Nov 1, 2023
f36723f
Revert "Fix ChatGPTApi [Open AI]"
H0llyW00dzZ Nov 2, 2023
f398712
Revert "Feat ChatGPTApi [Open AI]"
H0llyW00dzZ Nov 2, 2023
77de238
Feat Summarize [Chat Commands]
H0llyW00dzZ Nov 6, 2023
e3d3d6c
Feat & Fix Summarize [Notification Toast]
H0llyW00dzZ Nov 6, 2023
bbc5eed
Todo Summarize [Chat Commands]
H0llyW00dzZ Nov 6, 2023
95b5cba
Fix alias [Code Base] [Auth & Server]
H0llyW00dzZ Nov 6, 2023
d36181b
Fix & Feat DALL-E [Model]
H0llyW00dzZ Nov 6, 2023
d7106eb
Refactor DALL-E [Model]
H0llyW00dzZ Nov 7, 2023
baba3b3
Refactor Summarize Logic
H0llyW00dzZ Nov 7, 2023
adac55d
Feat Latest Models [GPT-4 Turbo]
H0llyW00dzZ Nov 7, 2023
e941640
Fix DALL-E [Model]
H0llyW00dzZ Nov 7, 2023
087595e
Feat Latest Models [GPT-4 Turbo]
H0llyW00dzZ Nov 7, 2023
09f1649
Feat Function DALL-E [Model]
H0llyW00dzZ Nov 8, 2023
12351c9
Chore [Config] DALL·E [Model]
H0llyW00dzZ Nov 8, 2023
ace37a6
Feat [Config] DALL·E [Model] Validation
H0llyW00dzZ Nov 8, 2023
88f49d5
Feat [Config] New GPT·4 & GPT·3.5 Turbo [Model] Ref : Yidadaa#3180
H0llyW00dzZ Nov 8, 2023
57496b6
Update Package [Tupleson]
H0llyW00dzZ Nov 8, 2023
40ec857
Chore Local Language DALL·E [Model] [Config]
H0llyW00dzZ Nov 8, 2023
dd4c8d0
Feat [Local Language] New GPT·4 & GPT·3.5 Turbo [Model]
H0llyW00dzZ Nov 8, 2023
8df6339
Revert "Feat Latest Models [GPT-4 Turbo]"
H0llyW00dzZ Nov 8, 2023
fb0ff77
Fix [Config] DALL·E [Model] Validation
H0llyW00dzZ Nov 8, 2023
dee42fa
Refactor DALL·E Models [Client LLM Api]
H0llyW00dzZ Nov 8, 2023
df03584
Refactor [Client LLM Api] [GPT·4 & GPT·3.5 Turbo]
H0llyW00dzZ Nov 8, 2023
0cbc1fc
Another Refactor [Client LLM Api] [GPT·4 & GPT·3.5 Turbo]
H0llyW00dzZ Nov 8, 2023
635929d
Refactor DALL·E Models [Client LLM Api]
H0llyW00dzZ Nov 8, 2023
7d06d11
docs: up to date (#64)
H0llyW00dzZ Nov 8, 2023
ee4f3e2
feat: close #2954 chat summary should be copyable (#65)
H0llyW00dzZ Nov 8, 2023
ac7baf3
fix: Yidadaa#3174 should prompt to confirm to delete chat (#66)
H0llyW00dzZ Nov 8, 2023
adb0c73
Another Fix by Owner (#67)
H0llyW00dzZ Nov 8, 2023
4550076
Fix type in sync.ts
ograycode Oct 10, 2023
e2e53db
提供同步聊天记录教程,同时翻译多国语言
MCheping8108 Oct 11, 2023
b189a16
已拆分单个文件、翻译多国语言版本
MCheping8108 Oct 12, 2023
ecd96bc
Fix & Feat UI Page
H0llyW00dzZ Oct 12, 2023
a568be0
Added Models DALL-E-2 [Beta]
H0llyW00dzZ Oct 13, 2023
305c0fd
Feat Models DALL-E-2 [Beta]
H0llyW00dzZ Oct 13, 2023
637c727
Fix & Feat Models DALL-E-2 [Beta]
H0llyW00dzZ Oct 15, 2023
e24ca73
Refactor Summarize Models
H0llyW00dzZ Oct 15, 2023
23c558c
Fix Models DALL-E-2 [Beta]
H0llyW00dzZ Oct 15, 2023
0b4b967
Add Models DALL-E-2
H0llyW00dzZ Oct 15, 2023
bf966a0
Fix All Models
H0llyW00dzZ Oct 17, 2023
c2d7f5e
Fix Error Handling & Summarizing models
H0llyW00dzZ Oct 18, 2023
f27fb99
Update README_KO.md
Yidadaa Oct 23, 2023
d250e9b
Feat ChatGPTApi [Open AI]
H0llyW00dzZ Oct 24, 2023
496a671
Chore(deps): Bump zod from 3.21.4 to 3.22.3 (#54)
dependabot[bot] Oct 29, 2023
6fb8999
Revert "Feat ChatGPTApi [Open AI]"
H0llyW00dzZ Nov 2, 2023
7595871
Fix & Feat DALL-E [Model]
H0llyW00dzZ Nov 6, 2023
f2100cd
Chore [Config] DALL·E [Model]
H0llyW00dzZ Nov 8, 2023
5494752
Fix Recent autistic Conflict
H0llyW00dzZ Nov 8, 2023
e35a9ae
Merge branch 'main' into 3.0.0
H0llyW00dzZ Nov 8, 2023
cc5f57b
Fix Client LLM API
H0llyW00dzZ Nov 8, 2023
f21f3ce
Refactor [Client LLM Api] DALL·E Models
H0llyW00dzZ Nov 8, 2023
e5b6b7f
Refactor [Client LLM Api] [GPT·4 & GPT·3.5 Turbo]
H0llyW00dzZ Nov 8, 2023
21bc303
Revert "Fix Client LLM API"
H0llyW00dzZ Nov 9, 2023
b374183
Merge branch 'main' into 3.0.0
H0llyW00dzZ Nov 9, 2023
0d062ee
Fix Local Storage [Models Config]
H0llyW00dzZ Nov 9, 2023
2347746
Refactor [Client LLM Api] [GPT·4 & GPT·3.5 Turbo] [DALL·E Instruct]
H0llyW00dzZ Nov 9, 2023
8ca7ba6
Fix [Client LLM Api] DALL·E·3 Models
H0llyW00dzZ Nov 9, 2023
02183f6
Feat [UI Page] [Model Config] DALL·E Models
H0llyW00dzZ Nov 9, 2023
309d150
Fix [Client LLM Api] DALL·E Models & Feat Summarize DALL·E Models
H0llyW00dzZ Nov 9, 2023
650f746
Refactor Summarize Logic
H0llyW00dzZ Nov 9, 2023
e966dd7
Merge branch 'main' into 3.0.0
H0llyW00dzZ Nov 9, 2023
21c1bff
Refactor [UI Page] [Model Config] DALL·E Models
H0llyW00dzZ Nov 9, 2023
e593861
Fix [UI Page] [Model Config] DALL·E Models
H0llyW00dzZ Nov 9, 2023
a23b3fa
[PR] Yidadaa#3206 from Yidadaa/azure (#71)
H0llyW00dzZ Nov 9, 2023
6c6e48c
Fix type in sync.ts
ograycode Oct 10, 2023
10d2b3f
Refactor Mask UI Page [Masks]
H0llyW00dzZ Oct 10, 2023
299a6fd
Feat Build Setup
H0llyW00dzZ Oct 11, 2023
0010b23
Client App Always on top [Tauri]
H0llyW00dzZ Oct 11, 2023
5770a75
Feat Client App Always on top [Tauri]
H0llyW00dzZ Oct 11, 2023
8328e19
Feat Client App Always on top [Tauri]
H0llyW00dzZ Oct 11, 2023
23b4ecb
Revert "Feat Client App Always on top [Tauri]"
H0llyW00dzZ Oct 12, 2023
628331a
Revert "Feat Client App Always on top [Tauri]"
H0llyW00dzZ Oct 12, 2023
5c229d5
Revert "Client App Always on top [Tauri]"
H0llyW00dzZ Oct 12, 2023
66e3b5e
Refactor & Feat UI Page [Auth Page]
H0llyW00dzZ Oct 12, 2023
ded0a81
Update Env Template
H0llyW00dzZ Oct 12, 2023
fd0cf84
Update Env Template
H0llyW00dzZ Oct 12, 2023
82915e1
提供同步聊天记录教程,同时翻译多国语言
MCheping8108 Oct 11, 2023
ef68015
已拆分单个文件、翻译多国语言版本
MCheping8108 Oct 12, 2023
3d2845e
docs: fix typo in app/masks/en.ts
suravshrestha Oct 12, 2023
90cd06a
Fix & Feat UI Page
H0llyW00dzZ Oct 12, 2023
9763c40
Fix Build Setup
H0llyW00dzZ Oct 13, 2023
de86b1c
Fix UI Page & Build Setup
H0llyW00dzZ Oct 13, 2023
06eff89
Added Models DALL-E-2 [Beta]
H0llyW00dzZ Oct 13, 2023
7305954
Refactor OpenAI Path
H0llyW00dzZ Oct 13, 2023
c65d129
Fix & Feat OpenAI Path
H0llyW00dzZ Oct 13, 2023
f1568df
Fix & Feat Models DALL-E-2 [Beta]
H0llyW00dzZ Oct 13, 2023
497684e
Fix Models DALL-E-2 [Beta]
H0llyW00dzZ Oct 13, 2023
9be2368
Feat OpenAI Path [Text Moderation]
H0llyW00dzZ Oct 13, 2023
11c9f8c
Feat Models DALL-E-2 [Beta]
H0llyW00dzZ Oct 13, 2023
189953c
Fix Models DALL-E-2 [Beta]
H0llyW00dzZ Oct 14, 2023
1b63170
Fix & Feat Models DALL-E-2 [Beta]
H0llyW00dzZ Oct 14, 2023
be74500
Refactor OpenAI Route [Experimental]
H0llyW00dzZ Oct 14, 2023
4fe61c7
Refactor UI Page Chat [Image Exporter]
H0llyW00dzZ Oct 14, 2023
20dfaf5
Missing Package
H0llyW00dzZ Oct 15, 2023
6c81322
Feat Models DALL-E-2 [Beta]
H0llyW00dzZ Oct 15, 2023
a3a941a
Update Instruct Models DALL-E-2 [Beta]
H0llyW00dzZ Oct 15, 2023
4672b6e
Fix & Feat Models DALL-E-2 [Beta]
H0llyW00dzZ Oct 15, 2023
79d159e
Refactor Summarize Models
H0llyW00dzZ Oct 15, 2023
1908b8c
Fix Models DALL-E-2 [Beta]
H0llyW00dzZ Oct 15, 2023
a4bc3b1
Refactor CORS Route [Experimental]
H0llyW00dzZ Oct 15, 2023
4092605
Feat Instruct Models DALL-E-2 [Beta]
H0llyW00dzZ Oct 15, 2023
70b916e
Add Models DALL-E-2
H0llyW00dzZ Oct 15, 2023
489f913
Feat Models DALL-E-2
H0llyW00dzZ Oct 15, 2023
622c42d
Fix & Feat Models DALL-E-2
H0llyW00dzZ Oct 16, 2023
3cc250a
Refactor Models DALL-E-2
H0llyW00dzZ Oct 16, 2023
0c60ae7
Refactor Models DALL-E-2
H0llyW00dzZ Oct 16, 2023
4c79e5f
Fix Better Instruct for DALL-E-2-BETA-INSTRUCT-0613 model
H0llyW00dzZ Oct 16, 2023
238a695
fix serviceWorker cache
jessemoe Oct 13, 2023
030974a
UI Page [Chat]
H0llyW00dzZ Oct 17, 2023
16a8f99
Fix UI Page [Chat]
H0llyW00dzZ Oct 17, 2023
41c9c05
Fix All Models
H0llyW00dzZ Oct 17, 2023
5aa200e
Fix System Message
H0llyW00dzZ Oct 17, 2023
16f7807
Refactor OpenAI Models
H0llyW00dzZ Oct 17, 2023
40cb536
Fix DALL-E-2-BETA-INSTRUCT-0613
H0llyW00dzZ Oct 17, 2023
db9b97f
Fix Error Handling & Summarizing models
H0llyW00dzZ Oct 18, 2023
a7a4090
Refactor ChatGPTApi
H0llyW00dzZ Oct 18, 2023
8893df4
Fix & Refactor ChatGPTApi
H0llyW00dzZ Oct 18, 2023
090bf9c
Feat ChatGPTApi
H0llyW00dzZ Oct 18, 2023
13598b0
Feat ChatGPTApi for DALL-E-2-BETA-INSTRUCT-0613
H0llyW00dzZ Oct 18, 2023
c87da86
Fix ChatGPTApi [Open AI]
H0llyW00dzZ Oct 19, 2023
21f066a
Revert "Feat ChatGPTApi"
H0llyW00dzZ Oct 19, 2023
d258412
Revert "Feat ChatGPTApi for DALL-E-2-BETA-INSTRUCT-0613"
H0llyW00dzZ Oct 19, 2023
6ca13d2
Fix [CloudSync] [Upstash] [WebDav]
H0llyW00dzZ Oct 19, 2023
6437795
Fix Client App [Tauri]
H0llyW00dzZ Oct 19, 2023
b10cc67
loop user accepted lang list to find best available
ChrisWongCH Oct 19, 2023
00b5f4f
Fix Client App [Tauri]
H0llyW00dzZ Oct 20, 2023
262eb8a
Update Models of builtin masks
H0llyW00dzZ Oct 20, 2023
01ebdcb
Add Tupleson Package
H0llyW00dzZ Oct 20, 2023
bf7a93d
Feat Types [Utils]
H0llyW00dzZ Oct 21, 2023
b2a22e7
Refactor UI Page [Buttons]
H0llyW00dzZ Oct 22, 2023
6b1015c
Feat UI Page [ChangeLog]
H0llyW00dzZ Oct 22, 2023
1762c14
Refactor UI Page [Home] [Fonts]
H0llyW00dzZ Oct 23, 2023
5576676
Add Styles UI Page [Exporter]
H0llyW00dzZ Oct 23, 2023
c7355e9
Update synchronise-chat-logs-cn.md
Yidadaa Oct 23, 2023
9948548
Update README_CN.md
Yidadaa Oct 23, 2023
b0d8f65
Update README_KO.md
Yidadaa Oct 23, 2023
f52343c
Update README_KO.md
Yidadaa Oct 23, 2023
5588089
Refactor UI Page [Privacy Page]
H0llyW00dzZ Oct 23, 2023
a67d4aa
Add Dependency
H0llyW00dzZ Oct 23, 2023
e494965
Feat ChatGPTApi [Open AI]
H0llyW00dzZ Oct 24, 2023
4f7e411
Fix ChatGPTApi [Open AI]
H0llyW00dzZ Oct 24, 2023
6d68bb2
Fix UI Page [Home] [Fonts]
H0llyW00dzZ Oct 24, 2023
211bb00
Fix Build Setup [ServerSide]
H0llyW00dzZ Oct 25, 2023
91dfbae
Fix UI Page [Privacy Page]
H0llyW00dzZ Oct 25, 2023
b23a4a6
Fix Language Indonesia [Memory Prompt Masks]
H0llyW00dzZ Oct 25, 2023
1334260
Feat Build Setup [ServerSide]
H0llyW00dzZ Oct 25, 2023
dc3d43b
Revert "fix serviceWorker cache: auto caching files by workbox"
Yidadaa Oct 25, 2023
79c95cb
Refactor & Feat [Auth Page]
H0llyW00dzZ Oct 25, 2023
54920cc
Chore UI Page [Icons]
H0llyW00dzZ Oct 27, 2023
e634fc4
Chore UI Page [Chat Actions]
H0llyW00dzZ Oct 27, 2023
ab3fc10
UI Page [Chat Actions]
H0llyW00dzZ Oct 27, 2023
1e558d1
Update Package [Tupleson]
H0llyW00dzZ Oct 27, 2023
d7876ea
Create hi.ts
nobunagaaa Oct 23, 2023
336235c
Update index.ts
nobunagaaa Oct 23, 2023
6c5a1e4
Fix Locales Language [Hindi]
H0llyW00dzZ Oct 27, 2023
e302ad0
Fix & Chore ChatGPT Api class [Text Moderation]
H0llyW00dzZ Oct 27, 2023
e4668c6
Fix ChatGPT Api class [Text Moderation]
H0llyW00dzZ Oct 27, 2023
796fa49
Revert "Fix ChatGPT Api class [Text Moderation]"
H0llyW00dzZ Oct 27, 2023
36f07bb
Feat UI Page [Chat Settings]
H0llyW00dzZ Oct 28, 2023
9e855f0
Feat UI Page [Chat Settings]
H0llyW00dzZ Oct 28, 2023
0852e29
Fix & Feat UI Page [Chat]
H0llyW00dzZ Oct 28, 2023
c648439
Fix & Feat UI Page [Privacy Page]
H0llyW00dzZ Oct 28, 2023
c21f84c
Feat ChatGPT Api class [Text Moderation]
H0llyW00dzZ Oct 28, 2023
3cd0aa1
Update Package [NextJS]
H0llyW00dzZ Oct 28, 2023
c6c21df
Refactor UI Page [Layout]
H0llyW00dzZ Oct 29, 2023
6f9dbc2
Fix UI Page [Layout]
H0llyW00dzZ Oct 29, 2023
18a7d6f
Fix UI Page [Layout] [All Device]
H0llyW00dzZ Oct 29, 2023
53fd61f
Feat UI Page [Change Log]
H0llyW00dzZ Oct 29, 2023
76494c5
Feat Router (WIP)
H0llyW00dzZ Oct 29, 2023
4c4ce78
Fix Router
H0llyW00dzZ Oct 29, 2023
ab7b75f
Revert "Feat Router (WIP)"
H0llyW00dzZ Oct 30, 2023
14e476f
Updating Package [tupleson]
H0llyW00dzZ Oct 30, 2023
a05c644
Feat Client App [Tauri Api] [Dev Stuff]
H0llyW00dzZ Oct 30, 2023
57a0ed6
Chore(deps): Bump zod from 3.21.4 to 3.22.3 (#54)
dependabot[bot] Oct 29, 2023
95c27e2
Docker Dev Environments
H0llyW00dzZ Nov 1, 2023
211beea
CloudSync [Golang Sync] [WIP]
H0llyW00dzZ Nov 1, 2023
f12f934
Revert "Fix ChatGPTApi [Open AI]"
H0llyW00dzZ Nov 2, 2023
72cfaec
Revert "Feat ChatGPTApi [Open AI]"
H0llyW00dzZ Nov 2, 2023
05c5e63
Feat Summarize [Chat Commands]
H0llyW00dzZ Nov 6, 2023
1c20877
Feat & Fix Summarize [Notification Toast]
H0llyW00dzZ Nov 6, 2023
69cfa8c
Todo Summarize [Chat Commands]
H0llyW00dzZ Nov 6, 2023
0fe612e
Fix alias [Code Base] [Auth & Server]
H0llyW00dzZ Nov 6, 2023
6112bb2
Fix & Feat DALL-E [Model]
H0llyW00dzZ Nov 6, 2023
cd63705
Refactor DALL-E [Model]
H0llyW00dzZ Nov 7, 2023
699aa4c
Refactor Summarize Logic
H0llyW00dzZ Nov 7, 2023
bff1ede
Feat Latest Models [GPT-4 Turbo]
H0llyW00dzZ Nov 7, 2023
132de71
Fix DALL-E [Model]
H0llyW00dzZ Nov 7, 2023
518d836
Feat Latest Models [GPT-4 Turbo]
H0llyW00dzZ Nov 7, 2023
d7a223a
Feat Function DALL-E [Model]
H0llyW00dzZ Nov 8, 2023
76463b8
Chore [Config] DALL·E [Model]
H0llyW00dzZ Nov 8, 2023
ac8ed42
Feat [Config] DALL·E [Model] Validation
H0llyW00dzZ Nov 8, 2023
95a5439
Feat [Config] New GPT·4 & GPT·3.5 Turbo [Model] Ref : Yidadaa#3180
H0llyW00dzZ Nov 8, 2023
53652bd
Update Package [Tupleson]
H0llyW00dzZ Nov 8, 2023
a16f27d
Chore Local Language DALL·E [Model] [Config]
H0llyW00dzZ Nov 8, 2023
045d483
Feat [Local Language] New GPT·4 & GPT·3.5 Turbo [Model]
H0llyW00dzZ Nov 8, 2023
95c8f9f
Revert "Feat Latest Models [GPT-4 Turbo]"
H0llyW00dzZ Nov 8, 2023
0b86a08
Fix [Config] DALL·E [Model] Validation
H0llyW00dzZ Nov 8, 2023
a40600b
Refactor DALL·E Models [Client LLM Api]
H0llyW00dzZ Nov 8, 2023
b8b93f8
Refactor [Client LLM Api] [GPT·4 & GPT·3.5 Turbo]
H0llyW00dzZ Nov 8, 2023
0e58177
Another Refactor [Client LLM Api] [GPT·4 & GPT·3.5 Turbo]
H0llyW00dzZ Nov 8, 2023
72a09d8
Refactor DALL·E Models [Client LLM Api]
H0llyW00dzZ Nov 8, 2023
db53122
docs: up to date (#64)
H0llyW00dzZ Nov 8, 2023
4263da9
Another Fix by Owner (#67)
H0llyW00dzZ Nov 8, 2023
c5c61c4
Fix type in sync.ts
ograycode Oct 10, 2023
3d6d369
提供同步聊天记录教程,同时翻译多国语言
MCheping8108 Oct 11, 2023
e32fe28
已拆分单个文件、翻译多国语言版本
MCheping8108 Oct 12, 2023
b9e9c58
Fix & Feat UI Page
H0llyW00dzZ Oct 12, 2023
52e0509
Added Models DALL-E-2 [Beta]
H0llyW00dzZ Oct 13, 2023
012050c
Feat Models DALL-E-2 [Beta]
H0llyW00dzZ Oct 13, 2023
8dd1339
Fix & Feat Models DALL-E-2 [Beta]
H0llyW00dzZ Oct 15, 2023
fa0b866
Refactor Summarize Models
H0llyW00dzZ Oct 15, 2023
6540170
Fix Models DALL-E-2 [Beta]
H0llyW00dzZ Oct 15, 2023
25c4ecb
Add Models DALL-E-2
H0llyW00dzZ Oct 15, 2023
128be80
Fix All Models
H0llyW00dzZ Oct 17, 2023
d5b6601
Fix Error Handling & Summarizing models
H0llyW00dzZ Oct 18, 2023
8629db2
Update README_KO.md
Yidadaa Oct 23, 2023
8ddde5b
Feat ChatGPTApi [Open AI]
H0llyW00dzZ Oct 24, 2023
4f47240
Chore(deps): Bump zod from 3.21.4 to 3.22.3 (#54)
dependabot[bot] Oct 29, 2023
9120fb5
Revert "Feat ChatGPTApi [Open AI]"
H0llyW00dzZ Nov 2, 2023
f5acf43
Fix & Feat DALL-E [Model]
H0llyW00dzZ Nov 6, 2023
bf8095d
Chore [Config] DALL·E [Model]
H0llyW00dzZ Nov 8, 2023
40fc69a
Fix Recent autistic Conflict
H0llyW00dzZ Nov 8, 2023
308ee8b
Fix Client LLM API
H0llyW00dzZ Nov 8, 2023
752d019
Refactor [Client LLM Api] DALL·E Models
H0llyW00dzZ Nov 8, 2023
2ce3282
Refactor [Client LLM Api] [GPT·4 & GPT·3.5 Turbo]
H0llyW00dzZ Nov 8, 2023
e9dafdc
Revert "Fix Client LLM API"
H0llyW00dzZ Nov 9, 2023
b46e22e
Fix Local Storage [Models Config]
H0llyW00dzZ Nov 9, 2023
698f866
Refactor [Client LLM Api] [GPT·4 & GPT·3.5 Turbo] [DALL·E Instruct]
H0llyW00dzZ Nov 9, 2023
145d84f
Fix [Client LLM Api] DALL·E·3 Models
H0llyW00dzZ Nov 9, 2023
a110937
Feat [UI Page] [Model Config] DALL·E Models
H0llyW00dzZ Nov 9, 2023
efefedf
Fix [Client LLM Api] DALL·E Models & Feat Summarize DALL·E Models
H0llyW00dzZ Nov 9, 2023
e762ed4
Refactor Summarize Logic
H0llyW00dzZ Nov 9, 2023
3ba206a
Refactor [UI Page] [Model Config] DALL·E Models
H0llyW00dzZ Nov 9, 2023
5ab2bb0
Fix [UI Page] [Model Config] DALL·E Models
H0llyW00dzZ Nov 9, 2023
de79bf6
Fix Constant
H0llyW00dzZ Nov 9, 2023
d980fb0
Fix UI Page Chats
H0llyW00dzZ Nov 9, 2023
dc20e6a
Refactor UI Page [Auth]
H0llyW00dzZ Nov 9, 2023
a885e97
Refactor Server Configuration
H0llyW00dzZ Nov 9, 2023
1cce1ee
Fix UI Page [Settings]
H0llyW00dzZ Nov 9, 2023
ce3610c
Merge branch '3.0.0' of https://github.com/H0llyW00dzZ/ChatGPT-Next-W…
H0llyW00dzZ Nov 9, 2023
83f99ea
Refactor Local Language
H0llyW00dzZ Nov 9, 2023
ea59f1c
Added Back Temperature [Model Config]
H0llyW00dzZ Nov 10, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .env.template
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@

# Your openai api key. (required)
OPENAI_API_KEY=sk-xxxx
# Your openai api key, separated by comma. (optional) (this for system which can be used access code)
# Default: Empty
OPENAI_API_KEY=

# Access passsword, separated by comma. (optional)
CODE=your-password
Expand Down
54 changes: 49 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

<h1 align="center">ChatGPT Next Web</h1>

English / [简体中文](./README_CN.md) / [日本語](./README_JA.md)
English / [简体中文](./README_CN.md)

One-Click to get well-designed cross-platform ChatGPT web UI.

Expand Down Expand Up @@ -62,6 +62,7 @@ One-Click to get well-designed cross-platform ChatGPT web UI.
- 🚀 v2.0 is released, now you can create prompt templates, turn your ideas into reality! Read this: [ChatGPT Prompt Engineering Tips: Zero, One and Few Shot Prompting](https://www.allabtai.com/prompt-engineering-tips-zero-one-and-few-shot-prompting/).
- 🚀 v2.7 let's share conversations as image, or share to ShareGPT!
- 🚀 v2.8 now we have a client that runs across all platforms!
- 🚀 v2.9.11 you can use azure endpoint now.

## 主要功能

Expand Down Expand Up @@ -93,6 +94,7 @@ One-Click to get well-designed cross-platform ChatGPT web UI.
- 💡 想要更方便地随时随地使用本项目?可以试下这款桌面插件:https://github.com/mushan0x0/AI0x0.com
- 🚀 v2.7 现在可以将会话分享为图片了,也可以分享到 ShareGPT 的在线链接。
- 🚀 v2.8 发布了横跨 Linux/Windows/MacOS 的体积极小的客户端。
- 🚀 v2.9.11 现在可以使用自定义 Azure 服务了。

## Get Started

Expand Down Expand Up @@ -153,14 +155,14 @@ After adding or modifying this environment variable, please redeploy the project

> [简体中文 > 如何配置 api key、访问密码、接口代理](./README_CN.md#环境变量)

### `OPENAI_API_KEY` (required)

Your openai api key.

### `CODE` (optional)

Access password, separated by comma.

### `OPENAI_API_KEY` (required)

Your openai api key.

### `BASE_URL` (optional)

> Default: `https://api.openai.com`
Expand All @@ -173,6 +175,20 @@ Override openai api request base url.

Specify OpenAI organization ID.

### `AZURE_URL` (optional)

> Example: https://{azure-resource-url}/openai/deployments/{deploy-name}

Azure deploy url.

### `AZURE_API_KEY` (optional)

Azure Api Key.

### `AZURE_API_VERSION` (optional)

Azure Api Version, find it at [Azure Documentation](https://learn.microsoft.com/en-us/azure/ai-services/openai/reference#chat-completions).

### `HIDE_USER_API_KEY` (optional)

> Default: Empty
Expand Down Expand Up @@ -270,6 +286,34 @@ If your proxy needs password, use:
bash <(curl -s https://raw.githubusercontent.com/Yidadaa/ChatGPT-Next-Web/main/scripts/setup.sh)
```

### Use Anthropic,Huggingface,Palm,Ollama, etc.[Full List](https://docs.litellm.ai/docs/providers)

### Create OpenAI-proxy
We'll use [LiteLLM](https://docs.litellm.ai/docs/) to create an OpenAI-compatible endpoint, that translates OpenAI calls to any of the [supported providers](https://docs.litellm.ai/docs/providers).


Example to use a local CodeLLama model from Ollama.ai with PromptFlow:

Let's spin up a proxy server to route any OpenAI call from PromptFlow to Ollama/CodeLlama

```python
pip install litellm
```
```python
$ litellm --model ollama/codellama

#INFO: Ollama running on http://0.0.0.0:8000
```

[Docs](https://docs.litellm.ai/docs/proxy_server)

### Update ChatGPT-Next-Web

In our .env

```python
BASE_URL="http://0.0.0.0:8000"
```
## Synchronizing Chat Records (UpStash)

| [简体中文](./docs/synchronise-chat-logs-cn.md) | [English](./docs/synchronise-chat-logs-en.md) | [Italiano](./docs/synchronise-chat-logs-es.md) | [日本語](./docs/synchronise-chat-logs-ja.md) | [한국어](./docs/synchronise-chat-logs-ko.md)
Expand Down
15 changes: 15 additions & 0 deletions README_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,20 @@ OpenAI 接口代理 URL,如果你手动配置了 openai 接口代理,请填

指定 OpenAI 中的组织 ID。

### `AZURE_URL` (可选)

> 形如:https://{azure-resource-url}/openai/deployments/{deploy-name}

Azure 部署地址。

### `AZURE_API_KEY` (可选)

Azure 密钥。

### `AZURE_API_VERSION` (可选)

Azure Api 版本,你可以在这里找到:[Azure 文档](https://learn.microsoft.com/en-us/azure/ai-services/openai/reference#chat-completions)。

### `HIDE_USER_API_KEY` (可选)

如果你不想让用户自行填入 API Key,将此环境变量设置为 1 即可。
Expand Down Expand Up @@ -179,6 +193,7 @@ bash <(curl -s https://raw.githubusercontent.com/Yidadaa/ChatGPT-Next-Web/main/s

⚠️ 注意:如果你安装过程中遇到了问题,请使用 docker 部署。


## 鸣谢

### 捐赠者
Expand Down
1 change: 1 addition & 0 deletions README_KO.md
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,7 @@ bash <(curl -s https://raw.githubusercontent.com/Yidadaa/ChatGPT-Next-Web/main/s

⚠️ 주의: 설치 중 문제가 발생한 경우, docker로 배포하세요.


## 감사의 말

### 기부자
Expand Down
22 changes: 10 additions & 12 deletions app/api/auth.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { NextRequest } from "next/server";
import { getServerSideConfig } from "../config/server";
import md5 from "spark-md5";
import binary from "spark-md5";
import { ACCESS_CODE_PREFIX } from "../constant";

function getIP(req: NextRequest) {
Expand Down Expand Up @@ -30,7 +30,7 @@ export function auth(req: NextRequest) {
// check if it is openai api key or user token
const { accessCode, apiKey: token } = parseApiKey(authToken);

const hashedCode = md5.hash(accessCode ?? "").trim();
const hashedCode = binary.hash(accessCode ?? "").trim();

const serverConfig = getServerSideConfig();
console.log("[Auth] allowed hashed codes: ", [...serverConfig.codes]);
Expand All @@ -46,17 +46,15 @@ export function auth(req: NextRequest) {
};
}

// if user does not provide an api key, inject system api key
if (!token) {
const apiKey = serverConfig.apiKey;
if (apiKey) {
console.log("[Auth] use system api key");
req.headers.set("Authorization", `Bearer ${apiKey}`);
} else {
console.log("[Auth] admin did not provide an api key");
}
// Check if the access code has a corresponding API key
const apiKey = serverConfig.apiKeys.get(hashedCode);
if (apiKey) {
console.log("[Auth] use access code-specific API key");
req.headers.set("Authorization", `Bearer ${apiKey}`);
} else if (token) {
console.log("[Auth] use user API key");
} else {
console.log("[Auth] use user api key");
console.log("[Auth] admin did not provide an API key");
}

return {
Expand Down
52 changes: 26 additions & 26 deletions app/api/cors/[...path]/route.ts
Original file line number Diff line number Diff line change
@@ -1,24 +1,11 @@
import { NextRequest, NextResponse } from "next/server";
import { DEFAULT_CORS_HOST } from "@/app/constant";

async function handle(
req: NextRequest,
{ params }: { params: { path: string[] } },
) {
if (req.method === "OPTIONS") {
// Set CORS headers for preflight requests
return NextResponse.json(
{ body: "OK" },
{
status: 200,
headers: {
"Access-Control-Allow-Origin": `${DEFAULT_CORS_HOST}`, // Replace * with the appropriate origin(s)
"Access-Control-Allow-Methods": "GET, POST, OPTIONS", // Add other allowed methods if needed
"Access-Control-Allow-Headers": "*", // Replace * with the appropriate headers
"Access-Control-Max-Age": "86400", // Adjust the max age value if needed
},
},
);
return NextResponse.json({ body: "OK" }, { status: 200 });
}

const [protocol, ...subpath] = params.path;
Expand All @@ -29,19 +16,22 @@ async function handle(
method?.toLowerCase() ?? "",
);

const fetchOptions: RequestInit = {
headers: {
authorization: req.headers.get("authorization") ?? "",
},
body: shouldNotHaveBody ? null : req.body,
method,
// @ts-ignore
duplex: "half",
};
function isRealDevicez(userAgent: string | null): boolean {
// Author : @H0llyW00dzZ
// Note : This just an experiment for a prevent suspicious bot
// Modify this function to define your logic for determining if the user-agent belongs to a real device
// For example, you can check if the user-agent contains certain keywords or patterns that indicate a real device
if (userAgent) {
return userAgent.includes("AppleWebKit") && !userAgent.includes("Headless");
}
return false;
}


const userAgent = req.headers.get("User-Agent");
const isRealDevice = isRealDevicez(userAgent);

const origin = req.headers.get("Origin");
const referrer = req.headers.get("Referer");
if (origin !== DEFAULT_CORS_HOST || (referrer && !referrer.includes(DEFAULT_CORS_HOST))) {
if (!isRealDevice) {
return NextResponse.json(
{
error: true,
Expand All @@ -53,6 +43,16 @@ async function handle(
);
}

const fetchOptions: RequestInit = {
headers: {
authorization: req.headers.get("authorization") ?? "",
},
body: shouldNotHaveBody ? null : req.body,
method,
// @ts-ignore
duplex: "half",
};

const fetchResult = await fetch(targetUrl, fetchOptions);

console.log("[Cloud Sync]", targetUrl, {
Expand Down
47 changes: 17 additions & 30 deletions app/api/openai/[...path]/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import { prettyObject } from "@/app/utils/format";
import { NextRequest, NextResponse } from "next/server";
import { auth } from "../../auth";
import { requestOpenai } from "../../common";
import { DEFAULT_CORS_HOST } from "@/app/constant";

const ALLOWED_PATH = new Set(Object.values(OpenaiPath));

Expand All @@ -28,32 +27,7 @@ async function handle(
console.log("[OpenAI Route] params ", params);

if (req.method === "OPTIONS") {
// Set CORS headers for preflight requests
const origin = req.headers.get("Origin");
if (origin && origin === DEFAULT_CORS_HOST) {
return NextResponse.json(
{ body: "OK" },
{
status: 200,
headers: {
"Access-Control-Allow-Origin": origin,
"Access-Control-Allow-Methods": "GET, POST, OPTIONS",
"Access-Control-Allow-Headers": "*",
"Access-Control-Max-Age": "86400",
},
},
);
} else {
return NextResponse.json(
{
error: true,
msg: "Access Forbidden",
},
{
status: 403,
},
);
}
return NextResponse.json({ body: "OK" }, { status: 200 });
}

const subpath = params.path.join("/");
Expand All @@ -71,9 +45,22 @@ async function handle(
);
}

const origin = req.headers.get("Origin");
const referrer = req.headers.get("Referer");
if (origin !== DEFAULT_CORS_HOST || (referrer && !referrer.includes(DEFAULT_CORS_HOST))) {
function isRealDevicez(userAgent: string | null): boolean {
// Author : @H0llyW00dzZ
// Note : This just an experiment for a prevent suspicious bot
// Modify this function to define your logic for determining if the user-agent belongs to a real device
// For example, you can check if the user-agent contains certain keywords or patterns that indicate a real device
if (userAgent) {
return userAgent.includes("AppleWebKit") && !userAgent.includes("Headless");
}
return false;
}


const userAgent = req.headers.get("User-Agent");
const isRealDevice = isRealDevicez(userAgent);

if (!isRealDevice) {
return NextResponse.json(
{
error: true,
Expand Down
9 changes: 9 additions & 0 deletions app/azure.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
export function makeAzurePath(path: string, apiVersion: string) {
// should omit /v1 prefix
path = path.replaceAll("v1/", "");

// should add api-key to query string
path += `${path.includes("?") ? "&" : "?"}api-version=${apiVersion}`;

return path;
}
16 changes: 10 additions & 6 deletions app/client/api.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { getClientConfig } from "../config/client";
import { ACCESS_CODE_PREFIX } from "../constant";
import { ACCESS_CODE_PREFIX, Azure, ServiceProvider } from "../constant";
import { ChatMessage, ModelType, useAccessStore } from "../store";
import { ChatGPTApi } from "./platforms/openai";

Expand Down Expand Up @@ -128,22 +128,26 @@ export const api = new ClientApi();

export function getHeaders() {
const accessStore = useAccessStore.getState();
let headers: Record<string, string> = {
const headers: Record<string, string> = {
"Content-Type": "application/json",
"x-requested-with": "XMLHttpRequest",
};

const makeBearer = (token: string) => `Bearer ${token.trim()}`;
const isAzure = accessStore.provider === ServiceProvider.Azure;
const authHeader = isAzure ? "api-key" : "Authorization";
const apiKey = isAzure ? accessStore.azureApiKey : accessStore.openaiApiKey;

const makeBearer = (s: string) => `${isAzure ? "" : "Bearer "}${s.trim()}`;
const validString = (x: string) => x && x.length > 0;

// use user's api key first
if (validString(accessStore.token)) {
headers.Authorization = makeBearer(accessStore.token);
if (validString(apiKey)) {
headers[authHeader] = makeBearer(apiKey);
} else if (
accessStore.enabledAccessControl() &&
validString(accessStore.accessCode)
) {
headers.Authorization = makeBearer(
headers[authHeader] = makeBearer(
ACCESS_CODE_PREFIX + accessStore.accessCode,
);
}
Expand Down
Loading