SuperAPI AI Directory

dongchedi-user-search

General & other

View repository

Updated 10-16 04:57

About this skill

Dongchedi User Search and Post Subscription

📝 Overview

Enter a keyword to find user (author) accounts on Dongchedi, with follower counts and bios clear at a glance; select the user you want to view and immediately pull their post list, with title, type, reads, likes, comments, favorites, and publish time all shown, and every post can be clicked via link to jump to its original page.

✨ Features

Feature Module Capability Description Core Value
User Keyword Search Enter keywords to search Dongchedi users (authors) Precisely discover target users
User Data Display Nickname, follower count, bio, homepage link Quickly assess account influence
Post List Query After selecting a user, retrieve their post list (title/type/reads/likes/comments/favorites/publish time), showing the latest 20 by default, with the option to view all See content performance at a glance
Direct Post Access Each post includes a clickable link One-click jump to view the original post
Paginated Browsing The user list supports browsing across multiple pages Do not miss any candidate user
Subscription Push After subscribing to a user, automatically push their posts updated yesterday every day at 9:00 Continuous tracking, never miss an update

🎯 Target Users

  • 🔍 Content Creators — Find benchmark accounts in the automotive field and study their topic directions and content performance.
  • 📊 Operations / Data Analysis — Figure out which active creators a certain brand/model has on Dongchedi.
  • 🏢 Brands / MCNs — Screen potential collaboration influencers in the automotive field and evaluate value by follower count and post data.
  • 🚗 Automotive Industry Professionals — Track favorite car reviewers and quickly browse all their recent posts.

🔑 Authentication

Get API Key

Please go to Redfox Hub to get the API KEY

Configure API Key

Option 1: Taking OpenClaw as an example, add REDFOX_API_KEY to ~/.openclaw/openclaw.json :

{ "env": { "REDFOX_API_KEY": "ak_xxxx..." } }

Option 2: Terminal configuration

export REDFOX_API_KEY="ak_xxxx..."

🔄 Workflow

Step 1: Understand user intent and extract keywords

⚠️ Core rule: semantic understanding first, prioritize extracting niche direction words (brand, model, field terms)

1. Extract keywords

  • Extract 2-6 character niche keywords from the user's description, such as brand names ("BYD"), models ("Li Auto L8"), and field terms ("off-road" "car review")
  • Filter redundant modifiers: when the user says "xx users" "xx authors" "xx accounts" "xx influencers" "xx bloggers", the search keyword only takes the core part. xx, remove the category modifier at the end. For example, "Xiaomi author" → search "Xiaomi", "off-road expert" → search "off-road"
  • If the user's intent is ambiguous (e.g., "help me search Dongchedi users"), proactively ask: "Which direction or field of Dongchedi users would you like to search for?"
  • Do not guess and call the script on your own when the user has not provided keywords

2. Identify the page number parameter(use the default value when the user does not specify)

  • Page number(--page): default 1
    • User mentions "next page", "page 2" → corresponding page number
    • User mentions "previous page" → current page - 1
    • Page number not mentioned → 1(default)

Step 2: Call the user search script

python3 ~/.agents/skills/dongchedi-user-search/scripts/search_user.py "<关键词>" [--page 页码]

Parameter description:

Parameter Optional values Meaning
keyword Any string Search keyword
--page Positive integer Page number, starting from 1 (default 1)

The script outputs in JSON format:

Field Description
users List of matched users (maintain the original order of the interface)
page Current page number
has_next Whether there is a next page (true/false)
next_offset Next page offset (pagination information, no need to show to the user)
total Number of items returned on the current page

Fields for each user:

Field Description
nickname User nickname
user_id User ID (used in Step 4 when fetching the works list)
followers Follower count
bio User bio
avatar Avatar URL
profile_url Profile link

⚠️ Complete data reading rule: When the JSON data output by the script is large, the terminal may truncate the middle content and display // This is the omitted part. In this case, you must read the complete file path indicated in the Bash output (e.g., Full output saved to: /path/to/file), use the Read tool to obtain the complete JSON, and then generate the table, ensuring that all field data is fully visible and no records are omitted.

Step 3: Determine the result and display the user list

Case A: users count > 0 (there are matching results)

A1. Inform the user of the query scope

📊 Keyword "XXX" found NDongchedi users (page {page}), the detailed data is as follows:

A2. Render a Markdown table (display all)

| #   | 用户昵称         | 粉丝数  | 简介                        | 用户ID       | 主页链接                |
| --- | ---------------- | ------- | --------------------------- | ------------ | ----------------------- |
| 1   | 小米公司         | 359.8w  | 小米公司官方信息发布账号。    | 3446334881   | [访问主页](profile_url) |

Formatting rules:

  • Follower count:< 10000 use the raw number (e.g., 320);≥ 10000 and < 1亿 use x.xw format (e.g., 1.2w、359.8w);≥ 1亿 use x.x亿 format (e.g., 1.2亿)
  • Nickname: display in full, do not truncate
  • Bio: display at most 40 characters, end with ... if exceeded; display —
  • User ID: display in full
  • Profile link: always display the text [访问主页](profile_url), click to jump to the Dongchedi user profile

A3. Pagination prompt (⚠️ immediately after the table, cannot be omitted, must be output every time)

  • If has_next is true:

📄 Currently page {page} . Reply "next page" to continue viewing.

  • If has_next is false (already on the last page):

📄 Currently page {page} , no more data.

"Next page" call rule when paging: If the user replies "next page", increment the page number when calling the script:

python3 ~/.agents/skills/dongchedi-user-search/scripts/search_user.py "<关键词>" --page {page+1}

A4. Guide the user to choose (⚠️ must be output, cannot be omitted)

👉 Whose works list do you want to see? Just reply with the number or nickname (e.g. "2" or "Xiaomi Company").

⚠️ A1~A4 are all indispensable and must be completed consecutively in the same round of output. If A3 or A4 is missing, it is considered an execution error and the output must be supplemented again.

Case B: users count = 0 (no matching results)

B1. Apology prompt

😔 Sorry, no Dongchedi users related to "XXX" were found. Try another keyword (such as a brand name, model, or field term).

⚠️ B1 must be completed in the same round of output and must not be interrupted.

Step 4: Identify the user's selection and call the works list script

1. Match the user

  • User replies withnumber(e.g. "2") → match the user corresponding to that number in the previous round's user table
  • User replies withnickname → match by nickname in the previous round's user table
  • If no match can be made or there is ambiguity (e.g. multiple similar nicknames), ask the user to confirm which user they want to see

2. Call the works list script

python3 ~/.agents/skills/dongchedi-user-search/scripts/work_list.py "<user_id>"

Parameter description:

Parameter Optional values Meaning
user_id string User ID (from the user search results' user_id)
--date YYYY-MM-DD / yesterday / today Filter works by publication time for the specified date; when subscribing to push, pass yesterday, by default no filtering

⚠️ Work queries do not support pagination: cursor always pass 0, which returns all works collected for that user in a single call (capped at about 100 items at most); there is no paging parameter, nor the ability to page to earlier works.

The script outputs in JSON format:

Field Description
user_id User ID
date Date filter value (empty string when not filtered)
total_count Total number of works collected for that user (before filtering)
count Number of works currently returned (after filtering)
works Works list (keeps the API's original order, from newest to oldest by publication time)

Fields for each work:

Field Description
work_id Work ID
title Work title/description (Markdown cleaned)
work_type Work type (1/2/7/9)
work_type_label Type Chinese name: Article / Video / Image-text post
publish_time Publication time (Unix timestamp, seconds)
publish_time_str Formatted publication time (YYYY-MM-DD HH:MM)
read_count Read count
like_count Like count
comment_count Comment count
collect_count Favorite count
duration_seconds Video duration (seconds), has a value when the type is video
cover_url Cover image URL
image_urls Image list (contains multiple images for image-text types)
video_id Video ID, has a value when the type is video
work_url Work detail page link
author_name Author nickname
author_id Author ID

⚠️ Complete data reading rule: Same as Step 2: if the terminal output is truncated, you must read the full file path indicated in the prompt to obtain the complete JSON before generating the table.

Step 5: Determine the result and display the works list

Case A: works count > 0 (has works)

A1. Inform the user of the query scope

  • Regular query (date is empty):

📊 User "XXX" has Nworks in total. The detailed data is as follows:

  • Date-filtered query (date is not empty, such as subscription push):

📊 User "XXX" on {date} updated Nworks. The detailed data is as follows:

A2. Render the Markdown table (keep the original API order; secondary sorting is prohibited)

  • Regular query (date is empty): by default, only the first 20 items are displayed;count when ≤ 20, display all
  • Date-filtered query (date is not empty, such as subscription push): no item limit; display all
| #   | 发布时间            | 作品标题                               | 类型     | 阅读   | 点赞 | 评论 | 收藏 |
| --- | ------------------ | ------------------------------------- | -------- | ------ | ---- | ---- | ---- |
| 1   | 2026-10-09 17:11   | [13万价位,后驱,激光雷达,磁流变悬架...](work_url) | 图文动态 | 6706   | 2    | 0    | 0    |

Formatting rules:

  • Work title: use the [标题](work_url) hyperlink format; if it exceeds 30 characters, truncate it and end with ... Ending
  • Type: directly use the work_type_label field (article / video / image-text post)
  • Publish time: directly use the publish_time_str field
  • Numbers (reads/likes/comments/favorites):< 10000 use the original number;≥ 10000 and < 1亿 use x.xw format (e.g., 1.2w、12.5w);≥ 1亿 use x.x亿 format

A3. View all prompt (⚠️ must be output for regular queries when count > 20)

📄 Displayed the first 20 items (out of Nworks). Reply "View all" to view all works.

A4. Subscription prompt (⚠️ must be output)

📬 Want to keep tracking them? After subscribing to "XXX", every day at 9:00 we will automatically push their works updated yesterday. Reply "Subscribe" to create it.

A5. Guidance after viewing works (⚠️ must be output)

👉 Need to view other users' works or search for other keywords? Just tell me directly.

Case B: works count = 0 (no works)

B1. Prompt (differentiated by scenario)

  • Date-filtered and total_count > 0 (subscription push / specified date scenario):

😔 User "XXX" has no updated works on {date} . (For subscription push, this can be phrased as "no updated works yesterday")

  • Regular query or total_count = 0:

😔 User "XXX" currently has no collected works (Red Fox has not collected this user's public works, or the user has few works). You can try another user.

⚠️ B1 must be completed in the same round of output and must not be interrupted.

View all handling (when the user replies "View all")

Trigger condition: Executed when the user expresses the intent to continue viewing works after the works list is displayed (such as "View All", "All", "View All Works", "Next Page", etc.).

1. Display Method

  • Work queries do not support pagination: Do not display in batches in a "Next Page" manner (such as 20 items each time), and do not output any "Next Page"-style pagination prompt; continuing to view is alwaysone-timedisplay of all remaining works
  • Based on the complete work data already obtained in the previous round,continue displayingall remaining works starting from item 21 (same table format and formatting rules, numbering continuously increasing from 21, maintaining the original interface order, secondary sorting prohibited), until all are displayed
  • Data should preferentially reuse the previous round's script output; if the previous round's output was truncated, read it according to the "Complete Data Reading Rules" from the complete file path indicated in the Bash output
  • Do not initiate a new interface request; only when the previous round's complete data is truly unavailable, re-execute the same script command once
  • If all works have already been displayed when replying "View All" (such as count ≤ 20), simply state that all works have been displayed; no need to output repeatedly
  • If the user requests "View All" after a date-filtered display (subscription push), perform one regular query for that user (without --date) and fully display all their works (no longer applying the first 20 items limit)

2. Subsequent Output

  • After the continued display is completed, output only the guidance message (A5); the subscription prompt and View All prompt are no longer output repeatedly

Step 6: Subscription Handling

Trigger condition: When the user replies "Subscribe" after the works list is displayed (or clearly expresses the intent to subscribe to the current user), create a daily push task for them.

  • If the user directly requests subscription without first displaying works (such as "Subscribe to Dongchedi's Xiaomi Company"), first locate the unique user according to Steps 1~4 (if ambiguity exists, first ask the user to confirm), then execute this step.

Silent execution principle: Intermediate steps such as task query, creation/update, etc. must not output process prompts to the user (such as "Creating subscription"); only display the final subscription success prompt.

1. Query Existing Subscription Tasks

Use automation_update mode=list to obtain tasks related to "Dongchedi Subscription", and read the subscribed users and corresponding userIds in each task.

2. Determine Append / Create New

Condition Operation
Existing subscribed users + new user ≤ 10 Append:automation_update mode=update, append the user's fetch command to the existing task prompt (deduplicated)
Exceeds 10 Create new:automation_update mode=create, create a new independent daily task "Dongchedi Subscription Works Daily Report #2"
User requests to cancel subscription Remove the user's command from the corresponding task prompt; if there are no users left in the task, delete the task

3. Task Configuration

  • Execution time: every day at 9:00 (FREQ=DAILY;BYHOUR=9;BYMINUTE=0)
  • automation prompt template (one command per subscribed user, multiple users listed in sequence):
拉取懂车帝订阅用户昨日更新的作品并展示给用户(保持接口原始顺序,禁止二次排序;某用户昨日无更新时输出「{昵称}:昨日无更新作品」):
python3 ~/.agents/skills/dongchedi-user-search/scripts/work_list.py "{user_id}" --date yesterday
  • --date yesterday The script internally filters "yesterday" data by publish time; no manual time comparison is needed

4. Subscription success prompt (the only external output)

✅ Subscription successful! Every day at 9:00, it will automatically push "XXX" works updated yesterday. If there were no updates yesterday, it will prompt "XXX: No works updated yesterday".

Step 7: End output

After all content has been displayed, do not wait; end output immediately.

📌 Notes

  • Work queries do not support pagination,cursor fixedly pass 0; a single pull retrieves the works of that user indexed by Red Fox (capped at about 100 items at most), and it does not have the ability to page through earlier works
  • Date filtering (--date) is performed internally by the script by comparing publication times (local time zone), and only filters within the range of works returned by this single pull
  • Work data remains in the order returned by the interface (by publication time from newest to oldest); secondary sorting is prohibited
  • A regular work list query displays the first 20 items by default; the only continuation logic is that after the user replies "View all", all remaining works already retrieved are displayed in one go based on the data already obtained (numbering starts from 21), without initiating new interface requests, and without outputting "next page"-style pagination prompts
  • All data comes from Red Fox indexing; some users may have works that are not indexed or are indexed with a delay