Commit Graph

46 Commits

Author SHA1 Message Date
Arvin Xu c5ec20abab ✨ feat(docker): run self-hosted Compose chats in Gateway Mode by default (#19583)
* ✨ feat(docker): run self-hosted Compose chats in Gateway Mode by default

- Add the lobehub-gateway service to docker-compose and wire the lobe service
  to it; AGENT_GATEWAY_INTERNAL_URL keeps server pushes on the Compose network
  while browsers use AGENT_GATEWAY_URL.
- S3_INTERNAL_ENDPOINT routes the server's own S3 requests to rustfs:9000 while
  presigned URLs keep the browser-facing S3_ENDPOINT, which local mode sets to
  localhost and the container cannot reach.
- setup.sh generates a per-deployment JWKS_KEY and gateway token and writes the
  gateway URL for each deploy mode; the .env template drops the public JWKS key.
- Warn loudly at container startup when an upgraded stack lacks the gateway
  settings or still uses the public example JWKS_KEY, and document the upgrade.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* 🔒 fix(docker): pass only the public JWK to the gateway container

The gateway only needs the public half of JWKS_KEY to verify browser
sessions, but it received the full private key set, so anyone able to read
the gateway environment could sign tokens LobeHub trusts. setup.sh now also
writes JWKS_PUBLIC_KEY (the same key without d/p/q/dp/dq/qi), Compose passes
only that to the gateway, and the startup check warns when it is missing,
still contains private fields, or does not match JWKS_KEY.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 00:33:26 +08:00
YuTengjing 0387dc5808 🐛 fix: normalize multimodal fallback image formats (#18851) 2026-08-30 02:03:21 +08:00
Innei 50548e7d31 ✨ feat(next): unify asset base URL and namespace app static dirs (#18221)
* ✨ feat(next): unify asset base URL and add crossOrigin

- Derive assetPrefix from ASSET_BASE_URL, falling back to the
  deprecated NEXT_PUBLIC_ASSET_PREFIX so existing deploys keep working
- Set crossOrigin: 'anonymous' so a cross-origin asset host doesn't
  degrade module preload or turn Sentry frames into opaque errors

* ✅ test(next): cover trailing-slash strip on legacy asset prefix fallback

* ♻️ refactor(pwa): serve app icons from /app-icons instead of /icons

The PWA manifest icons and the default user avatar sat under the generic
/icons prefix. Namespacing them under /app-icons makes ownership explicit
and keeps them clear of any other path a deployment may serve at the root.
Every reference and the Cache-Control header rule move with the directory.

* 🐛 fix(next): gate crossOrigin on a configured asset prefix

crossOrigin: 'anonymous' was set unconditionally, so any self-hosted deployment whose asset host does not return Access-Control-Allow-Origin would go from working script tags to ones the browser refuses to execute. Apply it only when an asset prefix is actually configured, and document the ACAO requirement alongside the new ASSET_BASE_URL key.

* ♻️ refactor(assets): serve app images from /app-images instead of /images

Same change as /icons, for the same reason: /images is a generic root
prefix, and namespacing the App's own assets under /app-images makes
ownership explicit. Every reference goes through the imageUrl helper or a
literal path, and the Cache-Control header rule moves with them so the
images do not silently lose immutable caching.
2026-08-12 23:28:36 +08:00
YuTengjing a27dfaeda1 ✨ feat: support audio in multimodal understanding (#17904) 2026-08-05 11:08:46 +08:00
René Wang aa56638fa0 📝 docs: add July 27 weekly changelog (#17635) 2026-07-27 10:15:38 +08:00
LiJian a6a2642008 🐛 fix(tools): make TOOL_NAME_MAX_LENGTH=0 actually disable tool-name compression (#17530)
* 🐛 fix(tools): make TOOL_NAME_MAX_LENGTH=0 actually disable tool-name compression

`TOOL_NAME_MAX_LENGTH` (#17249) is read from `process.env` at module load in
`ToolNameResolver`, so it only ever applied to the gateway (server-run) path.
The default client-driven chat path builds the tool payload in the browser,
where the server env is invisible — deployments setting `0` still got opaque
`MD5HASH_…` tool names.

Ship the value to the client with the global server config and push it into the
context-engine module both on config load and at `createToolsEngine` (the client
mirror of `createServerToolsEngine`), before any tool name is generated.

Also adds the var to the `@lobechat/env` tools schema and documents it in the
self-hosting env docs (en + zh-CN).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* ♻️ refactor(tools): parse TOOL_NAME_MAX_LENGTH through one shared function

Review follow-up: the env schema coerced the value with zod while
`ToolNameResolver` parsed `process.env` with `parseInt`, so the same env value
could mean two things on the two sides that generate tool names:

  raw      resolver (server)   shipped to client
  1e2      1                   100
  " "      64 (fallback)       0  → compression silently off on the client
  2048     2048                throws
  -5/abc   64 (fallback)       throws

The last row is the worst: `@t3-oss/env-core` throws on validation failure, so a
typo'd value would take `getServerGlobalConfig()` down entirely, where before it
just fell back to 64.

Move the parse into `parseToolNameMaxLength` (`@lobechat/const/plugin`, a leaf
module both sides can import cheaply — importing context-engine here would drag
the database module graph into the config path) and have the resolver and the
global config both use it. Unset / unparseable / negative reads as "not
configured" and falls back to the default; no upper bound, matching the
resolver. Env schema now passes the raw string through.

Covered by a table test in `ToolNameResolver.config.test.ts` (parse semantics)
and one in `getServerGlobalConfig.test.ts` (the shipped value matches, and a
typo no longer throws).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* ♻️ refactor(tools): keep the tool-name config out of the app-shell bundle

The client-side sync lived in `serverConfig`'s SWR success handler, which put a
static `@lobechat/context-engine` import into a store that every page creates —
including the lightweight auth / popup shells — dragging the engine's module
graph (down to `@lobechat/database`) into bundles that never generate a tool
name.

Keep the value as plain data in the server config and push it into the engine
from the sites that actually generate names, via `applyToolNameMaxLength()`:
`createToolsEngine` (the tools payload) and the agent-profile mention list,
whose generated names are written into the system prompt and so must match the
names sent to the model. `src/store/serverConfig` is now byte-identical to
canary.

Verified: SPA vite build passes (the `@lobechat/const/plugin` subpath resolves
in the client bundle); context-engine 445 tests, client-side 286 tests, server
globalConfig/tool-engine suites, and the full type-check all pass.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-24 11:49:44 +08:00
YuTengjing 191f3fe776 📝 docs: fix outdated content across the docs site (#16964)
* 📝 docs: fix outdated content across the docs site

Audited docs/ against the current codebase and fixed stale content that
drifted after major refactors (Clerk/NextAuth → Better Auth, src/server →
apps/server, src/{config,envs,locales} → packages/*, model-bank updates).

- self-hosting/auth: mark removed NextAuth/Clerk pages with deprecation
  warnings; fix microsoft/zitadel alias claims and the Logto callback path
- environment-variables & advanced: correct wrong defaults (S3_SET_ACL,
  AI_IMAGE_DEFAULT_IMAGE_NUM, index/proxy URLs), drop non-existent env vars
  and fictional feature flags, fix OIDC config guidance
- development: update refactored paths, Better Auth, .mjs configs, remove
  the MSW section (msw is not a dependency)
- providers & model examples: replace retired model ids with in-bank ones;
  fix comfyui frontmatter corruption
- usage: rename Moderator→Orchestrator, GTD→Task, correct shortcut keys,
  channel capability tables, Feishu/Lark WebSocket mode
- platform/migration: fix dead links, docker service name, npx/npm → bun

EN and zh-CN pairs updated together.

* 📝 docs: fix Logto callback path and AUTH_SECRET deprecation guidance

- Revert Logto/Sealos callback URLs to /api/auth/callback/logto to match
  the runtime SSO redirectURI override
- Narrow legacy auth Callout: AUTH_SECRET remains required for Better Auth;
  mark NEXT_AUTH_SECRET as deprecated in zh-CN

* 📝 docs: refresh agent skills for locales, env, auth, and agentRun paths

Align OSS agent guidance with post-refactor layout:
- packages/locales/src/default + bun run i18n
- packages/env/src for env schemas (@/envs alias)
- spa-auth shell + src/routes/auth segments
- chat agentRun/transports/hetero instead of aiChat

* 📝 docs: document APP_URL as required for Better Auth base URL

Self-hosted auth uses appEnv.APP_URL as baseURL, not request-header
auto-detection. NEXT_PUBLIC_AUTH_URL remains deprecated.

* 📝 docs: note self-host search provider setup for web search

Built-in lobe-web-browsing needs no client plugin, but self-hosted
servers still require SEARCH_PROVIDERS / SEARXNG_URL (default SearXNG).

* 📝 docs: point feature guide welcome UI at AgentHome

Opening message/questions on the agent chat page live in
src/features/AgentHome, not Onboarding WelcomeMessage.
2026-07-10 17:50:03 +08:00
Sui_Feng aefce3df3a 📝 docs: Upgrade some pages in documents (#16189)
* 📝 docs: Remove Langfuse docs; enable pg_search

Delete Langfuse observability guides (langfuse.mdx and langfuse.zh-CN.mdx). Update Docker self-hosting docs to add `-c shared_preload_libraries=pg_search` to the ParadeDB docker run command and clarify that the ParadeDB image includes pgvector and pg_search and that pg_search must be explicitly enabled; apply the same clarification to the Chinese documentation.

* 📝 docs: Document 'video' capability in model list

Add a `video` entry to the extension capabilities table in docs/self-hosting/advanced/model-list.mdx and its Chinese translation (model-list.zh-CN.mdx) to document Video Comprehension support.

* 📝 docs: Add agent feature flags & update thread text

Add documentation entries for new system agent feature flags: generationTopic (AI image automatic topic naming), inputCompletion (input auto-completion suggestions), and promptRewrite (prompt optimization before generation). Also reword the thread/branch conversation entry to clarify automatic title generation. Apply the same updates to the Chinese localization file.

* 📝 docs: Document AGENT_GATEWAY_SERVICE_TOKEN env var

Add documentation for the AGENT_GATEWAY_SERVICE_TOKEN environment variable to the self-hosting environment variables pages (English and Chinese). The new entries specify that the variable is optional, describe it as the authentication token used between Gateway Mode and a self-deployed Agent Gateway, and include default (-) and example (`dev-secret`). Files changed: docs/self-hosting/environment-variables/basic.mdx and basic.zh-CN.mdx.
2026-07-01 12:27:47 +08:00
Arvin Xu bc9a7cfab8 ✨ feat(gateway): move gateway mode to chat config (#15714)
* ✨ feat(gateway): move gateway mode to chat config

* ✨ feat(gateway): add agent gateway env flag
2026-06-14 15:18:40 +08:00
Arvin Xu 3bcf6a8d72 ♻️ refactor(agent-settings): consolidate Chat tab into Params popover, drop dead auto-topic feature (#14885)
* 🔥 chore(agent-config): drop dead enableAutoCreateTopic feature

Drop enableAutoCreateTopic + autoCreateTopicThreshold end-to-end. No
business code consumed these fields anymore — only types, defaults,
locale copy, UI form items, agent-builder LLM prompts, and test
fixtures kept the dead config alive.

Sweep:
- types & zod schema (LobeAgentChatConfig, AgentChatConfigSchema, openapi)
- DEFAULT_AGENT_CHAT_CONFIG constant
- locale keys in default + 18 translations
- agent-builder system prompts & tool manifests
- AgentChat form items (auto-topic switch + threshold slider)
- test fixtures & integration tests (replaced sample boolean key in
  parser tests with enableHistoryCount)
- docs/self-hosting env-var examples
- settings.test snapshot

dataImporter JSON fixtures keep the legacy keys on purpose — they
simulate historical user exports and the zod schema strips unknowns.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* ✨ feat(chat-input): move inputTemplate + autoScroll into Params popover

Surface the User Input Preprocessing template (inputTemplate) and
Auto-scroll During AI Response toggle (enableAutoScrollOnStreaming) in
the chat-input Params popover, alongside compression / history /
max_tokens. Drop the matching form items from AgentChat — the popover
is now the single entry point for these two agent-level preferences.

ControlRow's action prop becomes optional so inputTemplate can render
as a label + TextArea without a Switch.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* 🔥 refactor(agent-settings): drop AgentChat tab in favor of Params popover

Remove the now-redundant Chat Preferences tab from agent settings:

- delete src/features/AgentSetting/AgentChat/
- drop ChatSettingsTabs.Chat enum and its three registrations
  (useCategory, AgentSettingsContent, profile Content)
- drop agentTab.chat locale key in default + 18 translations
- drop MessagesSquare / MessagesSquareIcon imports that became unused

History/compression/auto-scroll/inputTemplate already live in the
chat-input Params popover, so this tab carried no unique
functionality.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* ✨ feat(chat-input): surface enableStreaming + reasoning_effort + disabledParams in Params popover

Bring the Model tab's controls into the chat-input Params popover so the
popover can become the single entry point for agent-level params.

- enableStreaming Switch at the top of Advanced (treats undefined as on,
  matching `chatConfig.enableStreaming !== false` in chat service)
- reasoning_effort row after max_tokens (Select tied to
  chatConfig.enableReasoningEffort / params.reasoning_effort, matching
  the agentConfigResolver gating)
- per-model disabledParams filter on the 4 sampling sliders (e.g. Claude
  Opus 4.7 hides temperature/top_p), via aiModelSelectors.modelDisabledParams
- max_tokens defaults to 4096 on toggle-on (parity with AgentModal),
  matching the AgentModal UX
- drop the !enableAgentMode gate on Advanced so agent-mode users still
  reach the model params once the Model tab is gone

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* 🔥 refactor(agent-settings): drop AgentModal tab in favor of Params popover

Now that the chat-input Params popover surfaces enableStreaming,
reasoning_effort, the 4 sampling params (model-aware via
disabledParams), and max_tokens, the Model Settings tab carries no
unique behavior. Remove it:

- delete src/features/AgentSetting/AgentModal/ (index + ModelSelect)
- drop ChatSettingsTabs.Modal enum and its three registrations
  (useCategory, AgentSettingsContent, profile Content)
- drop agentTab.modal locale key in default + 18 translations
- drop BrainCog / BrainIcon imports that became unused
- simplify the profile Content inbox-default fallback to Opening
  (Content menu no longer carried Modal at all)

settingModel.* locale keys are kept — Controls still reads them.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* 🐛 fix(chat-input): keep !enableAgentMode gate on Advanced sampling params

Walk back the gate removal from the prior commit. Agent mode is meant
to manage temperature / top_p / penalties / reasoning_effort itself;
exposing user overrides there contradicts the design.

- Move enableStreaming out of Advanced into the common section so it
  stays visible in both modes (streaming is a UI behavior, not a
  sampling param).
- Re-wrap the SectionHeader + sampling sliders + max_tokens +
  reasoning_effort with `{!enableAgentMode && (...)}`, restoring the
  prior visibility rule.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 10:27:35 +08:00
YuTengjing df32dd4966 ✨ feat: support model defaults and DeepSeek pricing (#14379) 2026-05-02 23:21:09 +08:00
Arvin Xu a176288670 💄 style(conversation): persist per-topic chat scroll position (#14191)
* ✨ feat(conversation): persist per-topic chat scroll position to localStorage

Restores scroll position when switching back to a topic, keyed by
messageMapKey(context). Falls back to scroll-to-bottom for new topics or
when the user was already at the bottom. Storage is capped at 500 entries
with 30-day expiry and silent fallback on quota errors.

Fixes LOBE-8251

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* 🔨 chore(conversation): rename scroll snapshot storage prefix to LOBEHUB

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* 🔨 chore(conversation): use LOBEHUB_SCROLL as scroll snapshot key prefix

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* 🐛 fix(conversation): preserve scroll across draft-to-topic key transition

When a draft conversation (`*_new` key) gets promoted to a real topic via
onTopicCreated, the contextKey changes mid-stream for the same logical
conversation. Treating it as a topic switch loaded a missing snapshot and
fell back to scrollToIndex(end), yanking users away from content they
were reading.

Now we detect the draft-promotion shape, migrate the snapshot to the new
key, and skip the restore pass while data is already on screen.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* 🔥 chore(settings): remove queryRewrite system agent

Removes the unused knowledge-base query rewrite system agent: settings UI in agent/service-model pages, type definition, default config, store selector, server env parser, locale strings across 18 languages, env-variable docs, and the now-orphan chainRewriteQuery prompt chain.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 18:14:32 +08:00
Arvin Xu adbf11dc11 📝 docs: update documents (#12982)
update document
2026-03-14 22:06:09 +08:00
YuTengjing f3210a3f57 🐛 fix(auth): add AUTH_DISABLE_EMAIL_PASSWORD env to enable SSO-only mode (#12009) 2026-01-31 18:25:22 +08:00
YuTengjing e6cb6cb592 🐛 fix: rename docker image and update docs for v2 (#11911) 2026-01-27 22:14:58 +08:00
René Wang 3dfc86fd0f feat: Update user guide & changelog (#11518)
* feat: Redesign doc

* chore: uopdate site

* chore: uopdate site

* chore: uopdate site

* chore: uopdate site

* chore: uopdate site

* feat: Uopdate content

* chore: New doc

* chore: Update content

* chore: Update content

* chore: add images

* chore: add images

* chore: add images

* chore: add images

* feat: Add more images

* feat: Add more images

* fix: Cannot reach end

* chore: Update content

* chore: Update content

* chore: Update content

* chore: Update content

* chore: Update content

* Revise README content and structure

Updated README to reflect changes in project description and removed outdated notes.

* Revise 'Getting Started' and TOC in README

Updated the 'Getting Started' section and modified the table of contents.

* chore: Update content

* Revise README structure and content

Updated the Getting Started section and removed the Table of Contents. Adjusted the Local Development instructions.

* Remove custom themes section from README

Removed section about custom themes from README.

* Update README.md

* Refine introduction and highlight cloud version

Updated wording for clarity and added recommendation for cloud version.

* chore: Update content

* chore: Update content

* chore: Update content

* chore: Update content

* chore: Update content

* chore: Update content

* chore: Update content

* fix: add missing translation

* 🔀 chore: Move README changes to feat/readme branch

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: add missing translation

* chore: update cdn

* docs: add migration guide from v1.x local database to v2.x and update help sections

Signed-off-by: Innei <tukon479@gmail.com>

* fix: add missing translation

* fix: add missing images

* fix: add missing changelogs

* fix: add missing changelogs

* fix: add missing changelogs

* fix: add missing changelogs

* fix: add missing changelogs

* style: update cdn

---------

Signed-off-by: Innei <tukon479@gmail.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: canisminor1990 <i@canisminor.cc>
Co-authored-by: Innei <tukon479@gmail.com>
2026-01-26 15:28:33 +08:00
YuTengjing 1eff8646f7 ✨ feat: remove NextAuth (#11732) 2026-01-23 23:57:08 +08:00
YuTengjing 3110e2c356 📝 docs: update Better Auth documentation (#11679) 2026-01-21 18:44:44 +08:00
YuTengjing 4f7bc5acd2 🐛 fix: add SSRF protection (#10152) 2025-11-11 19:39:36 +08:00
YuTengjing de7368bc25 ✨ feat: add new setting for default image num (#9618) 2025-10-12 23:56:17 +08:00
peerless-hero dd9bbdc362 🔨 chore(config): add assetPrefix to nextConfig for environment variable support (#9427)
* ✨ feat(config): add assetPrefix to nextConfig for environment variable support

* ✨ feat(docs): add NEXT_PUBLIC_ASSET_PREFIX environment variable for CDN support
2025-09-26 02:57:18 +08:00
Arvin Xu 2a5f8d712f ♻️ refactor: remove base path (#9015)
* clean

* remove

* fix

* move config to envs

* remove envs
2025-09-01 00:30:13 +08:00
sxjeru 2a811d0a85 🔨 chore: Prettier & Add proxyUrl for all providers (#8061)
* migration: 添加移除 reasoning_effort 参数和删除 doubao 的迁移脚本

* Refactor code structure for improved readability and maintainability

* npx prettier --write "src/**/*"

* add proxyUrl for all providers

* npx prettier --write "docs/**/*"

* Revert

* Revert

* revert
2025-06-04 21:39:39 +08:00
Arvin Xu d61a9f5998 ✨ feat: support protect page (#8024)
* 🚚 refactor: move config/app to env/app

* ✨ feat: support protect route

* 📝 docs: add protect support

* fix callbackUrl

* fix tests
2025-06-01 15:12:57 +08:00
Arvin Xu addea48b52 💄 style: support default config for system agent and pre-merge some desktop code (#7296)
* refactor

* update

* improve scripts

* fix changelog issue

* improve system agent config

* fix tests

* update scripts

* update ollama models

* Update ollama.ts
2025-04-06 12:09:57 +08:00
WindSpiritSR 459c2fa452 📝 docs: Update PROXY_URL and ENABLE_PROXY_DNS (#7304)
Signed-off-by: WindSpiritSR <simon343riley@gmail.com>
2025-04-06 11:09:56 +08:00
CanisMinor 2c3331a591 ✨ feat: Update Remark (#5340)
* ✨ feat: Update Remark

* 📝 docs: Update seo

* 🔧 chore: Fix deps

* 🔧 chore: Update ui version

* 📝 docs: Update docs

* ✨ feat: Update @lobehub/ui to 1.163.0
2025-01-08 21:32:57 +08:00
coulsontl 7175145d8a 💄 style: allow users to disable SSRF or set a whitelist (#4633)
* feat: allow users to disable SSRF or set a whitelist

* chore: add document description

* chore:  refactor code

* chore: modify code specification

---------

Co-authored-by: coulsonpl <184711000+coulsonpl@users.noreply.github.com>
2024-11-09 21:45:19 +08:00
Arvin Xu 46e79160d2 📝 docs: update docs for database deployment (#3397) 2024-08-05 14:59:38 +08:00
Zhijie He 920de7c600 🐛 fix: add PROXY_URL in docker with proxychains-ng (#3362)
* ✨: feat: support PROXY_URL in docker with proxychains-ng

* 🔨 chore: let proxychains config more readable

* 🔨 chore: add package update

* ⚡️ perf: add CN mirror for Alpine

* 🔨 chore: add more comments

* 🔨 chore: change USE_NPM_CN_MIRROR to USE_CN_MIRROR

* 🐛 fix: fix cn mirror for alpine during building

* 🐛 fix: fix permission issue

* 🐛 fix: fix app path error

* ✨ feat: support proxy server with domain

* 🔨 chore: add more comments & cleanup code

* 🔨 chore: add more comments

* ⚡️ perf: resolve only when host is domain

* 🔨 chore: move IP_REGEX to head

* 🔨 chore: replace `! -z` to `-n`

* 🔨 chore: update comments

* ✨ feat: add `DEFAULT_AGENT_CONFIG` and `SYSTEM_AGENT` to env, allow set default model

* Add documentation for `PROXY_URL` environment variable

Add documentation for `PROXY_URL` environment variable in both English and Chinese versions of the environment variables guide.

* **English Documentation**
  - Add `PROXY_URL` section to specify the proxy URL for connecting to external services.
  - Include example values and a callout for Docker Desktop users.

* **Chinese Documentation**
  - Add `PROXY_URL` section to specify the proxy URL for connecting to external services.
  - Include example values and a callout for Docker Desktop users.

---------

Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2024-08-03 19:35:09 +08:00
Star b37976c24e 📝 docs(env): update configuration docs (#2729)
* 📝 docs(env): configuration type

Signed-off-by: Star <i@ssstttar.com>

* 📝 docs: fix punctuation marks

Signed-off-by: Star <i@ssstttar.com>

* 📝 docs: add chatConfig

Signed-off-by: Star <i@ssstttar.com>

* 📝 docs(bot): Auto sync agents & plugin to readme

---------

Signed-off-by: Star <i@ssstttar.com>
2024-06-01 11:55:00 +08:00
Arthals 2a3e94dda9 📝 docs: sync feature flags path change (#2614)
* 📝 docs: sync feature flags path change

* 📝 docs: adjust path for feature flags

* 📝 docs: relative path
2024-05-23 18:04:08 +08:00
Arthals b287b0aa87 📝 docs: Feature Flags & fix some typo (#2585) 2024-05-23 01:26:29 +08:00
Arvin Xu 9cf60b5072 🐛 fix: fix docker build (#2385) 2024-05-06 10:07:57 +08:00
Arvin Xu cca7816486 📝 docs: update docs (#2006)
* 📝 docs: update docs

* 📝 docs: update docs
2024-04-12 17:36:36 +08:00
CanisMinor 30dd95a6a0 📝 docs: Fix docs typo 2024-04-11 03:08:25 +00:00
CanisMinor e97f62f65e 📝 docs: Update docs to fit next RSC (#1939)
* 📝 docs: Update docs to fit next rsc

* 📝 docs: Replace links

* chore: fix i18n config

* 📝 docs: update seo
2024-04-11 00:28:48 +08:00
Arvin Xu 290d33b34d ♻️ refactor: refactor SSO providers (#1865)
* ♻️ refactor: refactor providers

* 📝 docs: improve docs
2024-04-02 20:57:01 +08:00
半颗白菜 caf378bb73 ✨ feat: support GitHub OAuth (#1850) 2024-04-02 14:35:21 +08:00
RealTong 181dfa5b66 ✨ feat: support authentik as sso (#1650)
* ✨ feat: support authentik as sso

* 📝 docs: sso docs for Authentik
2024-03-29 10:05:19 +08:00
Arvin Xu e07e9cf7c5 ♻️ refactor: refactor the Vercel Aanlytics and support Google Aanlytics (#1688)
* ♻️ refactor: migrating to the latest Speed Insights package

* ✨ feat: support google analytics

* 📝 docs: update docs

* 📝 docs: update docs
2024-03-22 21:08:09 +08:00
CanisMinor 04d8e53e26 📝 docs: improve docs (#1597)
* 📝 docs: Update docs to fit the new docs theme

* 📝 docs: Update docs

* 🔧 chore: fix build

* Update tts.zh-CN.mdx

* Update tts.mdx

---------

Co-authored-by: arvinxx <arvinx@foxmail.com>
2024-03-17 22:23:30 +08:00
EINDEX 6649cd1bcb ✨ feat: support azure-ad as a new sso provider (#1456)
* ✨ feat: support azure-ad as sso

* 📝 docs: sso docs for azure-ad

* 🩹 fix: sso document

* 🩹 typo: fix typo for new env

* 🩹 fix: support chinese comma

* 📝 docs: Update multiple idp doc

* 📝 docs: document update
2024-03-15 19:53:41 +08:00
CanisMinor 536c885564 🔧 chore: add mdx lint (#1475)
* 🔧 chore: Add mdx lint

* 📝 docs: Update docs

* 📝 docs: update docs

---------

Co-authored-by: arvinxx <arvinx@foxmail.com>
2024-03-10 18:46:41 +08:00
cy948 922e84306c 🐛 fix: fix OAuth errors on Docker deployment (#1323)
* 📝 docs: add ENV `NEXTAUTH_URL` to docs

* 🐛 fix: OAuth errors on Docker deployment

* 📌 chore: Lock next-auth to 5.0.0-beta.11
2024-02-20 09:59:40 +08:00
arvinxx 087bc60aaa 📝 docs: update docs 2024-02-19 15:08:02 +08:00