@lobehub/lobehub 2.0.0-next.382 → 2.0.0-next.384
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.js +1 -0
- package/.i18nrc.js +5 -10
- package/.remarkrc.mdx.js +1 -1
- package/CHANGELOG.md +72 -0
- package/README.md +5 -3
- package/apps/desktop/src/main/controllers/LocalFileCtr.ts +25 -1
- package/apps/desktop/src/main/controllers/UpdaterCtr.ts +1 -1
- package/changelog/v1.json +21 -0
- package/docker-compose/local/.env.example +10 -8
- package/docker-compose/local/.env.zh-CN.example +10 -8
- package/docker-compose/local/bucket.config.json +24 -0
- package/docker-compose/local/docker-compose.yml +56 -37
- package/docker-compose/setup.sh +65 -30
- package/docs/.cdn.cache.json +404 -1
- package/docs/changelog/2023-09-09-plugin-system.mdx +8 -8
- package/docs/changelog/2023-09-09-plugin-system.zh-CN.mdx +6 -6
- package/docs/changelog/2023-11-14-gpt4-vision.mdx +4 -4
- package/docs/changelog/2023-11-14-gpt4-vision.zh-CN.mdx +4 -4
- package/docs/changelog/2023-11-19-tts-stt.mdx +5 -5
- package/docs/changelog/2023-11-19-tts-stt.zh-CN.mdx +5 -5
- package/docs/changelog/2023-12-22-dalle-3.mdx +4 -4
- package/docs/changelog/2023-12-22-dalle-3.zh-CN.mdx +3 -3
- package/docs/changelog/2024-02-08-sso-oauth.mdx +6 -6
- package/docs/changelog/2024-02-08-sso-oauth.zh-CN.mdx +5 -5
- package/docs/changelog/2024-02-14-ollama.mdx +7 -7
- package/docs/changelog/2024-02-14-ollama.zh-CN.mdx +7 -7
- package/docs/changelog/2024-06-19-lobe-chat-v1.mdx +9 -9
- package/docs/changelog/2024-06-19-lobe-chat-v1.zh-CN.mdx +8 -8
- package/docs/changelog/2024-07-19-gpt-4o-mini.mdx +8 -8
- package/docs/changelog/2024-07-19-gpt-4o-mini.zh-CN.mdx +8 -8
- package/docs/changelog/2024-08-02-lobe-chat-database-docker.mdx +7 -7
- package/docs/changelog/2024-08-02-lobe-chat-database-docker.zh-CN.mdx +7 -7
- package/docs/changelog/2024-08-21-file-upload-and-knowledge-base.mdx +5 -5
- package/docs/changelog/2024-08-21-file-upload-and-knowledge-base.zh-CN.mdx +5 -5
- package/docs/changelog/2024-09-13-openai-o1-models.mdx +6 -6
- package/docs/changelog/2024-09-13-openai-o1-models.zh-CN.mdx +7 -7
- package/docs/changelog/2024-09-20-artifacts.mdx +10 -10
- package/docs/changelog/2024-09-20-artifacts.zh-CN.mdx +10 -10
- package/docs/changelog/2024-10-27-pin-assistant.mdx +4 -4
- package/docs/changelog/2024-10-27-pin-assistant.zh-CN.mdx +4 -4
- package/docs/changelog/2024-11-06-share-text-json.mdx +7 -7
- package/docs/changelog/2024-11-06-share-text-json.zh-CN.mdx +4 -4
- package/docs/changelog/2024-11-25-november-providers.mdx +5 -5
- package/docs/changelog/2024-11-25-november-providers.zh-CN.mdx +5 -5
- package/docs/changelog/2024-11-27-forkable-chat.mdx +4 -4
- package/docs/changelog/2024-11-27-forkable-chat.zh-CN.mdx +4 -4
- package/docs/changelog/2025-01-03-user-profile.mdx +5 -5
- package/docs/changelog/2025-01-03-user-profile.zh-CN.mdx +5 -5
- package/docs/changelog/2025-01-22-new-ai-provider.mdx +4 -4
- package/docs/changelog/2025-01-22-new-ai-provider.zh-CN.mdx +4 -4
- package/docs/changelog/2025-02-02-deepseek-r1.mdx +8 -8
- package/docs/changelog/2025-02-02-deepseek-r1.zh-CN.mdx +6 -6
- package/docs/changelog/2025-03-02-new-models.zh-CN.mdx +28 -0
- package/docs/changelog/2025-04-06-exports.zh-CN.mdx +32 -0
- package/docs/changelog/2025-05-08-desktop-app.zh-CN.mdx +35 -0
- package/docs/changelog/2025-06-08-claude-4.zh-CN.mdx +20 -0
- package/docs/changelog/2025-07-08-mcp-market.zh-CN.mdx +28 -0
- package/docs/changelog/2025-08-08-image-generation.zh-CN.mdx +28 -0
- package/docs/changelog/2025-09-08-gemini.zh-CN.mdx +24 -0
- package/docs/changelog/2025-10-08-python.zh-CN.mdx +29 -0
- package/docs/changelog/2025-11-08-comfy-ui.zh-CN.mdx +28 -0
- package/docs/changelog/2025-12-20-mcp.zh-CN.mdx +26 -0
- package/docs/changelog/index.json +60 -0
- package/docs/development/basic/add-new-authentication-providers.mdx +10 -19
- package/docs/development/basic/add-new-authentication-providers.zh-CN.mdx +11 -3
- package/docs/development/basic/add-new-image-model.mdx +7 -0
- package/docs/development/basic/add-new-image-model.zh-CN.mdx +5 -0
- package/docs/development/basic/architecture.mdx +19 -10
- package/docs/development/basic/architecture.zh-CN.mdx +17 -10
- package/docs/development/basic/chat-api.mdx +9 -1
- package/docs/development/basic/chat-api.zh-CN.mdx +7 -1
- package/docs/development/basic/comfyui-development.mdx +3 -3
- package/docs/development/basic/comfyui-development.zh-CN.mdx +4 -4
- package/docs/development/basic/contributing-guidelines.mdx +12 -3
- package/docs/development/basic/contributing-guidelines.zh-CN.mdx +10 -3
- package/docs/development/basic/feature-development-frontend.mdx +15 -6
- package/docs/development/basic/feature-development-frontend.zh-CN.mdx +13 -6
- package/docs/development/basic/feature-development.mdx +16 -9
- package/docs/development/basic/feature-development.zh-CN.mdx +15 -9
- package/docs/development/basic/folder-structure.mdx +10 -1
- package/docs/development/basic/folder-structure.zh-CN.mdx +8 -1
- package/docs/development/basic/resources.mdx +12 -3
- package/docs/development/basic/resources.zh-CN.mdx +10 -3
- package/docs/development/basic/setup-development.mdx +19 -8
- package/docs/development/basic/setup-development.zh-CN.mdx +15 -8
- package/docs/development/basic/test.mdx +12 -3
- package/docs/development/basic/test.zh-CN.mdx +9 -3
- package/docs/development/basic/work-with-server-side-database.mdx +10 -3
- package/docs/development/basic/work-with-server-side-database.zh-CN.mdx +10 -3
- package/docs/development/internationalization/add-new-locale.mdx +13 -6
- package/docs/development/internationalization/add-new-locale.zh-CN.mdx +13 -6
- package/docs/development/internationalization/internationalization-implementation.mdx +16 -7
- package/docs/development/internationalization/internationalization-implementation.zh-CN.mdx +13 -7
- package/docs/development/others/lighthouse.mdx +11 -6
- package/docs/development/others/lighthouse.zh-CN.mdx +12 -6
- package/docs/development/start.mdx +18 -9
- package/docs/development/start.zh-CN.mdx +16 -9
- package/docs/development/state-management/state-management-intro.mdx +17 -9
- package/docs/development/state-management/state-management-intro.zh-CN.mdx +13 -7
- package/docs/development/state-management/state-management-selectors.mdx +12 -3
- package/docs/development/state-management/state-management-selectors.zh-CN.mdx +10 -3
- package/docs/development/tests/integration-testing.mdx +410 -0
- package/docs/development/tests/integration-testing.zh-CN.mdx +8 -2
- package/docs/glossary.md +7 -7
- package/docs/glossary.zh-CN.md +13 -0
- package/docs/self-hosting/advanced/analytics.mdx +4 -4
- package/docs/self-hosting/advanced/analytics.zh-CN.mdx +4 -4
- package/docs/self-hosting/advanced/auth/clerk.mdx +4 -4
- package/docs/self-hosting/advanced/auth/clerk.zh-CN.mdx +4 -4
- package/docs/self-hosting/advanced/auth/next-auth/auth0.mdx +13 -13
- package/docs/self-hosting/advanced/auth/next-auth/auth0.zh-CN.mdx +13 -13
- package/docs/self-hosting/advanced/auth/next-auth/authelia.mdx +10 -10
- package/docs/self-hosting/advanced/auth/next-auth/authelia.zh-CN.mdx +8 -8
- package/docs/self-hosting/advanced/auth/next-auth/authentik.mdx +6 -6
- package/docs/self-hosting/advanced/auth/next-auth/authentik.zh-CN.mdx +6 -6
- package/docs/self-hosting/advanced/auth/next-auth/casdoor.mdx +16 -16
- package/docs/self-hosting/advanced/auth/next-auth/casdoor.zh-CN.mdx +15 -15
- package/docs/self-hosting/advanced/auth/next-auth/cloudflare-zero-trust.mdx +14 -14
- package/docs/self-hosting/advanced/auth/next-auth/cloudflare-zero-trust.zh-CN.mdx +15 -15
- package/docs/self-hosting/advanced/auth/next-auth/github.mdx +14 -14
- package/docs/self-hosting/advanced/auth/next-auth/github.zh-CN.mdx +12 -12
- package/docs/self-hosting/advanced/auth/next-auth/google.mdx +10 -12
- package/docs/self-hosting/advanced/auth/next-auth/google.zh-CN.mdx +77 -0
- package/docs/self-hosting/advanced/auth/next-auth/keycloak.mdx +19 -19
- package/docs/self-hosting/advanced/auth/next-auth/keycloak.zh-CN.mdx +17 -17
- package/docs/self-hosting/advanced/auth/next-auth/logto.mdx +15 -15
- package/docs/self-hosting/advanced/auth/next-auth/logto.zh-CN.mdx +15 -15
- package/docs/self-hosting/advanced/auth/next-auth/microsoft-entra-id.mdx +9 -9
- package/docs/self-hosting/advanced/auth/next-auth/microsoft-entra-id.zh-CN.mdx +8 -8
- package/docs/self-hosting/advanced/auth/next-auth/okta.mdx +8 -8
- package/docs/self-hosting/advanced/auth/next-auth/okta.zh-CN.mdx +6 -6
- package/docs/self-hosting/advanced/auth/next-auth/wechat.mdx +6 -6
- package/docs/self-hosting/advanced/auth/next-auth/wechat.zh-CN.mdx +6 -6
- package/docs/self-hosting/advanced/auth/next-auth/zitadel.mdx +14 -14
- package/docs/self-hosting/advanced/auth/next-auth/zitadel.zh-CN.mdx +15 -15
- package/docs/self-hosting/advanced/auth.mdx +37 -15
- package/docs/self-hosting/advanced/auth.zh-CN.mdx +36 -13
- package/docs/self-hosting/advanced/desktop.mdx +12 -12
- package/docs/self-hosting/advanced/desktop.zh-CN.mdx +12 -12
- package/docs/self-hosting/advanced/feature-flags.mdx +5 -5
- package/docs/self-hosting/advanced/feature-flags.zh-CN.mdx +5 -5
- package/docs/self-hosting/advanced/knowledge-base.mdx +8 -8
- package/docs/self-hosting/advanced/knowledge-base.zh-CN.mdx +7 -7
- package/docs/self-hosting/advanced/model-list.mdx +4 -4
- package/docs/self-hosting/advanced/model-list.zh-CN.mdx +4 -4
- package/docs/self-hosting/advanced/observability/grafana.mdx +7 -7
- package/docs/self-hosting/advanced/observability/grafana.zh-CN.mdx +4 -4
- package/docs/self-hosting/advanced/observability/langfuse.mdx +13 -13
- package/docs/self-hosting/advanced/observability/langfuse.zh-CN.mdx +13 -13
- package/docs/self-hosting/advanced/online-search.mdx +6 -6
- package/docs/self-hosting/advanced/online-search.zh-CN.mdx +6 -6
- package/docs/self-hosting/advanced/s3/cloudflare-r2.mdx +13 -13
- package/docs/self-hosting/advanced/s3/cloudflare-r2.zh-CN.mdx +13 -13
- package/docs/self-hosting/advanced/s3/rustfs.mdx +142 -0
- package/docs/self-hosting/advanced/s3/rustfs.zh-CN.mdx +143 -0
- package/docs/self-hosting/advanced/s3/tencent-cloud.mdx +4 -4
- package/docs/self-hosting/advanced/s3/tencent-cloud.zh-CN.mdx +4 -4
- package/docs/self-hosting/advanced/s3.mdx +4 -4
- package/docs/self-hosting/advanced/s3.zh-CN.mdx +1 -1
- package/docs/self-hosting/advanced/settings-url-share.mdx +4 -4
- package/docs/self-hosting/advanced/settings-url-share.zh-CN.mdx +5 -5
- package/docs/self-hosting/advanced/upstream-sync.mdx +11 -11
- package/docs/self-hosting/advanced/upstream-sync.zh-CN.mdx +11 -11
- package/docs/self-hosting/environment-variables/analytics.mdx +5 -5
- package/docs/self-hosting/environment-variables/analytics.zh-CN.mdx +3 -3
- package/docs/self-hosting/environment-variables/auth.mdx +3 -3
- package/docs/self-hosting/environment-variables/auth.zh-CN.mdx +4 -4
- package/docs/self-hosting/environment-variables/basic.mdx +15 -15
- package/docs/self-hosting/environment-variables/basic.zh-CN.mdx +14 -14
- package/docs/self-hosting/environment-variables/model-provider.mdx +2 -2
- package/docs/self-hosting/environment-variables/model-provider.zh-CN.mdx +4 -4
- package/docs/self-hosting/environment-variables/s3.mdx +2 -2
- package/docs/self-hosting/environment-variables/s3.zh-CN.mdx +2 -2
- package/docs/self-hosting/environment-variables.mdx +7 -7
- package/docs/self-hosting/environment-variables.zh-CN.mdx +4 -4
- package/docs/self-hosting/examples/azure-openai.mdx +5 -4
- package/docs/self-hosting/examples/azure-openai.zh-CN.mdx +4 -3
- package/docs/self-hosting/examples/ollama.mdx +10 -10
- package/docs/self-hosting/examples/ollama.zh-CN.mdx +9 -9
- package/docs/self-hosting/faq/no-v1-suffix.mdx +2 -4
- package/docs/self-hosting/faq/no-v1-suffix.zh-CN.mdx +2 -2
- package/docs/self-hosting/faq/proxy-with-unable-to-verify-leaf-signature.mdx +2 -2
- package/docs/self-hosting/faq/proxy-with-unable-to-verify-leaf-signature.zh-CN.mdx +2 -2
- package/docs/self-hosting/platform/alibaba-cloud.mdx +8 -7
- package/docs/self-hosting/platform/alibaba-cloud.zh-CN.mdx +5 -5
- package/docs/self-hosting/platform/btpanel.mdx +12 -12
- package/docs/self-hosting/platform/btpanel.zh-CN.mdx +11 -11
- package/docs/self-hosting/platform/docker-compose.mdx +4 -4
- package/docs/self-hosting/platform/docker-compose.zh-CN.mdx +4 -4
- package/docs/self-hosting/platform/docker.mdx +6 -6
- package/docs/self-hosting/platform/docker.zh-CN.mdx +8 -8
- package/docs/self-hosting/platform/netlify.mdx +27 -26
- package/docs/self-hosting/platform/netlify.zh-CN.mdx +24 -23
- package/docs/self-hosting/platform/railway.mdx +7 -7
- package/docs/self-hosting/platform/railway.zh-CN.mdx +6 -4
- package/docs/self-hosting/platform/repocloud.mdx +7 -7
- package/docs/self-hosting/platform/repocloud.zh-CN.mdx +4 -4
- package/docs/self-hosting/platform/sealos.mdx +6 -6
- package/docs/self-hosting/platform/sealos.zh-CN.mdx +5 -4
- package/docs/self-hosting/platform/tencentcloud-lighthouse.mdx +9 -7
- package/docs/self-hosting/platform/tencentcloud-lighthouse.zh-CN.mdx +5 -5
- package/docs/self-hosting/platform/vercel.mdx +7 -6
- package/docs/self-hosting/platform/vercel.zh-CN.mdx +6 -5
- package/docs/self-hosting/platform/zeabur.mdx +9 -9
- package/docs/self-hosting/platform/zeabur.zh-CN.mdx +9 -8
- package/docs/self-hosting/server-database/docker-compose.mdx +37 -37
- package/docs/self-hosting/server-database/docker-compose.zh-CN.mdx +37 -37
- package/docs/self-hosting/server-database/docker.mdx +17 -12
- package/docs/self-hosting/server-database/docker.zh-CN.mdx +18 -12
- package/docs/self-hosting/server-database/dokploy.mdx +24 -24
- package/docs/self-hosting/server-database/dokploy.zh-CN.mdx +20 -20
- package/docs/self-hosting/server-database/netlify.mdx +4 -4
- package/docs/self-hosting/server-database/netlify.zh-CN.mdx +4 -4
- package/docs/self-hosting/server-database/railway.mdx +4 -4
- package/docs/self-hosting/server-database/railway.zh-CN.mdx +4 -4
- package/docs/self-hosting/server-database/repocloud.mdx +5 -5
- package/docs/self-hosting/server-database/repocloud.zh-CN.mdx +5 -5
- package/docs/self-hosting/server-database/sealos.mdx +5 -5
- package/docs/self-hosting/server-database/sealos.zh-CN.mdx +5 -5
- package/docs/self-hosting/server-database/vercel.mdx +76 -27
- package/docs/self-hosting/server-database/vercel.zh-CN.mdx +73 -26
- package/docs/self-hosting/server-database/zeabur.mdx +14 -14
- package/docs/self-hosting/server-database/zeabur.zh-CN.mdx +14 -14
- package/docs/self-hosting/server-database.mdx +30 -12
- package/docs/self-hosting/server-database.zh-CN.mdx +26 -9
- package/docs/self-hosting/start.mdx +6 -6
- package/docs/self-hosting/start.zh-CN.mdx +5 -5
- package/docs/usage/agent/agent-team.mdx +66 -0
- package/docs/usage/agent/agent-team.zh-CN.mdx +64 -0
- package/docs/usage/agent/gtd.mdx +35 -0
- package/docs/usage/agent/gtd.zh-CN.mdx +33 -0
- package/docs/usage/agent/notebook.mdx +65 -0
- package/docs/usage/agent/notebook.zh-CN.mdx +56 -0
- package/docs/usage/agent/sandbox.mdx +79 -0
- package/docs/usage/agent/sandbox.zh-CN.mdx +73 -0
- package/docs/usage/agent/scheduled-task.mdx +27 -0
- package/docs/usage/agent/scheduled-task.zh-CN.mdx +25 -0
- package/docs/usage/agent/share.mdx +92 -0
- package/docs/usage/agent/share.zh-CN.mdx +60 -0
- package/docs/usage/agent/topic.mdx +59 -0
- package/docs/usage/agent/topic.zh-CN.mdx +57 -0
- package/docs/usage/agent/translate.mdx +32 -0
- package/docs/usage/agent/translate.zh-CN.mdx +29 -0
- package/docs/usage/agent/tts-stt.mdx +38 -0
- package/docs/usage/agent/tts-stt.zh-CN.mdx +36 -0
- package/docs/usage/community/agent-market.mdx +44 -0
- package/docs/usage/community/agent-market.zh-CN.mdx +41 -0
- package/docs/usage/community/become-a-creator.mdx +27 -0
- package/docs/usage/community/become-a-creator.zh-CN.mdx +25 -0
- package/docs/usage/community/custom-plugin.mdx +37 -0
- package/docs/usage/community/custom-plugin.zh-CN.mdx +35 -0
- package/docs/usage/community/mcp-market.mdx +32 -0
- package/docs/usage/community/mcp-market.zh-CN.mdx +30 -0
- package/docs/usage/community/publish-agent.mdx +30 -0
- package/docs/usage/community/publish-agent.zh-CN.mdx +27 -0
- package/docs/usage/community/pulgin-development.mdx +281 -0
- package/docs/usage/{plugins/development.zh-CN.mdx → community/pulgin-development.zh-CN.mdx} +24 -23
- package/docs/usage/getting-started/agent.mdx +105 -0
- package/docs/usage/getting-started/agent.zh-CN.mdx +103 -0
- package/docs/usage/getting-started/get-lobehub.mdx +41 -0
- package/docs/usage/getting-started/get-lobehub.zh-CN.mdx +39 -0
- package/docs/usage/getting-started/image-generation.mdx +54 -0
- package/docs/usage/getting-started/image-generation.zh-CN.mdx +52 -0
- package/docs/usage/getting-started/lobe-ai.mdx +34 -0
- package/docs/usage/getting-started/lobe-ai.zh-CN.mdx +32 -0
- package/docs/usage/getting-started/memory.mdx +72 -0
- package/docs/usage/getting-started/memory.zh-CN.mdx +68 -0
- package/docs/usage/getting-started/page.mdx +62 -0
- package/docs/usage/getting-started/page.zh-CN.mdx +60 -0
- package/docs/usage/getting-started/resource.mdx +67 -0
- package/docs/usage/getting-started/resource.zh-CN.mdx +65 -0
- package/docs/usage/help.mdx +38 -0
- package/docs/usage/help.zh-CN.mdx +36 -0
- package/docs/usage/migrate-from-local-database.mdx +118 -0
- package/docs/usage/migrate-from-local-database.zh-CN.mdx +115 -0
- package/docs/usage/providers/ai21.mdx +21 -22
- package/docs/usage/providers/ai21.zh-CN.mdx +12 -12
- package/docs/usage/providers/ai302.mdx +23 -21
- package/docs/usage/providers/ai302.zh-CN.mdx +8 -8
- package/docs/usage/providers/ai360.mdx +23 -22
- package/docs/usage/providers/ai360.zh-CN.mdx +12 -12
- package/docs/usage/providers/aihubmix.mdx +98 -0
- package/docs/usage/providers/aihubmix.zh-CN.mdx +5 -5
- package/docs/usage/providers/anthropic.mdx +25 -28
- package/docs/usage/providers/anthropic.zh-CN.mdx +13 -13
- package/docs/usage/providers/azure.mdx +25 -30
- package/docs/usage/providers/azure.zh-CN.mdx +14 -14
- package/docs/usage/providers/azureai.mdx +32 -32
- package/docs/usage/providers/azureai.zh-CN.mdx +15 -15
- package/docs/usage/providers/baichuan.mdx +21 -21
- package/docs/usage/providers/baichuan.zh-CN.mdx +12 -12
- package/docs/usage/providers/bedrock.mdx +41 -41
- package/docs/usage/providers/bedrock.zh-CN.mdx +19 -19
- package/docs/usage/providers/bfl.mdx +22 -23
- package/docs/usage/providers/bfl.zh-CN.mdx +8 -10
- package/docs/usage/providers/cloudflare.mdx +27 -27
- package/docs/usage/providers/cloudflare.zh-CN.mdx +13 -13
- package/docs/usage/providers/comfyui.mdx +90 -650
- package/docs/usage/providers/comfyui.zh-CN.mdx +20 -20
- package/docs/usage/providers/deepseek.mdx +28 -30
- package/docs/usage/providers/deepseek.zh-CN.mdx +14 -14
- package/docs/usage/providers/fal.mdx +23 -24
- package/docs/usage/providers/fal.zh-CN.mdx +8 -10
- package/docs/usage/providers/fireworksai.mdx +21 -23
- package/docs/usage/providers/fireworksai.zh-CN.mdx +13 -13
- package/docs/usage/providers/giteeai.mdx +24 -26
- package/docs/usage/providers/giteeai.zh-CN.mdx +13 -13
- package/docs/usage/providers/github.mdx +30 -28
- package/docs/usage/providers/github.zh-CN.mdx +14 -14
- package/docs/usage/providers/google.mdx +25 -26
- package/docs/usage/providers/google.zh-CN.mdx +13 -13
- package/docs/usage/providers/groq.mdx +20 -25
- package/docs/usage/providers/groq.zh-CN.mdx +12 -12
- package/docs/usage/providers/hunyuan.mdx +22 -23
- package/docs/usage/providers/hunyuan.zh-CN.mdx +13 -13
- package/docs/usage/providers/infiniai.mdx +21 -14
- package/docs/usage/providers/infiniai.zh-CN.mdx +7 -7
- package/docs/usage/providers/internlm.mdx +23 -25
- package/docs/usage/providers/internlm.zh-CN.mdx +12 -12
- package/docs/usage/providers/jina.mdx +25 -24
- package/docs/usage/providers/jina.zh-CN.mdx +12 -12
- package/docs/usage/providers/lmstudio.mdx +41 -39
- package/docs/usage/providers/lmstudio.zh-CN.mdx +16 -16
- package/docs/usage/providers/minimax.mdx +28 -29
- package/docs/usage/providers/minimax.zh-CN.mdx +15 -15
- package/docs/usage/providers/mistral.mdx +21 -24
- package/docs/usage/providers/mistral.zh-CN.mdx +11 -11
- package/docs/usage/providers/modelscope.mdx +53 -33
- package/docs/usage/providers/modelscope.zh-CN.mdx +4 -4
- package/docs/usage/providers/moonshot.mdx +19 -22
- package/docs/usage/providers/moonshot.zh-CN.mdx +11 -11
- package/docs/usage/providers/novita.mdx +25 -24
- package/docs/usage/providers/novita.zh-CN.mdx +13 -13
- package/docs/usage/providers/nvidia.mdx +26 -25
- package/docs/usage/providers/nvidia.zh-CN.mdx +13 -13
- package/docs/usage/providers/ollama/gemma.mdx +20 -21
- package/docs/usage/providers/ollama/gemma.zh-CN.mdx +11 -11
- package/docs/usage/providers/ollama/qwen.mdx +22 -24
- package/docs/usage/providers/ollama/qwen.zh-CN.mdx +11 -11
- package/docs/usage/providers/ollama.mdx +56 -56
- package/docs/usage/providers/ollama.zh-CN.mdx +22 -22
- package/docs/usage/providers/openai.mdx +25 -27
- package/docs/usage/providers/openai.zh-CN.mdx +10 -10
- package/docs/usage/providers/openrouter.mdx +33 -36
- package/docs/usage/providers/openrouter.zh-CN.mdx +15 -15
- package/docs/usage/providers/perplexity.mdx +18 -19
- package/docs/usage/providers/perplexity.zh-CN.mdx +11 -11
- package/docs/usage/providers/ppio.mdx +25 -26
- package/docs/usage/providers/ppio.zh-CN.mdx +15 -15
- package/docs/usage/providers/qiniu.mdx +29 -30
- package/docs/usage/providers/qiniu.zh-CN.mdx +8 -8
- package/docs/usage/providers/qwen.mdx +29 -30
- package/docs/usage/providers/qwen.zh-CN.mdx +14 -14
- package/docs/usage/providers/sambanova.mdx +23 -22
- package/docs/usage/providers/sambanova.zh-CN.mdx +12 -12
- package/docs/usage/providers/sensenova.mdx +27 -29
- package/docs/usage/providers/sensenova.zh-CN.mdx +13 -13
- package/docs/usage/providers/siliconcloud.mdx +21 -22
- package/docs/usage/providers/siliconcloud.zh-CN.mdx +12 -12
- package/docs/usage/providers/spark.mdx +25 -25
- package/docs/usage/providers/spark.zh-CN.mdx +13 -13
- package/docs/usage/providers/stepfun.mdx +21 -22
- package/docs/usage/providers/stepfun.zh-CN.mdx +11 -11
- package/docs/usage/providers/taichu.mdx +21 -21
- package/docs/usage/providers/taichu.zh-CN.mdx +12 -12
- package/docs/usage/providers/tencentcloud.mdx +26 -24
- package/docs/usage/providers/tencentcloud.zh-CN.mdx +12 -12
- package/docs/usage/providers/togetherai.mdx +23 -23
- package/docs/usage/providers/togetherai.zh-CN.mdx +13 -13
- package/docs/usage/providers/upstage.mdx +23 -22
- package/docs/usage/providers/upstage.zh-CN.mdx +12 -12
- package/docs/usage/providers/vercel-ai-gateway.mdx +27 -29
- package/docs/usage/providers/vercel-ai-gateway.zh-CN.mdx +8 -9
- package/docs/usage/providers/vertexai.mdx +31 -29
- package/docs/usage/providers/vertexai.zh-CN.mdx +14 -14
- package/docs/usage/providers/vllm.mdx +31 -32
- package/docs/usage/providers/vllm.zh-CN.mdx +11 -11
- package/docs/usage/providers/volcengine.mdx +23 -22
- package/docs/usage/providers/volcengine.zh-CN.mdx +12 -12
- package/docs/usage/providers/wenxin.mdx +29 -30
- package/docs/usage/providers/wenxin.zh-CN.mdx +14 -14
- package/docs/usage/providers/xai.mdx +23 -25
- package/docs/usage/providers/xai.zh-CN.mdx +12 -12
- package/docs/usage/providers/zeroone.mdx +31 -29
- package/docs/usage/providers/zeroone.zh-CN.mdx +14 -16
- package/docs/usage/providers/zhipu.mdx +20 -21
- package/docs/usage/providers/zhipu.zh-CN.mdx +11 -11
- package/docs/usage/providers.mdx +14 -12
- package/docs/usage/providers.zh-CN.mdx +7 -7
- package/docs/usage/start.mdx +22 -51
- package/docs/usage/start.zh-CN.mdx +16 -44
- package/docs/usage/user-interface/appearance.mdx +53 -0
- package/docs/usage/user-interface/appearance.zh-CN.mdx +49 -0
- package/docs/usage/user-interface/command-menu.mdx +56 -0
- package/docs/usage/user-interface/command-menu.zh-CN.mdx +47 -0
- package/docs/usage/user-interface/shortcuts.mdx +53 -0
- package/docs/usage/user-interface/shortcuts.zh-CN.mdx +50 -0
- package/docs/usage/user-interface/stats.mdx +53 -0
- package/docs/usage/user-interface/stats.zh-CN.mdx +51 -0
- package/docs/usage/workspace/manage-quota.mdx +30 -0
- package/docs/usage/workspace/manage-quota.zh-CN.mdx +30 -0
- package/docs/usage/workspace/manage-team.mdx +31 -0
- package/docs/usage/workspace/manage-team.zh-CN.mdx +30 -0
- package/docs/wiki/HOME.zh-CN.md +11 -0
- package/locales/ar/discover.json +2 -0
- package/locales/ar/file.json +3 -0
- package/locales/ar/models.json +43 -0
- package/locales/bg-BG/discover.json +2 -0
- package/locales/bg-BG/file.json +3 -0
- package/locales/bg-BG/models.json +2 -0
- package/locales/de-DE/discover.json +2 -0
- package/locales/de-DE/file.json +3 -0
- package/locales/de-DE/models.json +29 -0
- package/locales/en-US/common.json +1 -0
- package/locales/en-US/discover.json +2 -0
- package/locales/en-US/file.json +3 -0
- package/locales/es-ES/discover.json +2 -0
- package/locales/es-ES/file.json +3 -0
- package/locales/es-ES/models.json +9 -0
- package/locales/fa-IR/discover.json +2 -0
- package/locales/fa-IR/file.json +3 -0
- package/locales/fa-IR/models.json +55 -0
- package/locales/fr-FR/discover.json +2 -0
- package/locales/fr-FR/file.json +3 -0
- package/locales/fr-FR/models.json +34 -0
- package/locales/it-IT/discover.json +2 -0
- package/locales/it-IT/file.json +3 -0
- package/locales/it-IT/models.json +46 -0
- package/locales/ja-JP/discover.json +2 -0
- package/locales/ja-JP/file.json +3 -0
- package/locales/ja-JP/models.json +36 -0
- package/locales/ko-KR/discover.json +2 -0
- package/locales/ko-KR/file.json +3 -0
- package/locales/ko-KR/models.json +46 -0
- package/locales/nl-NL/discover.json +2 -0
- package/locales/nl-NL/file.json +3 -0
- package/locales/nl-NL/models.json +48 -0
- package/locales/pl-PL/discover.json +2 -0
- package/locales/pl-PL/file.json +3 -0
- package/locales/pl-PL/models.json +29 -0
- package/locales/pt-BR/discover.json +2 -0
- package/locales/pt-BR/file.json +3 -0
- package/locales/pt-BR/models.json +38 -0
- package/locales/ru-RU/discover.json +2 -0
- package/locales/ru-RU/file.json +3 -0
- package/locales/ru-RU/models.json +33 -0
- package/locales/tr-TR/discover.json +2 -0
- package/locales/tr-TR/file.json +3 -0
- package/locales/tr-TR/models.json +52 -0
- package/locales/vi-VN/discover.json +2 -0
- package/locales/vi-VN/file.json +3 -0
- package/locales/vi-VN/models.json +9 -0
- package/locales/zh-CN/common.json +1 -0
- package/locales/zh-CN/discover.json +2 -0
- package/locales/zh-CN/file.json +3 -0
- package/locales/zh-CN/models.json +100 -0
- package/locales/zh-TW/discover.json +2 -0
- package/locales/zh-TW/file.json +3 -0
- package/locales/zh-TW/models.json +45 -0
- package/package.json +5 -3
- package/packages/builtin-tool-group-agent-builder/src/ExecutionRuntime/index.ts +11 -0
- package/packages/builtin-tool-group-agent-builder/src/systemRole.ts +37 -7
- package/packages/electron-client-ipc/src/types/localSystem.ts +27 -0
- package/packages/model-runtime/src/core/contextBuilders/google.test.ts +73 -0
- package/packages/model-runtime/src/core/contextBuilders/google.ts +10 -0
- package/packages/observability-otel/src/api.ts +2 -2
- package/packages/types/src/discover/assistants.ts +2 -0
- package/packages/types/src/discover/groupAgents.ts +8 -0
- package/scripts/cdnWorkflow/index.ts +2 -0
- package/scripts/docsWorkflow/autoCDN.ts +172 -0
- package/scripts/docsWorkflow/optimized.ts +21 -0
- package/scripts/docsWorkflow/utils.ts +87 -0
- package/src/app/(backend)/middleware/auth/index.ts +27 -1
- package/src/app/[variants]/(main)/community/(detail)/agent/features/AgentForkTag.tsx +59 -0
- package/src/app/[variants]/(main)/community/(detail)/agent/features/Header.tsx +9 -36
- package/src/app/[variants]/(main)/community/(detail)/group_agent/features/GroupAgentForkTag.tsx +57 -0
- package/src/app/[variants]/(main)/community/(detail)/group_agent/features/Header.tsx +18 -2
- package/src/app/[variants]/(main)/community/(detail)/user/features/UserAgentCard.tsx +11 -3
- package/src/app/[variants]/(main)/community/(detail)/user/features/UserGroupCard.tsx +11 -3
- package/src/app/[variants]/(main)/group/profile/features/GroupProfile/index.tsx +15 -1
- package/src/app/[variants]/(main)/group/profile/features/MemberProfile/index.tsx +15 -1
- package/src/app/[variants]/(main)/memory/features/MemoryAnalysis/AnalysisTrigger.tsx +2 -2
- package/src/app/[variants]/(main)/settings/about/features/Version.tsx +10 -2
- package/src/features/EditorCanvas/EditorDataMode.tsx +16 -10
- package/src/features/PageEditor/Header/index.tsx +1 -0
- package/src/features/PageEditor/Header/useMenu.tsx +22 -11
- package/src/instrumentation.ts +9 -2
- package/src/layout/GlobalProvider/index.tsx +2 -1
- package/src/libs/observability/traceparent.test.ts +69 -0
- package/src/libs/observability/traceparent.ts +110 -0
- package/src/libs/trpc/lambda/context.test.ts +13 -0
- package/src/libs/trpc/lambda/context.ts +15 -6
- package/src/libs/trpc/middleware/openTelemetry.test.ts +93 -0
- package/src/libs/trpc/middleware/openTelemetry.ts +18 -7
- package/src/locales/default/common.ts +1 -0
- package/src/locales/default/discover.ts +3 -0
- package/src/locales/default/file.ts +3 -0
- package/src/server/services/discover/index.ts +7 -0
- package/src/services/electron/desktopExportService.tsx +61 -0
- package/src/services/electron/localFileService.ts +7 -0
- package/src/store/agent/selectors/agentByIdSelectors.ts +7 -0
- package/src/store/groupProfile/action.ts +15 -0
- package/src/store/groupProfile/initialState.ts +9 -0
- package/src/store/tool/slices/mcpStore/action.ts +8 -7
- package/docs/usage/agents/agent-organization.mdx +0 -53
- package/docs/usage/agents/agent-organization.zh-CN.mdx +0 -51
- package/docs/usage/agents/concepts.mdx +0 -40
- package/docs/usage/agents/concepts.zh-CN.mdx +0 -38
- package/docs/usage/agents/custom-agent.mdx +0 -57
- package/docs/usage/agents/custom-agent.zh-CN.mdx +0 -53
- package/docs/usage/agents/model.mdx +0 -95
- package/docs/usage/agents/model.zh-CN.mdx +0 -88
- package/docs/usage/agents/prompt.mdx +0 -108
- package/docs/usage/agents/prompt.zh-CN.mdx +0 -105
- package/docs/usage/agents/topics.mdx +0 -26
- package/docs/usage/agents/topics.zh-CN.mdx +0 -25
- package/docs/usage/features/agent-market.mdx +0 -32
- package/docs/usage/features/agent-market.zh-CN.mdx +0 -31
- package/docs/usage/features/agent-team.mdx +0 -52
- package/docs/usage/features/agent-team.zh-CN.mdx +0 -52
- package/docs/usage/features/artifacts.mdx +0 -23
- package/docs/usage/features/artifacts.zh-CN.mdx +0 -22
- package/docs/usage/features/auth.mdx +0 -76
- package/docs/usage/features/auth.zh-CN.mdx +0 -74
- package/docs/usage/features/branching-conversations.mdx +0 -21
- package/docs/usage/features/branching-conversations.zh-CN.mdx +0 -21
- package/docs/usage/features/cot.mdx +0 -18
- package/docs/usage/features/cot.zh-CN.mdx +0 -18
- package/docs/usage/features/database.mdx +0 -56
- package/docs/usage/features/database.zh-CN.mdx +0 -50
- package/docs/usage/features/desktop.mdx +0 -53
- package/docs/usage/features/desktop.zh-CN.mdx +0 -49
- package/docs/usage/features/knowledge-base.mdx +0 -25
- package/docs/usage/features/knowledge-base.zh-CN.mdx +0 -22
- package/docs/usage/features/local-llm.mdx +0 -51
- package/docs/usage/features/local-llm.zh-CN.mdx +0 -44
- package/docs/usage/features/mcp-market.mdx +0 -26
- package/docs/usage/features/mcp-market.zh-CN.mdx +0 -22
- package/docs/usage/features/mcp.mdx +0 -58
- package/docs/usage/features/mcp.zh-CN.mdx +0 -54
- package/docs/usage/features/mobile.mdx +0 -20
- package/docs/usage/features/mobile.zh-CN.mdx +0 -19
- package/docs/usage/features/more.mdx +0 -32
- package/docs/usage/features/more.zh-CN.mdx +0 -28
- package/docs/usage/features/multi-ai-providers.mdx +0 -57
- package/docs/usage/features/multi-ai-providers.zh-CN.mdx +0 -58
- package/docs/usage/features/plugin-system.mdx +0 -80
- package/docs/usage/features/plugin-system.zh-CN.mdx +0 -70
- package/docs/usage/features/pwa.mdx +0 -60
- package/docs/usage/features/pwa.zh-CN.mdx +0 -61
- package/docs/usage/features/search.mdx +0 -56
- package/docs/usage/features/search.zh-CN.mdx +0 -52
- package/docs/usage/features/text-to-image.mdx +0 -18
- package/docs/usage/features/text-to-image.zh-CN.mdx +0 -19
- package/docs/usage/features/theme.mdx +0 -28
- package/docs/usage/features/theme.zh-CN.mdx +0 -25
- package/docs/usage/features/tts.mdx +0 -40
- package/docs/usage/features/tts.zh-CN.mdx +0 -35
- package/docs/usage/features/vision.mdx +0 -20
- package/docs/usage/features/vision.zh-CN.mdx +0 -18
- package/docs/usage/foundation/basic.mdx +0 -43
- package/docs/usage/foundation/basic.zh-CN.mdx +0 -46
- package/docs/usage/foundation/share.mdx +0 -35
- package/docs/usage/foundation/share.zh-CN.mdx +0 -33
- package/docs/usage/foundation/text2image.mdx +0 -39
- package/docs/usage/foundation/text2image.zh-CN.mdx +0 -35
- package/docs/usage/foundation/translate.mdx +0 -30
- package/docs/usage/foundation/translate.zh-CN.mdx +0 -29
- package/docs/usage/foundation/tts-stt.mdx +0 -38
- package/docs/usage/foundation/tts-stt.zh-CN.mdx +0 -36
- package/docs/usage/foundation/vision.mdx +0 -36
- package/docs/usage/foundation/vision.zh-CN.mdx +0 -33
- package/docs/usage/plugins/basic-usage.mdx +0 -45
- package/docs/usage/plugins/basic-usage.zh-CN.mdx +0 -44
- package/docs/usage/plugins/custom-plugin.mdx +0 -37
- package/docs/usage/plugins/custom-plugin.zh-CN.mdx +0 -35
- package/docs/usage/plugins/development.mdx +0 -279
- package/docs/usage/plugins/store.mdx +0 -22
- package/docs/usage/plugins/store.zh-CN.mdx +0 -19
- package/docs/usage/tools-calling/anthropic.mdx +0 -152
- package/docs/usage/tools-calling/anthropic.zh-CN.mdx +0 -152
- package/docs/usage/tools-calling/google.mdx +0 -109
- package/docs/usage/tools-calling/google.zh-CN.mdx +0 -109
- package/docs/usage/tools-calling/groq.mdx +0 -10
- package/docs/usage/tools-calling/groq.zh-CN.mdx +0 -163
- package/docs/usage/tools-calling/moonshot.mdx +0 -10
- package/docs/usage/tools-calling/moonshot.zh-CN.mdx +0 -24
- package/docs/usage/tools-calling/openai.mdx +0 -114
- package/docs/usage/tools-calling/openai.zh-CN.mdx +0 -114
- package/docs/usage/tools-calling.mdx +0 -12
- package/docs/usage/tools-calling.zh-CN.mdx +0 -248
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: 使用服务端数据库
|
|
3
|
+
description: 快速设置 LobeHub 服务端数据库,支持 Docker 和图像生成。
|
|
4
|
+
tags:
|
|
5
|
+
- 服务端数据库
|
|
6
|
+
- LobeHub
|
|
7
|
+
- Docker
|
|
8
|
+
- 图像生成
|
|
9
|
+
- PostgreSQL
|
|
3
10
|
---
|
|
4
11
|
|
|
5
12
|
# 使用服务端数据库
|
|
6
13
|
|
|
7
|
-
|
|
14
|
+
LobeHub 提供了内置的客户端数据库体验。
|
|
8
15
|
但某些重要功能仅在服务端开发中可用。
|
|
9
16
|
|
|
10
17
|
为了使用服务端数据库功能,
|
|
@@ -55,7 +62,7 @@ pnpm db:migrate
|
|
|
55
62
|
|
|
56
63
|
### 启动开发服务器
|
|
57
64
|
|
|
58
|
-
启动
|
|
65
|
+
启动 LobeHub 开发服务器:
|
|
59
66
|
|
|
60
67
|
```bash
|
|
61
68
|
pnpm dev
|
|
@@ -144,7 +151,7 @@ await fetch(uploadUrl, {
|
|
|
144
151
|
|
|
145
152
|
运行 Docker Compose 开发环境时:
|
|
146
153
|
|
|
147
|
-
- **PostgreSQL**:`postgres://postgres@localhost:5432/
|
|
154
|
+
- **PostgreSQL**:`postgres://postgres@localhost:5432/LobeHub`
|
|
148
155
|
- **MinIO API**:`http://localhost:9000`
|
|
149
156
|
- **MinIO 控制台**:`http://localhost:9001` (admin/CHANGE\_THIS\_PASSWORD\_IN\_PRODUCTION)
|
|
150
157
|
- **应用程序**:`http://localhost:3010`
|
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: New Locale Guide
|
|
3
|
+
description: Learn how to add Vietnamese language support in LobeHub using lobe-i18n.
|
|
4
|
+
tags:
|
|
5
|
+
- LobeHub
|
|
6
|
+
- i18n
|
|
7
|
+
- language support
|
|
8
|
+
- Vietnamese
|
|
9
|
+
- localization
|
|
3
10
|
---
|
|
4
11
|
|
|
5
12
|
# New Locale Guide
|
|
6
13
|
|
|
7
|
-
|
|
14
|
+
LobeHub uses [lobe-i18n](https://github.com/lobehub/lobe-cli-toolbox/tree/master/packages/lobe-i18n) as the i18n solution, which allows for quick addition of new language support in the application.
|
|
8
15
|
|
|
9
16
|
## Adding New Language Support
|
|
10
17
|
|
|
11
|
-
To add new language internationalization support in
|
|
18
|
+
To add new language internationalization support in LobeHub (for example, adding Vietnamese `vi-VN`), please follow the steps below:
|
|
12
19
|
|
|
13
20
|
### Step 1: Update the Internationalization Configuration File
|
|
14
21
|
|
|
@@ -33,7 +40,7 @@ module.exports = {
|
|
|
33
40
|
|
|
34
41
|
### Step 2: Automatically Translate Language Files
|
|
35
42
|
|
|
36
|
-
|
|
43
|
+
LobeHub uses the `lobe-i18n` tool to automatically translate language files, so manual updating of i18n files is not required.
|
|
37
44
|
|
|
38
45
|
Run the following command to automatically translate and generate the Vietnamese language files:
|
|
39
46
|
|
|
@@ -47,12 +54,12 @@ This will utilize the `lobe-i18n` tool to process the language files.
|
|
|
47
54
|
|
|
48
55
|
Once you have completed the above steps, you need to submit your changes and create a Pull Request.
|
|
49
56
|
|
|
50
|
-
Ensure that you follow
|
|
57
|
+
Ensure that you follow LobeHub's contribution guidelines and provide a necessary description to explain your changes. For example, refer to a similar previous Pull Request [#759](https://github.com/lobehub/lobe-chat/pull/759).
|
|
51
58
|
|
|
52
59
|
### Additional Information
|
|
53
60
|
|
|
54
61
|
- After submitting your Pull Request, please patiently wait for the project maintainers to review it.
|
|
55
|
-
- If you encounter any issues, you can reach out to the
|
|
62
|
+
- If you encounter any issues, you can reach out to the LobeHub community for assistance.
|
|
56
63
|
- For more accurate results, ensure that your Pull Request is based on the latest main branch and stays in sync with the main branch.
|
|
57
64
|
|
|
58
|
-
By following the above steps, you can successfully add new language support to
|
|
65
|
+
By following the above steps, you can successfully add new language support to LobeHub and ensure that the application provides a localized experience for more users.
|
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: 新语种添加指南
|
|
3
|
+
description: 学习如何在 LobeHub 中添加新的语言支持,提升用户体验。
|
|
4
|
+
tags:
|
|
5
|
+
- LobeHub
|
|
6
|
+
- 国际化
|
|
7
|
+
- 语言支持
|
|
8
|
+
- lobe-i18n
|
|
9
|
+
- 越南语
|
|
3
10
|
---
|
|
4
11
|
|
|
5
12
|
# 新语种添加指南
|
|
6
13
|
|
|
7
|
-
|
|
14
|
+
LobeHub 使用 [lobe-i18n](https://github.com/lobehub/lobe-cli-toolbox/tree/master/packages/lobe-i18n) 作为 i18n 解决方案,可以在应用中快速添加新的语言支持。
|
|
8
15
|
|
|
9
16
|
## 添加新的语言支持
|
|
10
17
|
|
|
11
|
-
为了在
|
|
18
|
+
为了在 LobeHub 中添加新的语言国际化支持,(例如添加越南语 `vi-VN`),请按照以下步骤操作:
|
|
12
19
|
|
|
13
20
|
### 步骤 1: 更新国际化配置文件
|
|
14
21
|
|
|
@@ -33,7 +40,7 @@ module.exports = {
|
|
|
33
40
|
|
|
34
41
|
### 步骤 2: 自动翻译语言文件
|
|
35
42
|
|
|
36
|
-
|
|
43
|
+
LobeHub 使用 `lobe-i18n` 工具来自动翻译语言文件,因此不需要手动更新 i18n 文件。
|
|
37
44
|
|
|
38
45
|
运行以下命令来自动翻译并生成越南语的语言文件:
|
|
39
46
|
|
|
@@ -47,12 +54,12 @@ npm run i18n
|
|
|
47
54
|
|
|
48
55
|
一旦你完成了上述步骤,你需要提交你的更改并创建一个 Pull Request。
|
|
49
56
|
|
|
50
|
-
请确保你遵循了
|
|
57
|
+
请确保你遵循了 LobeHub 的贡献指南,并提供必要的描述来说明你的更改。例如,参考之前的类似 Pull Request [#759](https://github.com/lobehub/lobe-chat/pull/759)。
|
|
51
58
|
|
|
52
59
|
### 附加信息
|
|
53
60
|
|
|
54
61
|
- 提交你的 Pull Request 后,请耐心等待项目维护人员的审查。
|
|
55
|
-
- 如果遇到任何问题,可以联系
|
|
62
|
+
- 如果遇到任何问题,可以联系 LobeHub 社区寻求帮助。
|
|
56
63
|
- 为了更精确的结果,确保你的 Pull Request 是基于最新的主分支,并且与主分支保持同步。
|
|
57
64
|
|
|
58
|
-
通过遵循上述步骤,你可以成功为
|
|
65
|
+
通过遵循上述步骤,你可以成功为 LobeHub 添加新的语言支持,并且确保应用能够为更多用户提供本地化的体验。
|
|
@@ -1,18 +1,27 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Internationalization Implementation Guide
|
|
3
|
+
description: >-
|
|
4
|
+
Learn how to implement internationalization in LobeHub for multilingual
|
|
5
|
+
support.
|
|
6
|
+
tags:
|
|
7
|
+
- Internationalization
|
|
8
|
+
- i18next
|
|
9
|
+
- LobeHub
|
|
10
|
+
- Multilingual Support
|
|
11
|
+
- Localization
|
|
3
12
|
---
|
|
4
13
|
|
|
5
14
|
# Internationalization Implementation Guide
|
|
6
15
|
|
|
7
|
-
Welcome to the
|
|
16
|
+
Welcome to the LobeHub Internationalization Implementation Guide. This document will guide you through understanding the internationalization mechanism of LobeHub, including file structure and how to add new languages. LobeHub uses `i18next` and `lobe-i18n` as the internationalization solution, aiming to provide users with seamless multilingual support.
|
|
8
17
|
|
|
9
18
|
## Internationalization Overview
|
|
10
19
|
|
|
11
|
-
Internationalization (i18n for short) is the process of enabling an application to adapt to different languages and regions. In
|
|
20
|
+
Internationalization (i18n for short) is the process of enabling an application to adapt to different languages and regions. In LobeHub, we support multiple languages and achieve dynamic language switching and content localization through the `i18next` library. Our goal is to provide a localized experience for global users.
|
|
12
21
|
|
|
13
22
|
## File Structure
|
|
14
23
|
|
|
15
|
-
In the
|
|
24
|
+
In the LobeHub project, internationalization-related files are organized as follows:
|
|
16
25
|
|
|
17
26
|
- `src/locales/default`: Contains translation files for the default development language (Chinese), which we use as Chinese.
|
|
18
27
|
- `locales`: Contains folders for all supported languages, with each language folder containing the respective translation files generated by lobe-i18n.
|
|
@@ -58,14 +67,14 @@ locales
|
|
|
58
67
|
|
|
59
68
|
## Core Implementation Logic
|
|
60
69
|
|
|
61
|
-
The internationalization core implementation logic of
|
|
70
|
+
The internationalization core implementation logic of LobeHub is as follows:
|
|
62
71
|
|
|
63
72
|
- Initialize and configure using the `i18next` library.
|
|
64
73
|
- Automatically detect the user's language preference using `i18next-browser-languagedetector`.
|
|
65
74
|
- Dynamically load translation resources using `i18next-resources-to-backend`.
|
|
66
75
|
- Set the direction of the HTML document (LTR or RTL) based on the user's language preference.
|
|
67
76
|
|
|
68
|
-
Here is a simplified pseudo code example to illustrate the core implementation logic of internationalization in
|
|
77
|
+
Here is a simplified pseudo code example to illustrate the core implementation logic of internationalization in LobeHub:
|
|
69
78
|
|
|
70
79
|
```ts
|
|
71
80
|
import i18n from 'i18next';
|
|
@@ -99,7 +108,7 @@ const createI18nInstance = (lang) => {
|
|
|
99
108
|
};
|
|
100
109
|
```
|
|
101
110
|
|
|
102
|
-
In this example, we demonstrate how to use `i18next` and related plugins to initialize internationalization settings. We dynamically import translation resources and respond to language change events to adjust the text direction of the page. This process provides
|
|
111
|
+
In this example, we demonstrate how to use `i18next` and related plugins to initialize internationalization settings. We dynamically import translation resources and respond to language change events to adjust the text direction of the page. This process provides LobeHub with flexible multilingual support capabilities.
|
|
103
112
|
|
|
104
113
|
## Adding Support for New Languages
|
|
105
114
|
|
|
@@ -118,4 +127,4 @@ To add support for new languages, please refer to the detailed steps in the [New
|
|
|
118
127
|
- [i18next Official Documentation](https://www.i18next.com/)
|
|
119
128
|
- [lobe-i18n Tool Description](https://github.com/lobehub/lobe-cli-toolbox/tree/master/packages/lobe-i18n)
|
|
120
129
|
|
|
121
|
-
By following this guide, you can better understand and participate in the internationalization work of
|
|
130
|
+
By following this guide, you can better understand and participate in the internationalization work of LobeHub, providing a seamless multilingual experience for global users.
|
|
@@ -1,18 +1,24 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: 国际化实现指南
|
|
3
|
+
description: 了解 LobeHub 的国际化机制,支持多语言体验。
|
|
4
|
+
tags:
|
|
5
|
+
- 国际化
|
|
6
|
+
- LobeHub
|
|
7
|
+
- i18next
|
|
8
|
+
- 多语言支持
|
|
3
9
|
---
|
|
4
10
|
|
|
5
11
|
# 国际化实现指南
|
|
6
12
|
|
|
7
|
-
欢迎阅读
|
|
13
|
+
欢迎阅读 LobeHub 国际化实现指南。本文档将指导你了解 LobeHub 的国际化机制,包括文件结构、如何添加新语种。LobeHub 采用 `i18next` 和 `lobe-i18n` 作为国际化解决方案,旨在为用户提供流畅的多语言支持。
|
|
8
14
|
|
|
9
15
|
## 国际化概述
|
|
10
16
|
|
|
11
|
-
国际化(Internationalization,简称为 i18n)是一个让应用能够适应不同语言和地区的过程。在
|
|
17
|
+
国际化(Internationalization,简称为 i18n)是一个让应用能够适应不同语言和地区的过程。在 LobeHub 中,我们支持多种语言,并通过 `i18next` 库来实现语言的动态切换和内容的本地化。我们的目标是让 LobeHub 能够为全球用户提供本地化的体验。
|
|
12
18
|
|
|
13
19
|
## 文件结构
|
|
14
20
|
|
|
15
|
-
在
|
|
21
|
+
在 LobeHub 的项目中,国际化相关的文件被组织如下:
|
|
16
22
|
|
|
17
23
|
- `src/locales/default`: 包含默认开发语言(中文)的翻译文件,我们作为中文。
|
|
18
24
|
- `locales`: 包含所有支持的语言文件夹,每个语言文件夹中包含相应语言的翻译文件,这些翻译文件通过 lobe-i18n 自动生成。
|
|
@@ -58,14 +64,14 @@ locales
|
|
|
58
64
|
|
|
59
65
|
## 核心实现逻辑
|
|
60
66
|
|
|
61
|
-
|
|
67
|
+
LobeHub 的国际化核心实现逻辑如下:
|
|
62
68
|
|
|
63
69
|
- 使用 `i18next` 库进行初始化和配置。
|
|
64
70
|
- 使用 `i18next-browser-languagedetector` 自动检测用户的语言偏好。
|
|
65
71
|
- 使用 `i18next-resources-to-backend` 动态加载翻译资源。
|
|
66
72
|
- 根据用户的语言偏好,设置 HTML 文档的方向(LTR 或 RTL)。
|
|
67
73
|
|
|
68
|
-
以下是一个简化的伪代码示例,用以说明
|
|
74
|
+
以下是一个简化的伪代码示例,用以说明 LobeHub 国际化的核心实现逻辑:
|
|
69
75
|
|
|
70
76
|
```ts
|
|
71
77
|
import i18n from 'i18next';
|
|
@@ -99,7 +105,7 @@ const createI18nInstance = (lang) => {
|
|
|
99
105
|
};
|
|
100
106
|
```
|
|
101
107
|
|
|
102
|
-
在这个示例中,我们展示了如何使用 `i18next` 和相关插件来初始化国际化设置。我们动态导入了翻译资源,并响应语言变化事件来调整页面的文本方向。这个过程为
|
|
108
|
+
在这个示例中,我们展示了如何使用 `i18next` 和相关插件来初始化国际化设置。我们动态导入了翻译资源,并响应语言变化事件来调整页面的文本方向。这个过程为 LobeHub 提供了灵活的多语言支持能力。
|
|
103
109
|
|
|
104
110
|
## 添加新的语言支持
|
|
105
111
|
|
|
@@ -118,4 +124,4 @@ const createI18nInstance = (lang) => {
|
|
|
118
124
|
- [i18next 官方文档](https://www.i18next.com/)
|
|
119
125
|
- [lobe-i18n 工具说明](https://github.com/lobehub/lobe-cli-toolbox/tree/master/packages/lobe-i18n)
|
|
120
126
|
|
|
121
|
-
通过遵循本指南,你可以更好地理解和参与到
|
|
127
|
+
通过遵循本指南,你可以更好地理解和参与到 LobeHub 的国际化工作中,为全球用户提供无缝的多语言体验。
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Lighthouse Reports
|
|
3
|
+
description: Explore Lighthouse reports for chat and discover pages on LobeHub.
|
|
4
|
+
tags:
|
|
5
|
+
- Lighthouse Reports
|
|
6
|
+
- Chat Page
|
|
7
|
+
- Discover Page
|
|
3
8
|
---
|
|
4
9
|
|
|
5
10
|
# Lighthouse Reports
|
|
@@ -7,7 +12,7 @@ title: Lighthouse Reports
|
|
|
7
12
|
## Chat Page
|
|
8
13
|
|
|
9
14
|
> **Info**\
|
|
10
|
-
> [https://
|
|
15
|
+
> [https://LobeHub.com/chat](https://LobeHub.com/chat)
|
|
11
16
|
|
|
12
17
|
| Desktop | Mobile |
|
|
13
18
|
| :-----------------------------------------: | :----------------------------------------: |
|
|
@@ -17,7 +22,7 @@ title: Lighthouse Reports
|
|
|
17
22
|
## Discover Page
|
|
18
23
|
|
|
19
24
|
> **Info**\
|
|
20
|
-
> [https://
|
|
25
|
+
> [https://LobeHub.com/discover](https://LobeHub.com/discover)
|
|
21
26
|
|
|
22
27
|
| Desktop | Mobile |
|
|
23
28
|
| :---------------------------------------------: | :--------------------------------------------: |
|
|
@@ -25,10 +30,10 @@ title: Lighthouse Reports
|
|
|
25
30
|
| [⚡️ Lighthouse Report][discover-desktop-report] | [⚡️ Lighthouse Report][discover-mobile-report] |
|
|
26
31
|
|
|
27
32
|
[chat-desktop]: https://raw.githubusercontent.com/lobehub/lobe-chat/lighthouse/lighthouse/chat/desktop/pagespeed.svg
|
|
28
|
-
[chat-desktop-report]: https://lobehub.github.io/lobe-chat/lighthouse/chat/desktop/
|
|
33
|
+
[chat-desktop-report]: https://lobehub.github.io/lobe-chat/lighthouse/chat/desktop/LobeHub_com_chat.html
|
|
29
34
|
[chat-mobile]: https://raw.githubusercontent.com/lobehub/lobe-chat/lighthouse/lighthouse/chat/mobile/pagespeed.svg
|
|
30
|
-
[chat-mobile-report]: https://lobehub.github.io/lobe-chat/lighthouse/chat/mobile/
|
|
35
|
+
[chat-mobile-report]: https://lobehub.github.io/lobe-chat/lighthouse/chat/mobile/LobeHub_com_chat.html
|
|
31
36
|
[discover-desktop]: https://raw.githubusercontent.com/lobehub/lobe-chat/lighthouse/lighthouse/discover/desktop/pagespeed.svg
|
|
32
|
-
[discover-desktop-report]: https://lobehub.github.io/lobe-chat/lighthouse/discover/desktop/
|
|
37
|
+
[discover-desktop-report]: https://lobehub.github.io/lobe-chat/lighthouse/discover/desktop/LobeHub_com_discover.html
|
|
33
38
|
[discover-mobile]: https://raw.githubusercontent.com/lobehub/lobe-chat/lighthouse/lighthouse/discover/mobile/pagespeed.svg
|
|
34
|
-
[discover-mobile-report]: https://lobehub.github.io/lobe-chat/lighthouse/discover/mobile/
|
|
39
|
+
[discover-mobile-report]: https://lobehub.github.io/lobe-chat/lighthouse/discover/mobile/LobeHub_com_discover.html
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Lighthouse 测试报告
|
|
3
|
+
description: 查看Lighthouse测试报告,了解聊天和发现页面的性能表现。
|
|
4
|
+
tags:
|
|
5
|
+
- Lighthouse
|
|
6
|
+
- 测试报告
|
|
7
|
+
- 聊天页面
|
|
8
|
+
- 发现页面
|
|
3
9
|
---
|
|
4
10
|
|
|
5
11
|
# Lighthouse 测试报告
|
|
@@ -7,7 +13,7 @@ title: Lighthouse 测试报告
|
|
|
7
13
|
## Chat 聊天页面
|
|
8
14
|
|
|
9
15
|
> **Info**\
|
|
10
|
-
> [https://
|
|
16
|
+
> [https://LobeHub.com/chat](https://LobeHub.com/chat)
|
|
11
17
|
|
|
12
18
|
| Desktop | Mobile |
|
|
13
19
|
| :-----------------------------------------: | :----------------------------------------: |
|
|
@@ -17,7 +23,7 @@ title: Lighthouse 测试报告
|
|
|
17
23
|
## Discover 发现页面
|
|
18
24
|
|
|
19
25
|
> **Info**\
|
|
20
|
-
> [https://
|
|
26
|
+
> [https://LobeHub.com/discover](https://LobeHub.com/discover)
|
|
21
27
|
|
|
22
28
|
| Desktop | Mobile |
|
|
23
29
|
| :---------------------------------------------: | :--------------------------------------------: |
|
|
@@ -25,10 +31,10 @@ title: Lighthouse 测试报告
|
|
|
25
31
|
| [⚡️ Lighthouse Report][discover-desktop-report] | [⚡️ Lighthouse Report][discover-mobile-report] |
|
|
26
32
|
|
|
27
33
|
[chat-desktop]: https://raw.githubusercontent.com/lobehub/lobe-chat/lighthouse/lighthouse/chat/desktop/pagespeed.svg
|
|
28
|
-
[chat-desktop-report]: https://lobehub.github.io/lobe-chat/lighthouse/chat/desktop/
|
|
34
|
+
[chat-desktop-report]: https://lobehub.github.io/lobe-chat/lighthouse/chat/desktop/LobeHub_com_chat.html
|
|
29
35
|
[chat-mobile]: https://raw.githubusercontent.com/lobehub/lobe-chat/lighthouse/lighthouse/chat/mobile/pagespeed.svg
|
|
30
|
-
[chat-mobile-report]: https://lobehub.github.io/lobe-chat/lighthouse/chat/mobile/
|
|
36
|
+
[chat-mobile-report]: https://lobehub.github.io/lobe-chat/lighthouse/chat/mobile/LobeHub_com_chat.html
|
|
31
37
|
[discover-desktop]: https://raw.githubusercontent.com/lobehub/lobe-chat/lighthouse/lighthouse/discover/desktop/pagespeed.svg
|
|
32
|
-
[discover-desktop-report]: https://lobehub.github.io/lobe-chat/lighthouse/discover/desktop/
|
|
38
|
+
[discover-desktop-report]: https://lobehub.github.io/lobe-chat/lighthouse/discover/desktop/LobeHub_com_discover.html
|
|
33
39
|
[discover-mobile]: https://raw.githubusercontent.com/lobehub/lobe-chat/lighthouse/lighthouse/discover/mobile/pagespeed.svg
|
|
34
|
-
[discover-mobile-report]: https://lobehub.github.io/lobe-chat/lighthouse/discover/mobile/
|
|
40
|
+
[discover-mobile-report]: https://lobehub.github.io/lobe-chat/lighthouse/discover/mobile/LobeHub_com_discover.html
|
|
@@ -1,14 +1,23 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Technical Development Getting Started Guide
|
|
3
|
+
description: >-
|
|
4
|
+
Explore the LobeHub development setup, technology stack, and contribution
|
|
5
|
+
guidelines.
|
|
6
|
+
tags:
|
|
7
|
+
- LobeHub
|
|
8
|
+
- Next.js
|
|
9
|
+
- Development Guide
|
|
10
|
+
- Internationalization
|
|
11
|
+
- Open Source
|
|
3
12
|
---
|
|
4
13
|
|
|
5
14
|
# Technical Development Getting Started Guide
|
|
6
15
|
|
|
7
|
-
Welcome to the
|
|
16
|
+
Welcome to the LobeHub Technical Development Getting Started Guide. LobeHub is an AI conversation application built on the Next.js framework, incorporating a range of technology stacks to achieve diverse functionalities and features. This guide will detail the main technical components of LobeHub and how to configure and use these technologies in your development environment.
|
|
8
17
|
|
|
9
18
|
## Basic Technology Stack
|
|
10
19
|
|
|
11
|
-
The core technology stack of
|
|
20
|
+
The core technology stack of LobeHub is as follows:
|
|
12
21
|
|
|
13
22
|
- **Framework**: We chose [Next.js](https://nextjs.org/), a powerful React framework that provides key features such as server-side rendering, routing framework, and Router Handler.
|
|
14
23
|
- **Component Library**: We use [Ant Design (antd)](https://ant.design/) as the basic component library, along with [lobe-ui](https://github.com/lobehub/lobe-ui) as our business component library.
|
|
@@ -21,7 +30,7 @@ The core technology stack of LobeChat is as follows:
|
|
|
21
30
|
|
|
22
31
|
## Folder Directory Structure
|
|
23
32
|
|
|
24
|
-
The folder directory structure of
|
|
33
|
+
The folder directory structure of LobeHub is as follows:
|
|
25
34
|
|
|
26
35
|
```bash
|
|
27
36
|
src
|
|
@@ -47,7 +56,7 @@ This section outlines setting up the development environment and local developme
|
|
|
47
56
|
|
|
48
57
|
We recommend using WebStorm as your integrated development environment (IDE).
|
|
49
58
|
|
|
50
|
-
1. **Get the code**: Clone the
|
|
59
|
+
1. **Get the code**: Clone the LobeHub code repository locally:
|
|
51
60
|
|
|
52
61
|
```bash
|
|
53
62
|
git clone https://github.com/lobehub/lobe-chat.git
|
|
@@ -74,11 +83,11 @@ bun run dev
|
|
|
74
83
|
> \[!IMPORTANT]\
|
|
75
84
|
> If you encounter the error "Could not find 'stylelint-config-recommended'" when installing dependencies with `npm`, please reinstall the dependencies using `pnpm` or `bun`.
|
|
76
85
|
|
|
77
|
-
Now, you should be able to see the welcome page of
|
|
86
|
+
Now, you should be able to see the welcome page of LobeHub in your browser. For a detailed environment setup guide, please refer to [Development Environment Setup Guide](/docs/development/basic/setup-development).
|
|
78
87
|
|
|
79
88
|
## Code Style and Contribution Guide
|
|
80
89
|
|
|
81
|
-
In the
|
|
90
|
+
In the LobeHub project, we place great emphasis on the quality and consistency of the code. For this reason, we have established a series of code style standards and contribution processes to ensure that every developer can smoothly participate in the project. Here are the code style and contribution guidelines you need to follow as a developer.
|
|
82
91
|
|
|
83
92
|
- **Code Style**: We use `@lobehub/lint` to unify the code style, including ESLint, Prettier, remarklint, and stylelint configurations. Please adhere to our code standards to maintain code consistency and readability.
|
|
84
93
|
- **Contribution Process**: We use gitmoji and semantic release for code submission and release processes. Please use gitmoji to annotate your commit messages and ensure compliance with the semantic release standards so that our automation systems can correctly handle version control and releases.
|
|
@@ -89,7 +98,7 @@ For detailed code style and contribution guidelines, please refer to [Code Style
|
|
|
89
98
|
|
|
90
99
|
## Internationalization Implementation Guide
|
|
91
100
|
|
|
92
|
-
|
|
101
|
+
LobeHub uses `i18next` and `lobe-i18n` to implement multilingual support, ensuring a global user experience.
|
|
93
102
|
|
|
94
103
|
Internationalization files are located in `src/locales`, containing the default language (Chinese). We generate other language JSON files automatically through `lobe-i18n`.
|
|
95
104
|
|
|
@@ -99,8 +108,8 @@ For a detailed guide on internationalization implementation, please refer to [In
|
|
|
99
108
|
|
|
100
109
|
## Appendix: Resources and References
|
|
101
110
|
|
|
102
|
-
To support developers in better understanding and using the technology stack of
|
|
111
|
+
To support developers in better understanding and using the technology stack of LobeHub, we provide a comprehensive list of resources and references — [LobeHub Resources and References](/docs/development/basic/resources) - Visit our maintained list of resources, including tutorials, articles, and other useful links.
|
|
103
112
|
|
|
104
|
-
We encourage developers to utilize these resources to deepen their learning and enhance their skills, join community discussions through [
|
|
113
|
+
We encourage developers to utilize these resources to deepen their learning and enhance their skills, join community discussions through [LobeHub GitHub Discussions](https://github.com/lobehub/lobe-chat/discussions) or [Discord](https://discord.com/invite/AYFPHvv2jT), ask questions, or share your experiences.
|
|
105
114
|
|
|
106
115
|
If you have any questions or need further assistance, please do not hesitate to contact us through the above channels.
|
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: 技术开发上手指南
|
|
3
|
+
description: 了解 LobeHub 的技术栈和开发环境设置,快速上手开发。
|
|
4
|
+
tags:
|
|
5
|
+
- LobeHub
|
|
6
|
+
- 技术开发
|
|
7
|
+
- Next.js
|
|
8
|
+
- 国际化
|
|
9
|
+
- 状态管理
|
|
3
10
|
---
|
|
4
11
|
|
|
5
12
|
# 技术开发上手指南
|
|
6
13
|
|
|
7
|
-
欢迎来到
|
|
14
|
+
欢迎来到 LobeHub 技术开发上手指南。LobeHub 是一款基于 Next.js 框架构建的 AI 会话应用,它汇集了一系列的技术栈,以实现多样化的功能和特性。本指南将详细介绍 LobeHub 的主要技术组成,以及如何在你的开发环境中配置和使用这些技术。
|
|
8
15
|
|
|
9
16
|
## 基础技术栈
|
|
10
17
|
|
|
11
|
-
|
|
18
|
+
LobeHub 的核心技术栈如下:
|
|
12
19
|
|
|
13
20
|
- **框架**:我们选择了 [Next.js](https://nextjs.org/),这是一款强大的 React 框架,为我们的项目提供了服务端渲染、路由框架、Router Handler 等关键功能。
|
|
14
21
|
- **组件库**:我们使用了 [Ant Design (antd)](https://ant.design/) 作为基础组件库,同时引入了 [lobe-ui](https://github.com/lobehub/lobe-ui) 作为我们的业务组件库。
|
|
@@ -21,7 +28,7 @@ LobeChat 的核心技术栈如下:
|
|
|
21
28
|
|
|
22
29
|
## 文件夹目录架构
|
|
23
30
|
|
|
24
|
-
|
|
31
|
+
LobeHub 的文件夹目录架构如下:
|
|
25
32
|
|
|
26
33
|
```bash
|
|
27
34
|
src
|
|
@@ -47,7 +54,7 @@ src
|
|
|
47
54
|
|
|
48
55
|
我们推荐使用 WebStorm 作为你的集成开发环境(IDE)。
|
|
49
56
|
|
|
50
|
-
1. **获取代码**:克隆
|
|
57
|
+
1. **获取代码**:克隆 LobeHub 的代码库到本地:
|
|
51
58
|
|
|
52
59
|
```bash
|
|
53
60
|
git clone https://github.com/lobehub/lobe-chat.git
|
|
@@ -74,11 +81,11 @@ bun run dev
|
|
|
74
81
|
> \[!IMPORTANT]\
|
|
75
82
|
> 如果使用`npm`安装依赖出现`Could not find "stylelint-config-recommended"`错误,请使用 `pnpm` 或者 `bun` 重新安装依赖。
|
|
76
83
|
|
|
77
|
-
现在,你应该可以在浏览器中看到
|
|
84
|
+
现在,你应该可以在浏览器中看到 LobeHub 的欢迎页面。详细的环境配置指南,请参考 [开发环境设置指南](/zh/docs/development/basic/setup-development)。
|
|
78
85
|
|
|
79
86
|
## 代码风格与贡献指南
|
|
80
87
|
|
|
81
|
-
在
|
|
88
|
+
在 LobeHub 项目中,我们十分重视代码的质量和一致性。为此,我们制定了一系列的代码风格规范和贡献流程,以确保每位开发者都能顺利地参与到项目中。以下是你作为开发者需要遵守的代码风格和贡献准则。
|
|
82
89
|
|
|
83
90
|
- **代码风格**:我们使用 `@lobehub/lint` 统一代码风格,包括 ESLint、Prettier、remarklint 和 stylelint 配置。请遵守我们的代码规范,以保持代码的一致性和可读性。
|
|
84
91
|
- **贡献流程**:我们采用 gitmoji 和 semantic release 作为代码提交和发布流程。请使用 gitmoji 标注您的提交信息,并确保遵循 semantic release 的规范,以便我们的自动化系统能够正确处理版本控制和发布。
|
|
@@ -89,7 +96,7 @@ bun run dev
|
|
|
89
96
|
|
|
90
97
|
## 国际化实现指南
|
|
91
98
|
|
|
92
|
-
|
|
99
|
+
LobeHub 采用 `i18next` 和 `lobe-i18n` 实现多语言支持,确保用户全球化体验。
|
|
93
100
|
|
|
94
101
|
国际化文件位于 `src/locales`,包含默认语言(中文)。 我们会通过 `lobe-i18n` 自动生成其他的语言 JSON 文件。
|
|
95
102
|
|
|
@@ -99,8 +106,8 @@ LobeChat 采用 `i18next` 和 `lobe-i18n` 实现多语言支持,确保用户
|
|
|
99
106
|
|
|
100
107
|
## 附录:资源与参考
|
|
101
108
|
|
|
102
|
-
为了支持开发者更好地理解和使用
|
|
109
|
+
为了支持开发者更好地理解和使用 LobeHub 的技术栈,我们提供了一份详尽的资源与参考列表 —— [LobeHub 资源与参考](/zh/docs/development/basic/resources) - 访问我们维护的资源列表,包括教程、文章和其他有用的链接。
|
|
103
110
|
|
|
104
|
-
我们鼓励开发者利用这些资源深入学习和提升技能,通过 [
|
|
111
|
+
我们鼓励开发者利用这些资源深入学习和提升技能,通过 [LobeHub GitHub Discussions](https://github.com/lobehub/lobe-chat/discussions) 或者 [Discord](https://discord.com/invite/AYFPHvv2jT) 加入社区讨论,提出问题或分享你的经验。
|
|
105
112
|
|
|
106
113
|
如果你有任何疑问,或者需要进一步的帮助,请不要犹豫,请通过上述渠道与我们联系。
|
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Best Practices for State Management
|
|
3
|
+
description: >-
|
|
4
|
+
Explore effective state management practices for LobeHub's complex data flow
|
|
5
|
+
architecture.
|
|
6
|
+
tags:
|
|
7
|
+
- State Management
|
|
8
|
+
- LobeHub
|
|
9
|
+
- Data Flow
|
|
10
|
+
- Best Practices
|
|
3
11
|
---
|
|
4
12
|
|
|
5
13
|
# Best Practices for State Management
|
|
6
14
|
|
|
7
|
-
|
|
15
|
+
LobeHub differs from traditional CRUD web applications in that it involves a large amount of rich interactive capabilities. Therefore, it is crucial to design a data flow architecture that is easy to develop and maintain. This document will introduce the best practices for data flow management in LobeHub.
|
|
8
16
|
|
|
9
17
|
## Key Concepts
|
|
10
18
|
|
|
@@ -64,10 +72,10 @@ SortableTree/store
|
|
|
64
72
|
|
|
65
73
|
- **High Complexity**: Involves over 30 states and 20 actions, requiring modular cohesion using slices. Each slice declares its own initState, actions, reducers, and selectors.
|
|
66
74
|
|
|
67
|
-
The directory structure of the previous version of SessionStore for
|
|
75
|
+
The directory structure of the previous version of SessionStore for LobeHub, with high complexity, implements a large amount of business logic. However, with the modularization of slices and the fractal architecture, it is easy to find the corresponding modules, making it easy to maintain and iterate on new features.
|
|
68
76
|
|
|
69
77
|
```bash
|
|
70
|
-
|
|
78
|
+
LobeHub SessionStore
|
|
71
79
|
├── index.ts
|
|
72
80
|
├── initialState.ts
|
|
73
81
|
├── selectors.ts
|
|
@@ -107,11 +115,11 @@ LobeChat SessionStore
|
|
|
107
115
|
└── store.ts
|
|
108
116
|
```
|
|
109
117
|
|
|
110
|
-
Based on the provided directory structure of
|
|
118
|
+
Based on the provided directory structure of LobeHub SessionStore, we can update the previous document and convert the examples to the implementation of LobeHub's SessionStore. The following is a portion of the updated document:
|
|
111
119
|
|
|
112
|
-
### Best Practices for
|
|
120
|
+
### Best Practices for LobeHub SessionStore Directory Structure
|
|
113
121
|
|
|
114
|
-
In the
|
|
122
|
+
In the LobeHub application, session management is a complex functional module, so we use the Slice pattern to organize the data flow. Below is the directory structure of LobeHub SessionStore, where each directory and file has its specific purpose:
|
|
115
123
|
|
|
116
124
|
{/* eslint-disable no-irregular-whitespace */}
|
|
117
125
|
|
|
@@ -148,7 +156,7 @@ src/store/session
|
|
|
148
156
|
|
|
149
157
|
## Implementation of SessionStore
|
|
150
158
|
|
|
151
|
-
In
|
|
159
|
+
In LobeHub, the SessionStore is designed as the core module for managing session state and logic. It consists of multiple Slices, with each Slice managing a relevant portion of state and logic. Below is a simplified example of the SessionStore implementation:
|
|
152
160
|
|
|
153
161
|
### store.ts
|
|
154
162
|
|
|
@@ -177,7 +185,7 @@ export const useSessionStore = createWithEqualityFn<SessionStore>()(
|
|
|
177
185
|
persist(
|
|
178
186
|
subscribeWithSelector(
|
|
179
187
|
devtools(createStore, {
|
|
180
|
-
name: '
|
|
188
|
+
name: 'LobeHub_Session' + (isDev ? '_DEV' : ''),
|
|
181
189
|
}),
|
|
182
190
|
),
|
|
183
191
|
persistOptions,
|
|
@@ -218,4 +226,4 @@ export const createSessionSlice: StateCreator<
|
|
|
218
226
|
|
|
219
227
|
In the `action.ts` file, we define a `SessionActions` interface to describe session-related actions and implement a `useFetchSessions` function to create these actions. Then, we merge these actions with the initial state to form the session-related Slice.
|
|
220
228
|
|
|
221
|
-
Through this layered and modular approach, we can ensure that
|
|
229
|
+
Through this layered and modular approach, we can ensure that LobeHub's SessionStore is clear, maintainable, and easy to extend and test.
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: 状态管理最佳实践
|
|
3
|
+
description: 探索 LobeHub 中的状态管理最佳实践,提升数据流架构的易用性与维护性。
|
|
4
|
+
tags:
|
|
5
|
+
- 状态管理
|
|
6
|
+
- LobeHub
|
|
7
|
+
- 数据流
|
|
8
|
+
- 最佳实践
|
|
3
9
|
---
|
|
4
10
|
|
|
5
11
|
# 状态管理最佳实践
|
|
6
12
|
|
|
7
|
-
|
|
13
|
+
LobeHub 不同于传统 CRUD 的网页,存在大量的富交互能力,如何设计一个易于开发与易于维护的数据流架构非常重要。本篇文档将介绍 LobeHub 中的数据流管理最佳实践。
|
|
8
14
|
|
|
9
15
|
## 概念要素
|
|
10
16
|
|
|
@@ -69,7 +75,7 @@ SortableTree/store
|
|
|
69
75
|
下述这个数据流的目录结构是之前一版 SessionStore,具有很高的复杂度,实现了大量的业务逻辑。但借助于 slice 的模块化和分形架构的心智,我们可以很容易地找到对应的模块,新增功能与迭代都很易于维护。
|
|
70
76
|
|
|
71
77
|
```bash
|
|
72
|
-
|
|
78
|
+
LobeHub SessionStore
|
|
73
79
|
├── index.ts
|
|
74
80
|
├── initialState.ts
|
|
75
81
|
├── selectors.ts
|
|
@@ -109,9 +115,9 @@ LobeChat SessionStore
|
|
|
109
115
|
└── store.ts
|
|
110
116
|
```
|
|
111
117
|
|
|
112
|
-
###
|
|
118
|
+
### LobeHub SessionStore 目录结构最佳实践
|
|
113
119
|
|
|
114
|
-
在
|
|
120
|
+
在 LobeHub 应用中,由于会话管理是一个复杂的功能模块,因此我们采用了 [slice 模式](https://github.com/pmndrs/zustand/blob/main/docs/guides/slices-pattern.md) 来组织数据流。下面是 LobeHub SessionStore 的目录结构,其中每个目录和文件都有其特定的用途:
|
|
115
121
|
|
|
116
122
|
{/* eslint-disable no-irregular-whitespace */}
|
|
117
123
|
|
|
@@ -140,7 +146,7 @@ src/store/session
|
|
|
140
146
|
|
|
141
147
|
## SessionStore 的实现
|
|
142
148
|
|
|
143
|
-
在
|
|
149
|
+
在 LobeHub 中,SessionStore 被设计为管理会话状态和逻辑的核心模块。它由多个 Slices 组成,每个 Slice 管理一部分相关的状态和逻辑。下面是一个简化的 SessionStore 的实现示例:
|
|
144
150
|
|
|
145
151
|
### store.ts
|
|
146
152
|
|
|
@@ -169,7 +175,7 @@ export const useSessionStore = createWithEqualityFn<SessionStore>()(
|
|
|
169
175
|
persist(
|
|
170
176
|
subscribeWithSelector(
|
|
171
177
|
devtools(createStore, {
|
|
172
|
-
name: '
|
|
178
|
+
name: 'LobeHub_Session' + (isDev ? '_DEV' : ''),
|
|
173
179
|
}),
|
|
174
180
|
),
|
|
175
181
|
persistOptions,
|
|
@@ -210,4 +216,4 @@ export const createSessionSlice: StateCreator<
|
|
|
210
216
|
|
|
211
217
|
在 `action.ts` 文件中,我们定义了一个 `SessionActions` 接口来描述会话相关的动作,并且实现了一个 `useFetchSessions` 函数来创建这些动作。然后,我们将这些动作与初始状态合并,以形成会话相关的 Slice。
|
|
212
218
|
|
|
213
|
-
通过这种结构分层和模块化的方法,我们可以确保
|
|
219
|
+
通过这种结构分层和模块化的方法,我们可以确保 LobeHub 的 SessionStore 是清晰、可维护的,同时也便于扩展和测试。
|