feat: add help links for message platform adapters in YAML and update documentation retrieval logic

This commit is contained in:
Junyan Qin
2026-03-31 00:29:24 +08:00
parent 7129dd536e
commit ea638cab80
20 changed files with 94 additions and 31 deletions

View File

@@ -1,12 +1,15 @@
/**
* Returns the documentation URL for a given adapter name,
* using link.langbot.app short links.
* Resolves the documentation URL for a given adapter from its
* spec.help_links map, selecting the best match for the current locale
* with a fallback to English.
*/
export function getAdapterDocUrl(
adapterName: string,
helpLinks: Record<string, string> | undefined,
locale: string,
): string | null {
// Map locale to doc language prefix
if (!helpLinks) return null;
// Map locale to simplified language key
let lang: string;
if (locale.startsWith('zh')) {
lang = 'zh';
@@ -16,28 +19,5 @@ export function getAdapterDocUrl(
lang = 'en';
}
// Only adapters with dedicated doc pages
const ADAPTER_DOC_SLUGS: Record<string, string> = {
telegram: 'telegram',
discord: 'discord',
slack: 'slack',
line: 'line',
kook: 'kook',
lark: 'lark',
dingtalk: 'dingtalk',
aiocqhttp: 'aiocqhttp',
qqofficial: 'qqofficial',
wecom: 'wecom',
wecomcs: 'wecomcs',
wecombot: 'wecombot',
officialaccount: 'officialaccount',
wechatpad: 'wechatpad',
openclaw_weixin: 'openclaw_weixin',
satori: 'satori',
};
const slug = ADAPTER_DOC_SLUGS[adapterName];
if (!slug) return null;
return `https://link.langbot.app/${lang}/platforms/${slug}`;
return helpLinks[lang] ?? helpLinks['en'] ?? null;
}

View File

@@ -118,6 +118,7 @@ export interface Adapter {
icon?: string;
spec: {
categories?: string[];
help_links?: Record<string, string>;
config: IDynamicFormItemSchema[];
};
}