Skip to content

Commit

Permalink
feat: add "Hide_Balance_Query" environment variable
Browse files Browse the repository at this point in the history
  • Loading branch information
Constaline committed Jun 25, 2023
1 parent 8f66da1 commit c05de45
Show file tree
Hide file tree
Showing 8 changed files with 49 additions and 23 deletions.
5 changes: 5 additions & 0 deletions .env.template
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,8 @@ HIDE_USER_API_KEY=
# Default: Empty
# If you do not want users to use GPT-4, set this value to 1.
DISABLE_GPT4=

# (optional)
# Default: Empty
# If you do not want users to query balance, set this value to 1.
Hide_Balance_Query=
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,12 @@ If you do not want users to input their own API key, set this value to 1.
If you do not want users to use GPT-4, set this value to 1.

### `Hide_Balance_Query` (optional)

> Default: Empty
If you do not want users to query balance, set this value 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 @@ -98,6 +98,10 @@ OpenAI 接口代理 URL,如果你手动配置了 openai 接口代理,请填

如果你不想让用户使用 GPT-4,将此环境变量设置为 1 即可。

### `Hide_Balance_Query` (可选)

如果你不想让用户查询余额,将此环境变量设置为 1 即可。

## 开发

点击下方按钮,开始二次开发:
Expand Down
4 changes: 4 additions & 0 deletions README_ES.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,10 @@ Si no desea que los usuarios rellenen la clave de API ellos mismos, establezca e

Si no desea que los usuarios utilicen GPT-4, establezca esta variable de entorno en 1.

### `Hide_Balance_Query` (Opcional)

Si no desea que los usuarios consulte el saldo, establezca esta variable de entorno en 1.

## explotación

> No se recomienda encarecidamente desarrollar o implementar localmente, debido a algunas razones técnicas, es difícil configurar el agente API de OpenAI localmente, a menos que pueda asegurarse de que puede conectarse directamente al servidor OpenAI.
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 @@ -10,6 +10,7 @@ const DANGER_CONFIG = {
needCode: serverConfig.needCode,
hideUserApiKey: serverConfig.hideUserApiKey,
enableGPT4: serverConfig.enableGPT4,
hideBalanceQuery: serverConfig.hideBalanceQuery,
};

declare global {
Expand Down
48 changes: 25 additions & 23 deletions app/components/settings.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -522,29 +522,31 @@ export function Settings() {
</ListItem>
) : null}

<ListItem
title={Locale.Settings.Usage.Title}
subTitle={
showUsage
? loadingUsage
? Locale.Settings.Usage.IsChecking
: Locale.Settings.Usage.SubTitle(
usage?.used ?? "[?]",
usage?.subscription ?? "[?]",
)
: Locale.Settings.Usage.NoAccess
}
>
{!showUsage || loadingUsage ? (
<div />
) : (
<IconButton
icon={<ResetIcon></ResetIcon>}
text={Locale.Settings.Usage.Check}
onClick={() => checkUsage(true)}
/>
)}
</ListItem>
{!accessStore.hideBalanceQuery ? (
<ListItem
title={Locale.Settings.Usage.Title}
subTitle={
showUsage
? loadingUsage
? Locale.Settings.Usage.IsChecking
: Locale.Settings.Usage.SubTitle(
usage?.used ?? "[?]",
usage?.subscription ?? "[?]",
)
: Locale.Settings.Usage.NoAccess
}
>
{!showUsage || loadingUsage ? (
<div />
) : (
<IconButton
icon={<ResetIcon></ResetIcon>}
text={Locale.Settings.Usage.Check}
onClick={() => checkUsage(true)}
/>
)}
</ListItem>
) : null}

{!accessStore.hideUserApiKey ? (
<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 @@ -12,6 +12,7 @@ declare global {
DISABLE_GPT4?: string; // allow user to use gpt-4 or not
BUILD_MODE?: "standalone" | "export";
BUILD_APP?: string; // is building desktop app
Hide_Balance_Query?: string; // allow user to query balance or not
}
}
}
Expand Down Expand Up @@ -46,5 +47,6 @@ export const getServerSideConfig = () => {
isVercel: !!process.env.VERCEL,
hideUserApiKey: !!process.env.HIDE_USER_API_KEY,
enableGPT4: !process.env.DISABLE_GPT4,
hideBalanceQuery: !!process.env.Hide_Balance_Query,
};
};
2 changes: 2 additions & 0 deletions app/store/access.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ export interface AccessControlStore {
needCode: boolean;
hideUserApiKey: boolean;
openaiUrl: string;
hideBalanceQuery: boolean;

updateToken: (_: string) => void;
updateCode: (_: string) => void;
Expand All @@ -36,6 +37,7 @@ export const useAccessStore = create<AccessControlStore>()(
needCode: true,
hideUserApiKey: false,
openaiUrl: DEFAULT_OPENAI_URL,
hideBalanceQuery: false,

enabledAccessControl() {
get().fetch();
Expand Down

0 comments on commit c05de45

Please sign in to comment.