1
import qs from 'query-string';
2
import urlJoin from 'url-join';
4
import { withBasePath } from '@/utils/basePath';
5
import { isDev } from '@/utils/env';
7
import pkg from '../../package.json';
8
import { INBOX_SESSION_ID } from './session';
10
export const UTM_SOURCE = 'chat_preview';
12
export const OFFICIAL_URL = 'https://lobechat.com/';
13
export const OFFICIAL_PREVIEW_URL = 'https://chat-preview.lobehub.com/';
14
export const OFFICIAL_SITE = 'https://lobehub.com/';
16
export const OG_URL = '/og/cover.png?v=1';
18
export const GITHUB = pkg.homepage;
19
export const GITHUB_ISSUES = urlJoin(GITHUB, 'issues/new/choose');
20
export const CHANGELOG = urlJoin(GITHUB, 'blob/main/CHANGELOG.md');
21
export const DOCKER_IMAGE = 'https://hub.docker.com/r/lobehub/lobe-chat';
23
export const DOCUMENTS = urlJoin(OFFICIAL_SITE, '/docs');
24
export const USAGE_DOCUMENTS = urlJoin(DOCUMENTS, '/usage');
25
export const SELF_HOSTING_DOCUMENTS = urlJoin(DOCUMENTS, '/self-hosting');
26
export const WEBRTC_SYNC_DOCUMENTS = urlJoin(SELF_HOSTING_DOCUMENTS, '/advanced/webrtc');
27
export const DATABASE_SELF_HOSTING_URL = urlJoin(SELF_HOSTING_DOCUMENTS, '/server-database');
29
// use this for the link
30
export const DOCUMENTS_REFER_URL = `${DOCUMENTS}?utm_source=${UTM_SOURCE}`;
32
export const WIKI = urlJoin(GITHUB, 'wiki');
33
export const WIKI_PLUGIN_GUIDE = urlJoin(USAGE_DOCUMENTS, '/plugins/development');
34
export const MANUAL_UPGRADE_URL = urlJoin(SELF_HOSTING_DOCUMENTS, '/advanced/upstream-sync');
36
export const BLOG = urlJoin(OFFICIAL_SITE, 'blog');
38
export const ABOUT = OFFICIAL_SITE;
39
export const FEEDBACK = pkg.bugs.url;
40
export const DISCORD = 'https://discord.gg/AYFPHvv2jT';
41
export const PRIVACY_URL = urlJoin(OFFICIAL_SITE, '/privacy');
42
export const TERMS_URL = urlJoin(OFFICIAL_SITE, '/terms');
44
export const PLUGINS_INDEX_URL = 'https://chat-plugins.lobehub.com';
46
export const MORE_MODEL_PROVIDER_REQUEST_URL =
47
'https://github.com/lobehub/lobe-chat/discussions/1284';
49
export const MORE_FILE_PREVIEW_REQUEST_URL =
50
'https://github.com/lobehub/lobe-chat/discussions/3684';
52
export const AGENTS_INDEX_GITHUB = 'https://github.com/lobehub/lobe-chat-agents';
53
export const AGENTS_INDEX_GITHUB_ISSUE = urlJoin(AGENTS_INDEX_GITHUB, 'issues/new');
55
export const SESSION_CHAT_URL = (id: string = INBOX_SESSION_ID, mobile?: boolean) =>
57
query: mobile ? { session: id, showMobileWorkspace: mobile } : { session: id },
61
export const imageUrl = (filename: string) => withBasePath(`/images/${filename}`);
63
export const LOBE_URL_IMPORT_NAME = 'settings';
64
export const EMAIL_SUPPORT = 'support@lobehub.com';
65
export const EMAIL_BUSINESS = 'hello@lobehub.com';
67
export const MEDIDUM = 'https://medium.com/@lobehub';
68
export const X = 'https://x.com/lobehub';
69
export const RELEASES_URL = urlJoin(GITHUB, 'releases');
71
export const mailTo = (email: string) => `mailto:${email}`;
73
export const AES_GCM_URL = 'https://datatracker.ietf.org/doc/html/draft-ietf-avt-srtp-aes-gcm-01';
74
export const BASE_PROVIDER_DOC_URL = 'https://lobehub.com/docs/usage/providers';
75
export const SITEMAP_BASE_URL = isDev ? '/sitemap.xml/' : 'sitemap';