Domain skill
bilibili
Markdown synced from browser-harness domain skills.
- Host
- bilibili
- Files
- 1
Agent prompt
Use this skill
Copy this prompt into your coding agent to make it enable browser-harness domain skills and read this exact domain folder before automating.
Set up https://github.com/browser-use/browser-harness for me if it is not already installed. If setup is needed, read `install.md` first to install and connect it to my real browser. Then read `SKILL.md` for normal usage and always read `helpers.py` because that is where the browser-harness functions are. Enable domain skills if they are not already enabled by setting `BH_DOMAIN_SKILLS=1` for browser-harness. Use the `bilibili` domain skill from `agent-workspace/domain-skills/bilibili/`. Read every markdown file for this domain before inventing an approach: - agent-workspace/domain-skills/bilibili/navigation.md Use those domain-skill notes to complete my task for `bilibili` in my real browser. When you open a setup, verification, or task tab, activate it so I can see the active browser tab.
Skill contents
What the agent will read
Site Navigation & Structure
navigation.md
- Field-tested against bilibili.com on 2026-05-01. Requires login for personal-space features; public pages are accessible without auth.
- ---
- ---
- Horizontal nav across the top of bilibili.com:
Show full markdown
Field-tested against bilibili.com on 2026-05-01. Requires login for personal-space features; public pages are accessible without auth.
URL Patterns
Core pages
| Page | URL |
|---|---|
| Home (recommended feed) | https://www.bilibili.com/ |
| Dynamics (following feed) | https://t.bilibili.com/ |
| Personal space | https://space.bilibili.com/{UID} |
| Watch history | https://www.bilibili.com/account/history |
| Watch later | https://www.bilibili.com/watchlater/#/list |
| Messages | https://message.bilibili.com/ |
| Search | https://search.bilibili.com/all?keyword={QUERY} |
Personal space sub-pages
| Page | URL |
|---|---|
| Home (videos + favorites) | https://space.bilibili.com/{UID} |
| Dynamics (user activity) | https://space.bilibili.com/{UID}/dynamic |
| Uploads | https://space.bilibili.com/{UID}/upload |
| Collections & series | https://space.bilibili.com/{UID}/lists |
| Favorites | https://space.bilibili.com/{UID}/favlist |
| Bangumi tracking | https://space.bilibili.com/{UID}/bangumi |
| Settings | https://space.bilibili.com/{UID}/settings |
Discovery
| Page | URL |
|---|---|
| Popular / Hot | https://www.bilibili.com/v/popular/all |
| Weekly must-watch | https://www.bilibili.com/v/popular/weekly?num={ISSUE} |
| All-time classics | https://www.bilibili.com/v/popular/all (入站必刷 tab) |
| Ranking (all) | https://www.bilibili.com/v/popular/rank/all |
| Topics | https://www.bilibili.com/v/topic/ |
Video page
| Aspect | Pattern |
|---|---|
| Watch URL | https://www.bilibili.com/video/{BV_ID} |
| BV format | BV prefix + 10 alphanumeric chars, e.g. BV1HeRKBdEoX |
| AV format (legacy) | av + digits, e.g. av170001 (still resolves) |
Content platforms
| Page | URL |
|---|---|
| Anime | https://www.bilibili.com/anime/ |
| Movie | https://www.bilibili.com/movie/ |
| TV series | https://www.bilibili.com/tv/ |
| Documentary | https://www.bilibili.com/documentary/ |
| Variety show | https://www.bilibili.com/variety/ |
| Chinese animation | https://www.bilibili.com/guochuang/ |
| Read (articles/blogs) | https://www.bilibili.com/read/home |
| Audio / Music | https://www.bilibili.com/audio/home |
| Courses (课堂) | https://www.bilibili.com/cheese/ |
| Live | https://live.bilibili.com/ |
| Game center | https://game.bilibili.com/platform |
| Manga (漫画) | https://manga.bilibili.com/ |
| Mall (会员购) | https://show.bilibili.com/platform/home.html |
| Esports / Matches | https://www.bilibili.com/match/home/ |
Creator
| Page | URL |
|---|---|
| Creator center | https://member.bilibili.com/platform/home |
| Upload video | https://member.bilibili.com/platform/upload/video/frame |
Other
| Page | URL |
|---|---|
| Premium (大会员) | https://account.bilibili.com/big |
| Blackroom (bans) | https://www.bilibili.com/blackroom/ban |
Top Navigation Bar
Horizontal nav across the top of bilibili.com:
首页 | 番剧 | 直播 | 游戏中心 | 会员购 | 漫画 | 赛事
These are always visible regardless of login state.
Left sidebar channels (分区)
On the homepage, the left sidebar lists 30 content channels. Each maps to bilibili.com/c/{SLUG} or a top-level path:
动态 热门 番剧 电影 国创 电视剧 综艺 纪录片 动画 游戏 鬼畜 音乐 舞蹈 影视 娱乐 知识 科技数码 资讯 美食 小剧场 汽车 时尚美妆 体育运动 动物 vlog 绘画 人工智能 家装房产 户外潮流 健身
Channel URLs:
bilibili.com/c/{slug}— e.g./c/douga(动画),/c/game,/c/music,/c/ai- Some use full words:
/c/knowledge,/c/information,/c/food,/c/fashion,/c/sports,/c/animal,/c/painting,/c/home,/c/outdoors,/c/gym - Others use abbreviations:
/c/kichiku(鬼畜),/c/ent,/c/tech - Short play:
/c/shortplay - Car:
/c/car(no trailing slash in source)
User Menu (right side of top bar, login required)
Dropdown accessible via avatar in top-right corner:
| Entry | URL | Notes |
|---|---|---|
| 大会员 | account.bilibili.com/big | Premium status |
| 消息 | message.bilibili.com | Sub-items: 回复我的, @我的, 收到的赞, 系统消息, 我的消息 |
| 动态 | t.bilibili.com | Following feed — most important for daily use |
| 收藏 | space.bilibili.com/{UID}/favlist | Favorite folders |
| 历史 | https://www.bilibili.com/account/history | Watch history |
| 创作中心 | member.bilibili.com/platform/home | Creator dashboard |
| 投稿 | member.bilibili.com/platform/upload/video/frame | Upload |
Personal Space Tabs (space.bilibili.com/{UID})
Sub-navigation within the personal space:
主页 | 动态 | 投稿 | 合集和系列 | 收藏 | 追番追剧 | 设置
- 主页 — video grid + favorite folders + stats
- 动态 — this user's activity feed (distinct from
t.bilibili.comwhich is the following feed) - 投稿 — published videos, sortable by: 最新发布 / 最多播放 / 最多收藏
- 合集和系列 — curated video collections
- 收藏 — favorite folders (public or private)
- 追番追剧 — tracked anime/drama
- 设置 — space configuration
User Stats (visible on personal space)
Selector: .nav-statistics contains .nav-statistics__item children.
| Stat | Class |
|---|---|
| 关注数 (following) | .nav-statistics__item.jumpable (first) |
| 粉丝数 (followers) | .nav-statistics__item.jumpable (second) |
| 获赞数 (likes) | .nav-statistics__item (third) |
| 播放数 (views) | .nav-statistics__item (fourth) |
Values are in .nav-statistics__item-num.
Video Page — Interaction Features
When on a watch page (bilibili.com/video/{BV_ID}), the toolbar below the player offers:
| Action | Selector / Class | Notes |
|---|---|---|
| Like (赞) | .video-like | Count in .video-like-info |
| Coin (投币) | .video-coin | Each user can donate up to 2 coins per video |
| Collect (收藏) | .video-collect | Add to a favorite folder |
| Share (分享) | .video-share-wrap | Opens share panel with link/copy/QR |
| Triple-tap (三连) | Long-press like button | Triggers like + coin + collect in one action |
三连 (triple-tap) is Bilibili's signature interaction — long-pressing the like button sends a like, donates 1 coin, and adds to favorites simultaneously.
Coins (硬币)
- Users receive coins daily by logging in
- Coins are spent by "投币" on videos (1 or 2 per video)
- Coin count appears in the header user area
- Separate from B币 (B-Coins) which are purchased with real money
Danmaku (弹幕)
Real-time comments that scroll across the video. Toggle with the danmaku button in the player controls. Danmaku data is loaded via XHR after the video player initializes.
Charging (充电)
Monthly subscription / tipping to support creators. Accessible from the creator's space page or below the video player.
Favorites (/favlist)
Each favorite folder displays: name, video count, visibility (公开/仅自己可见).
Two sections on the page:
- 我创建的收藏夹 — user's own folders
- 我追的合集/收藏夹 — followed collections from other users
Actions:
- Create new folder: click "新建收藏夹"
- Set visibility: per-folder setting (公开 / 仅自己可见)
- Default folder is created automatically and holds all quick-favorited videos
Watch History (/account/history)
Features:
- Pause/resume recording — "暂停记录历史" / "继续记录历史"
- Clear all — "清空历史"
- Date filters — 今天 / 昨天 / 近1周 / 1周前 / 1个月前
- Each entry shows: title, progress (看到 XX:XX), uploader name, category tag
History items are in .history-record elements.
Watch Later (稍后再看)
Located at bilibili.com/watchlater/#/list. Also appears as a default folder in the favorites section on the personal space homepage.
Search (search.bilibili.com)
Search results are tabbed:
综合 | 视频 | 番剧 | 影视 | 直播 | 专栏 | 用户
Each tab shows a count badge (e.g., "视频99+"). Query param: ?keyword={QUERY}.
Autocomplete suggestions appear when typing in the search input.
Popular / Hot Page (/v/popular/all)
Tab bar:
综合热门 | 每周必看 | 入站必刷 | 排行榜 | 全站音乐榜
- 综合热门 — trending right now
- 每周必看 — weekly curated picks, URL:
/v/popular/weekly?num={ISSUE} - 入站必刷 — all-time classic videos
- 排行榜 — redirects to
/v/popular/rank/all - 全站音乐榜 — music-specific chart
Ranking (/v/popular/rank/all)
24 category tabs: 全部, 番剧, 国创, 纪录片, 电影, 电视剧, 综艺, 动画, 游戏, 鬼畜, 音乐, 舞蹈, 影视, 娱乐, 知识, 科技, 数码, 美食, 汽车, 时尚, 美妆, 体育, 运动, 动物
Each entry shows: rank number, title, creator, view count, interaction count.
Detecting Login State
# Logged in: avatar element exists
avatar = js("document.querySelector('.header-entry-avatar')?.src || 'not logged in'")
# Logged out: login button visible
login_btn = js("document.querySelector('.header-login-entry')?.textContent?.trim() || 'no login btn'")
Extract the current user's UID:
uid = js("document.querySelector('.header-entry-avatar')?.closest('a')?.href?.match(/space\\.bilibili\\.com\\/(\\d+)/)?.[1]")
Gotchas
- 动态 has two meanings —
t.bilibili.comis the following feed (content from people you follow), whilespace.bilibili.com/{UID}/dynamicis a specific user's activity. They are different pages. - Favorites URL redirects — navigating to
/favlistmay redirect to/favlist?fid={DEFAULT_FOLDER_ID}&ftype=create, which opens the first folder automatically. - History can be paused — if the history page says "历史功能暂停中", recording was paused by the user. Click "继续记录历史" to resume.
- UID is numeric — Bilibili user IDs are all-numeric, unlike YouTube handles. The UID appears in the space URL and is stable.
- BV vs AV IDs — modern video IDs use the BV format (e.g.
BV1HeRKBdEoX). Legacy AV format (e.g.av170001) still resolves but all new content uses BV. - Video URL gets
?vd_source=appended — when navigating from an authenticated session, bilibili appends avd_sourcetracking parameter. This can be stripped. - Watch later is separate from history —
/watchlater/#/listis a single-page app path, not a sub-page of/account/history. - Coins are not B-Coins — 硬币 (coins) are earned daily for free. B币 (B-Coins) are purchased with real money and used for tipping/charging/premium.
- Some channel URL slugs use abbreviations — 鬼畜 is
/c/kichiku, 娱乐 is/c/ent, 科技 is/c/tech. Not all are pinyin or translated. wait_for_load()is not enough on video pages — like YouTube, the video player and its toolbar components hydrate after the load event. Add await(3)before querying video toolbar selectors.