Skip to content

Commit

Permalink
feat: close ChatGPTNextWeb#2908 allow to disable parse settings from …
Browse files Browse the repository at this point in the history
…link
  • Loading branch information
Yidadaa authored and abrahamgreyson committed Jan 12, 2024
1 parent ac328af commit 59d2296
Show file tree
Hide file tree
Showing 7 changed files with 29 additions and 15 deletions.
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,12 @@ If you do not want users to use GPT-4, set this value to 1.
If you do want users to query balance, set this value to 1, or you should set it to 0.

### `DISABLE_FAST_LINK` (optional)

> Default: Empty
If you want to disable parse settings from url, set this to 1.

## Requirements

NodeJS >= 18, Docker >= 20
Expand Down
4 changes: 4 additions & 0 deletions README_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,10 @@ OpenAI 接口代理 URL,如果你手动配置了 openai 接口代理,请填

如果你想启用余额查询功能,将此环境变量设置为 1 即可。

### `DISABLE_FAST_LINK` (可选)

如果你想禁用从链接解析预制设置,将此环境变量设置为 1 即可。

## 开发

点击下方按钮,开始二次开发:
Expand Down
1 change: 1 addition & 0 deletions app/api/config/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ const DANGER_CONFIG = {
hideUserApiKey: serverConfig.hideUserApiKey,
disableGPT4: serverConfig.disableGPT4,
hideBalanceQuery: serverConfig.hideBalanceQuery,
disableFastLink: serverConfig.disableFastLink,
};

declare global {
Expand Down
9 changes: 6 additions & 3 deletions app/components/chat.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -975,14 +975,17 @@ function _Chat() {
doSubmit(text);
},
code: (text) => {
if (accessStore.disableFastLink) return;
console.log("[Command] got code from url: ", text);
showConfirm(Locale.URLCommand.Code + `code = ${text}`).then((res) => {
if (res) {
accessStore.updateCode(text);
accessStore.update((access) => (access.accessCode = text));
}
});
},
settings: (text) => {
if (accessStore.disableFastLink) return;

try {
const payload = JSON.parse(text) as {
key?: string;
Expand All @@ -998,10 +1001,10 @@ function _Chat() {
).then((res) => {
if (!res) return;
if (payload.key) {
accessStore.updateToken(payload.key);
accessStore.update((access) => (access.token = payload.key!));
}
if (payload.url) {
accessStore.updateOpenAiUrl(payload.url);
accessStore.update((access) => (access.openaiUrl = payload.url!));
}
});
}
Expand Down
12 changes: 9 additions & 3 deletions app/components/settings.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -888,7 +888,9 @@ export function Settings() {
type="text"
placeholder={Locale.Settings.AccessCode.Placeholder}
onChange={(e) => {
accessStore.updateCode(e.currentTarget.value);
accessStore.update(
(access) => (access.accessCode = e.currentTarget.value),
);
}}
/>
</ListItem>
Expand All @@ -907,7 +909,9 @@ export function Settings() {
value={accessStore.openaiUrl}
placeholder="https://api.openai.com/"
onChange={(e) =>
accessStore.updateOpenAiUrl(e.currentTarget.value)
accessStore.update(
(access) => (access.openaiUrl = e.currentTarget.value),
)
}
></input>
</ListItem>
Expand All @@ -920,7 +924,9 @@ export function Settings() {
type="text"
placeholder={Locale.Settings.Token.Placeholder}
onChange={(e) => {
accessStore.updateToken(e.currentTarget.value);
accessStore.update(
(access) => (access.token = e.currentTarget.value),
);
}}
/>
</ListItem>
Expand Down
2 changes: 2 additions & 0 deletions app/config/server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ declare global {
BUILD_MODE?: "standalone" | "export";
BUILD_APP?: string; // is building desktop app
ENABLE_BALANCE_QUERY?: string; // allow user to query balance or not
DISABLE_FAST_LINK?: string; // disallow parse settings from url or not
}
}
}
Expand Down Expand Up @@ -48,5 +49,6 @@ export const getServerSideConfig = () => {
hideUserApiKey: !!process.env.HIDE_USER_API_KEY,
disableGPT4: !!process.env.DISABLE_GPT4,
hideBalanceQuery: !process.env.ENABLE_BALANCE_QUERY,
disableFastLink: !!process.env.DISABLE_FAST_LINK,
};
};
10 changes: 1 addition & 9 deletions app/store/access.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ const DEFAULT_ACCESS_STATE = {
hideUserApiKey: false,
hideBalanceQuery: false,
disableGPT4: false,
disableFastLink: false,

openaiUrl: DEFAULT_OPENAI_URL,
};
Expand All @@ -29,15 +30,6 @@ export const useAccessStore = createPersistStore(

return get().needCode;
},
updateCode(code: string) {
set(() => ({ accessCode: code?.trim() }));
},
updateToken(token: string) {
set(() => ({ token: token?.trim() }));
},
updateOpenAiUrl(url: string) {
set(() => ({ openaiUrl: url?.trim() }));
},
isAuthorized() {
this.fetch();

Expand Down

0 comments on commit 59d2296

Please sign in to comment.