Skip to content

Repository files navigation

PhdBooster 🎓🚀

Better breaks = Better research

You focus on changing the world. We'll find you the good videos.

OpenClaw HuggingFace Platform License

English | 中文


🤔 What is this?

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 😏

The more you use, the more you save (break time, that is)


💡 Why PhdBooster?

  • 🔥 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 🤷


🏗️ Architecture

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
Loading

Two-stage filtering funnel — accurate and efficient:

  1. Text quick-filter 🏷️ — Parse title, hashtags, and author info. Skip videos containing non-target keywords (gaming, sports, news, etc.), saving ~60% of screenshot overhead.
  2. Visual deep-filter 👁️ — For potential matches, take a screenshot and send it to the vision model with your preference policy for analysis.

📱 Live Demo

    

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 🧠


🛠️ Tech Stack

Browser Automation

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.

Primary LLM

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 👇

Vision Models (Dual Fallback)

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.

Preference Policy

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 🔄


🚀 Quick Start

Prerequisites

1. Start OpenClaw

openclaw status
openclaw gateway start   # if not running

2. Open Target Platform

# Douyin
openclaw browser open https://www.douyin.com/?recommend=1

# Xiaohongshu
openclaw browser open https://www.xiaohongshu.com/explore

3. Configure Preference Policy

Tell 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**

4. Start Browsing

openclaw skill douyin-edge browse --target-count 20

Go back to your paper ☕ — 20 likes will be done by the time you return.


📁 Project Structure

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

📚 Documentation


⚠️ Known Limitations & Roadmap

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, ...)

🤗 Open Source Model

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.


📜 Disclaimer

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages