Better breaks = Better research
You focus on changing the world. We'll find you the good videos. β¨
PhD life is stressful. You open Douyin or Xiaohongshu to relax, but all you get is ads and news?
PhdBooster is an AI-powered browsing assistant built on OpenClaw β it scrolls through Douyin / Xiaohongshu while you write papers, uses vision models to actually "see" every video, and automatically likes & bookmarks content that matches your taste, training the recommendation algorithm to serve you better.
You're writing a paper π
β PhdBooster is browsing videos for you π±
β AI "sees" each video ποΈ
β Matches your taste? Auto like & bookmark β€οΈ
β Platform algorithm learns your preferences π§
β You put down the paper, open your phone β feed is perfect π
- π₯ Just got roasted in the group meeting β need some eye candy to recover
- π₯ Experiment crashed β need something nice to calm down
- π Paper rejected β need a morale boost
- π Pulling an all-nighter before the deadline β need fuel to survive
But your feed is full of ads, news, and paid courses... your 5-minute break is wasted π
PhdBooster's philosophy: 10 minutes of quality break > 30 minutes of junk scrolling. Time saved = more papers read = PhD boosted π€·
graph TD
A[π Open Browser] --> B[π Main Loop]
B --> C[π Single Evaluate β Extract Metadata]
C --> D{ποΈ Livestream?}
D -->|Yes| E[βοΈ Skip]
D -->|No| F[π Text Pre-filter]
F -->|Non-target| E
F -->|Potential match| G[πΈ Screenshot]
G --> H[π§ Vision Model Analysis]
H --> I{β€οΈ Matches Preference?}
I -->|Yes| J[π Like + Verify]
I -->|No| E
E --> K[β¬οΈ Scroll to Next]
K --> B
J --> K
B --> L{π― Target Count Reached?}
L -->|Yes| M[β
Done]
L -->|No| B
Two-stage filtering funnel β accurate and efficient:
- Text quick-filter π·οΈ β Parse title, hashtags, and author info. Skip videos containing non-target keywords (gaming, sports, news, etc.), saving ~60% of screenshot overhead.
- Visual deep-filter ποΈ β For potential matches, take a screenshot and send it to the vision model with your preference policy for analysis.
Β Β Β Β
Left: AI analyzes a video and decides "non-target β skip" | Right: AI compares screenshots of different videos
The AI provides detailed descriptions of video content, then gives a judgment with reasoning based on your preference policy β not blind liking, but genuinely thinking before acting π§
Built on OpenClaw Browser (Chrome CDP under the hood). Real browser operations, behavior identical to a human user. A single evaluate call extracts all page metadata (author, title, hashtags, like button position) to minimize CDP round-trips.
Uses step-3.5-flash:free on OpenRouter as the main reasoning model π β blazing fast token generation. Grab it while it's still free!
Since this model doesn't support multimodal input, visual analysis is delegated to dedicated vision models via tool calls π
Primary β Kimi 2.5 (Moonshot AI)
- Endpoint:
https://api.moonshot.cn/v1/chat/completions - Model:
kimi-k2.5 - Pros: Fast, high quality, excellent policy comprehension
Fallback β Local Ollama
- Model: Based on LEONW24/Qwen3.5-9B-Uncensored π€
- Pros: Completely free, works offline, no content filtering (you know why π)
- Uploaded to HuggingFace, ready to use out of the box
Fallback logic: Kimi first β on failure / timeout / parse error β auto-switch to Ollama.
Your "aesthetic standards" are defined in a simple Markdown file (edge_policy.md). Edit and it takes effect instantly β zero code changes. Support multiple policy files and switch anytime π
- OpenClaw installed and running
- Python 3.10+
- (Optional) Local Ollama + LEONW24/Qwen3.5-9B-Uncensored model
openclaw status
openclaw gateway start # if not running# Douyin
openclaw browser open https://www.douyin.com/?recommend=1
# Xiaohongshu
openclaw browser open https://www.xiaohongshu.com/exploreTell OpenClaw to generate a preference policy *_policy.md β define what you like and dislike:
# Preference Policy
**Target content (like if any match):**
- Type A you like
- Type B you like
- ...
**Non-target content (skip):**
- Gaming, sports, news
- ...
**Threshold: Loose**openclaw skill douyin-edge browse --target-count 20Go back to your paper β β 20 likes will be done by the time you return.
PhdBooster/
βββ π assets/
β βββ logo.png # Project logo (Dr. Lobster)
β βββ banner.png # Brand banner
β βββ cabian_definition.png # Edge content definition reference
β βββ demo-analysis.jpg # Demo: AI analysis result
β βββ demo-screenshot.jpg # Demo: visual comparison
βββ π edge_policy.md # Preference policy β Chinese
βββ π edge_policy_en.md # Preference policy β English
βββ π douoyin_edge_workflow.md # Detailed workflow β Chinese
βββ π douyin_edge_workflow_en.md # Detailed workflow β English
βββ π analyze_edge.py # Vision analysis wrapper (Kimi β Ollama fallback)
βββ π§ kimi_query.py # Kimi 2.5 API client
βββ π§ ollama_query.py # Ollama API client
βββ π SKILL.md # OpenClaw skill definition
βββ π TOOLS.md # Tools reference
βββ π README.md # This file (English)
βββ π README_CN.md # Chinese version
- SKILL.md β OpenClaw skill definition: commands, configuration, and how the skill works
- TOOLS.md β Tools reference: Ollama local LLM setup, text & vision query usage
- douyin_edge_workflow_en.md β Detailed Douyin browsing workflow (English) | δΈζη
- edge_policy_en.md β Preference policy (English) | δΈζη
Current pain points:
- π’ OpenClaw throughput is slow β even with step-3.5-flash, speed is mediocre
- β±οΈ OpenClaw Browser CDP operations have ~10x latency vs native (snapshot / screenshot / evaluate average 10s each)
Future plans:
- π Playwright direct connection β bypass OpenClaw Gateway for much lower latency
- β‘ Parallel vision analysis β queue multiple screenshots and send concurrently
- π§ Adaptive scroll waiting β detect new content loading instead of fixed delays
- π Policy self-learning β collect false positive/negative feedback to auto-optimize preferences
- π More platforms (Bilibili, Weibo, ...)
The fallback vision model is uploaded to HuggingFace:
π LEONW24/Qwen3.5-9B-Uncensored
An uncensored version of Qwen3.5-9B with content safety restrictions removed, suitable for this project's visual analysis tasks. Deploy with Ollama for completely local, free, unlimited usage.
This project is for educational and research purposes only. Using automation tools on third-party platforms may violate their Terms of Service. Please assess risks on your own β use responsibly.
PhdBooster ππ
Make every break count
Made with β€οΈ by a stressed PhD student
