From a3623b5338ca7e9bb40722f51f711e36105d64e0 Mon Sep 17 00:00:00 2001 From: OpenClaw Agent Date: Tue, 10 Feb 2026 12:35:06 +0800 Subject: [PATCH] feat: Add mobile URL support for Bilibili MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Support m.bilibili.com/space/{id} for UP主 accounts - Handle mobile video URLs when resolving short links --- skills/kb-link-parser/link-parser.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/skills/kb-link-parser/link-parser.py b/skills/kb-link-parser/link-parser.py index bc9ea92..7bd10ba 100644 --- a/skills/kb-link-parser/link-parser.py +++ b/skills/kb-link-parser/link-parser.py @@ -31,6 +31,7 @@ class LinkParser: BILIBILI_VIDEO_SHORT_PATTERN = re.compile(r'https?://b23\.tv/([a-zA-Z0-9]+)') BILIBILI_ARTICLE_PATTERN = re.compile(r'https?://(?:www\.)?bilibili\.com/(?:article|read)/([a-zA-Z0-9]+)') BILIBILI_SPACE_PATTERN = re.compile(r'https?://(?:space\.)?bilibili\.com/(\d+)') + BILIBILI_MOBILE_SPACE_PATTERN = re.compile(r'https?://m\.bilibili\.com/space/(\d+)') BILIBILI_FAVLIST_PATTERN = re.compile(r'https?://(?:space\.)?bilibili\.com/\d+/favlist\?fid=(\d+)') BILIBILI_OPUS_PATTERN = re.compile(r'https?://(?:www\.)?bilibili\.com/opus/(\d+)') BILIBILI_SERIES_PATTERN = re.compile(r'https?://(?:space\.)?bilibili\.com/\d+/lists/(\d+)\?type=series') @@ -148,6 +149,15 @@ class LinkParser: "id": match.group(1) } + # Try mobile space (移动端UP主空间) + match = self.BILIBILI_MOBILE_SPACE_PATTERN.match(url) + if match: + return { + "platform": "bilibili", + "type": "up主", + "id": match.group(1) + } + return None def extract_youtube_id(self, url: str) -> Optional[Dict[str, str]]: