Agent skill

Tencent ima Knowledge Base Reader

by zj-unicom-ai in zj-unicom-ai/UniEmployee

Exports the article list and original article text from a Tencent ima knowledge base through a logged-in Chrome session, using browser automation.

MITAuto-check passedKnowledge Management

SKILL.md written in Chinese; this summary is our English description.

Install Tencent ima Knowledge Base Reader

skills CLI
$ npx skills add zj-unicom-ai/UniEmployee --skill tencent-ima-wiki -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install zj-unicom-ai/UniEmployee tencent-ima-wiki --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/zj-unicom-ai/UniEmployee.git skills-src && mkdir -p .claude/skills && cp -r skills-src/backend/skills/tencent-ima-wiki .claude/skills/tencent-ima-wiki && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
tencent-ima-wiki
GitHub stars
360
Token cost
~1k tokens
SKILL.md length
96 words
Files
2 (incl. scripts)
Skills in repo
22
Repo updated
First seen
Licence
MIT

At a glance

Exports the article list and original article text from a Tencent ima knowledge base through a logged-in Chrome session, using browser automation.

  • Listing the articles in a Tencent ima knowledge base
  • SKILL.md covers 概述, 前置条件, 工作流程 and 常见问题, plus 1 more section
  • Runs JavaScript scripts from its folder; reaches ima.qq.com
  • Reading the original text of articles saved in ima

What it does

The ima knowledge base page cannot show article details directly and uses a virtual-scrolling list whose DOM elements carry no links. The skill connects to an already logged-in ima.qq.com/wikis page, walks React Fiber state to pull each article's title and sourcePath, which is usually a WeChat official account link, then opens each link in a new tab and reads the page text.

The extraction logic is in scripts/extract_source_paths.js and runs through a browser-control tool; Chrome must be open on the wikis page with the target knowledge base selected. Scrolling loads more rows, and a troubleshooting section covers missing data-index elements, null sourcePath values for manual notes or PDFs, and expired logins, where you take over to sign in. It advises against calling ima's backend API directly because of its signing complexity, and suggests spacing out tab opening. The SKILL.md is written in Chinese.

When your agent uses it

  • Listing the articles in a Tencent ima knowledge base
  • Reading the original text of articles saved in ima
  • Collecting titles, sources and bodies from a personal or shared knowledge base
  • Troubleshooting empty sourcePath values in the ima list

Example prompts

  • “Export the article titles and source links from my ima knowledge base, then read the first few articles.”
  • “Open each source link from my ima list and save the article text.”
  • “Some items in my ima list come back with a null sourcePath, so work out why.”

Requirements

  • Chrome with a logged-in ima.qq.com/wikis page and the knowledge base selected
  • A browser-control tool such as mac_computer_use_tool with the bu plane

What it can do on your machine

Read from SKILL.md and the folder at commit c38a00a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (JavaScript), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • ima.qq.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Tencent ima Knowledge Base Reader loads about 1k tokens when it runs. Until then it costs about 57 tokens; SKILL.md has 96 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~57
When it runs · the whole SKILL.md, loaded when a task matches
~1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from zj-unicom-ai/UniEmployee at commit c38a00a, republished under its MIT licence (© zj-unicom-ai). 96 words, ~1,024 tokens.

Download SKILL.mdSave it as .claude/skills/tencent-ima-wiki/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
tencent-ima-wiki
description
获取腾讯 ima 知识库(ima.qq.com/wikis)中的文章列表和原始文章详情。适用于:(1) 用户已经登录 ima 知识库,需要导出或读取知识库中的文章列表;(2) ima 网页端不支持直接查看文章详情,需要通过 source_path 原始链接获取内容;(3) 批量抓取个人知识库或共享知识库中的文章标题、来源和正文。触发词:ima知识库、ima.qq.com、腾讯ima、知识库文章列表、万仁刚的知识库。

腾讯 ima 知识库内容获取

概述

通过浏览器自动化连接已登录的 ima.qq.com/wikis 页面,从 React 组件内部状态中提取文章的 sourcePath(原始微信公众号等外部链接),再逐个打开新标签页获取文章正文。

前置条件

  • 用户已在 Chrome 中打开 https://ima.qq.com/wikis 并完成登录
  • 当前选中了目标知识库(如"万仁刚的知识库")
  • 使用 mac_computer_use_tool 配合 plane="bu" 进行浏览器操作

工作流程

第一步:连接浏览器并确认页面状态
python
import seed_browser_use as bu

# 同步连接浏览器
bu.resync()

# 确认页面已加载
bu.wait_for_load(timeout=15)
page_info = bu.page_info()
print("当前页面:", page_info.get("url"))

如果 resync 失败或没有活动页面,直接用 bu.navigate("https://ima.qq.com/wikis") 打开页面。

第二步:提取文章列表的 sourcePath

ima 知识库使用虚拟滚动列表,文章数据存储在 React Fiber 内部状态中,DOM 元素上没有直接的链接属性。需要通过遍历 React Fiber 提取。

使用 scripts/extract_source_paths.js 中的代码逻辑,提取前 N 条文章的标题和原始链接:

python
js_code = """
(async () => {
    const results = [];
    const count = arguments[0] || 10;  // 要提取的条数
    
    for (let i = 0; i < count; i++) {
        const item = document.querySelector(`[data-index="${i}"]`);
        if (!item) continue;
        
        const fiberKey = Object.keys(item).find(k => k.startsWith('__reactFiber'));
        let fiber = item[fiberKey];
        
        let foundPath = null;
        let foundTitle = null;
        let depth = 0;
        
        function searchObj(obj, path, depth2) {
            if (!obj || depth2 > 8 || foundPath) return;
            if (typeof obj !== 'object') return;
            
            for (let key in obj) {
                try {
                    if ((key === 'sourcePath' || key === 'source_path') && typeof obj[key] === 'string') {
                        foundPath = obj[key];
                    }
                    if ((key === 'title' || key === 'name') && typeof obj[key] === 'string' && obj[key].length > 5) {
                        foundTitle = obj[key];
                    }
                    if (typeof obj[key] === 'object' && obj[key] !== null) {
                        searchObj(obj[key], path + '.' + key, depth2 + 1);
                    }
                } catch(e) {}
            }
        }
        
        while (fiber && depth < 30 && !foundPath) {
            if (fiber.memoizedProps) {
                searchObj(fiber.memoizedProps, 'props', 0);
            }
            fiber = fiber.return;
            depth++;
        }
        
        results.push({
            index: i,
            title: foundTitle || item.innerText.split('\\n')[0],
            sourcePath: foundPath
        });
    }
    return results;
})()
"""

# 传入要提取的条数
result = bu.js(js_code.replace('arguments[0] || 10', '5'))

关键点:

  • 列表项通过 data-index 属性定位,从 0 开始
  • 虚拟滚动列表:可视区域外的项可能不存在,需要滚动加载后才能提取更多
  • sourcePath 通常是微信公众号链接(mp.weixin.qq.com/s/...)
第三步:打开原始链接获取文章详情

提取到 sourcePath 后,逐个打开新标签页获取正文:

python
import time

for article in result:
    if not article.get('sourcePath'):
        continue
    
    # 关闭上一个标签页(可选,节省资源)
    # bu.close_tab()
    # time.sleep(1)
    
    # 打开新标签页
    bu.new_tab(article['sourcePath'])
    time.sleep(3)
    bu.wait_for_load(timeout=10)
    
    # 获取文章正文
    content = bu.get_page_text()
    print(f"标题: {article['title']}")
    print(f"内容: {content[:500]}...")
    
    # 处理完后关闭
    bu.close_tab()
    time.sleep(1)
第四步:滚动加载更多

虚拟滚动列表只渲染可视区域的项。要获取更多文章,需要先向下滚动:

python
# 滚动列表区域
bu.scroll(500, 500, "down", amount=5)
time.sleep(1)

# 然后重新提取 data-index 更大的项

常见问题

找不到 data-index 元素
  • 确认页面已完全加载,等待几秒后重试
  • 确认当前在"内容"列表视图,而不是文件夹视图
  • 先 bu.snapshot() 看看页面结构
sourcePath 为 null
  • 该条可能不是外部链接类型(如手动添加的笔记、PDF等)
  • 尝试增加遍历深度(把 depth < 30 改大)
  • 尝试搜索其他字段名:url、link、originalUrl
登录态失效
  • 如果页面跳转到登录页,需要用户手动登录后再继续
  • 调用 interaction.request_action 让用户接管完成登录

注意事项

  • 不要直接调用 ima 的后端 API(/cgi-bin/knowledge_tab_reader/get_knowledge_list),需要复杂的签名和参数,容易失败
  • 优先从 React Fiber 提取数据,这是最稳定的方式
  • 批量打开标签页时注意间隔,避免被微信公众号反爬
  • 提取到的微信公众号文章内容可以直接通过 bu.get_page_text() 获取

© zj-unicom-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (scripts) in backend/skills/tencent-ima-wiki of zj-unicom-ai/UniEmployee.

  • SKILL.md
  • scripts/extract_source_paths.js

Open the folder on GitHubat commit c38a00a

Compare with similar skills

Tencent ima Knowledge Base Reader next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Tencent ima Knowledge Base Reader compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Tencent ima Knowledge Base Reader this skillzj-unicom-ai/UniEmployee360—~1kAutomated safety check: PassMIT
Browserwingbrowserwing/browserwing1.4k—~1.8kAutomated safety check: PassMIT
Open BrowserJasonHonKL/Openbrowser114—~1.6kAutomated safety check: PassMIT
Content CollectorLeoYeAI/openclaw-master-skills2.2k—~4.8kAutomated safety check: PassMIT
WeChat Article DownloaderMoore-developers/moore-wechat-article-downloader294—~3.4kAutomated safety check: PassMIT
Knowledge Base Managementchubbyguan/chubbyskills1.2k—~3.3kAutomated safety check: PassMIT

Similar skills

  • Browserwing

    browserwing/browserwing

    Browser automation platform with 78 built-in scripts and full CLI.

    1.4k GitHub stars~1.8k tokensUpdated 2 mo ago
    Productivity & AutomationAuto-check passed
  • Open Browser

    JasonHonKL/Openbrowser

    A skill your agent uses whenever the task involves browsing web pages, extracting page content, clicking forms, or completing web workflows.

    114 GitHub stars~1.6k tokensUpdated 5 mo ago
    Testing & QAAuto-check passed
  • Content Collector

    LeoYeAI/openclaw-master-skills

    Automatically collect and archive content from shared links in group chats.

    2.2k GitHub stars~4.8k tokensUpdated 2 mo ago
    Knowledge ManagementAuto-check passed
  • WeChat Article Downloader

    Moore-developers/moore-wechat-article-downloader

    Downloads and manages WeChat official account articles from URLs, an account's history or subscriptions, adding engagement metrics and top comments when a valid session exists.

    294 GitHub stars~3.4k tokensUpdated 2 mo ago
    Productivity & AutomationAuto-check passed
  • Knowledge Base Management

    chubbyguan/chubbyskills

    管理本地 Markdown/Obsidian 知识库:素材入库、健康检查、增量索引、关键词与 semantic-lite 检索、逐字原文资料包、归档和 MCP 连接。用于搜索知识库、整理资料及为 Agent 准备可定位的引用。

    1.2k GitHub stars~3.3k tokensUpdated 3 days ago
    Knowledge ManagementAuto-check passed
  • Firecrawl Knowledge Base

    firecrawl/skills

    Build a knowledge base from web content with Firecrawl. An agent skill from firecrawl/skills.

    117 GitHub stars~612 tokensUpdated 2 days ago
    Knowledge ManagementAuto-check passed

More from zj-unicom-ai/UniEmployee

All 22 skills in this repo
  • Enterprise Customer Visit Playbook

    zj-unicom-ai/UniEmployee

    Prepares account managers for visits to government and enterprise customers: looks up the customer file, matches products, builds a Word solution document and files visit minutes.

    360 GitHub stars~458 tokensUpdated 2 days ago
    Auto-check passed
  • Business Overview Analysis

    zj-unicom-ai/UniEmployee

    Produces a full business health analysis from sales, finance, inventory and customer CSV files: core KPIs, monthly trends, drill-downs and recommendations.

    360 GitHub stars~662 tokensUpdated 2 days ago
    Auto-check passed
  • Competitor Deep-Dive Dashboard

    zj-unicom-ai/UniEmployee

    Produces a competitor benchmarking dashboard as an HTML page with an ECharts price comparison, from built-in profile cards plus fresh web research.

    360 GitHub stars~1.7k tokensUpdated 2 days ago
    Auto-check passed
  • Insurance Operations Analysis

    zj-unicom-ai/UniEmployee

    Analyzes insurance operating data such as premium, loss ratio, renewal rate and expense ratio by branch, product and channel, flags anomalies and builds an HTML dashboard.

    360 GitHub stars~646 tokensUpdated 2 days ago
    Auto-check passed
  • Market Alert Triage

    zj-unicom-ai/UniEmployee

    Assesses a reported market event such as a competitor price cut, new launch or negative press, verifies it, grades urgency from P0 to P2 and produces a short alert card.

    360 GitHub stars~778 tokensUpdated 2 days ago
    Auto-check passed
  • Market Daily Brief

    zj-unicom-ai/UniEmployee

    市场情报每日简报技能。当用户需要市场简报/早报/日报/周报/行业动态汇总,或问"最近有什么值得关注的"时使用。产出 HTML 在线看板。

    360 GitHub stars~1.6k tokensUpdated 2 days ago
    Auto-check passed

Works with

Questions about Tencent ima Knowledge Base Reader

What does Tencent ima Knowledge Base Reader do?

Exports the article list and original article text from a Tencent ima knowledge base through a logged-in Chrome session, using browser automation. The ima knowledge base page cannot show article details directly and uses a virtual-scrolling list whose DOM elements carry no links.com/wikis page, walks React Fiber state to pull each article's title and sourcePath, which is usually a WeChat official account link, then opens each link in a new tab and reads the page text.

When should I use Tencent ima Knowledge Base Reader?

Tencent ima Knowledge Base Reader fits situations like: listing the articles in a Tencent ima knowledge base; reading the original text of articles saved in ima; collecting titles, sources and bodies from a personal or shared knowledge base; troubleshooting empty sourcePath values in the ima list.

How do I install Tencent ima Knowledge Base Reader in Claude Code?

Run `npx skills add zj-unicom-ai/UniEmployee --skill tencent-ima-wiki -a claude-code`. Or copy the skill folder (backend/skills/tencent-ima-wiki in zj-unicom-ai/UniEmployee) into .claude/skills/tencent-ima-wiki in your project. Claude Code loads it when a task matches its description.

How do I install Tencent ima Knowledge Base Reader in Codex?

Run `npx skills add zj-unicom-ai/UniEmployee --skill tencent-ima-wiki -a codex`. Or copy the skill folder (backend/skills/tencent-ima-wiki in zj-unicom-ai/UniEmployee) into .agents/skills/tencent-ima-wiki in your project. Codex loads it when a task matches its description.

Can I use Tencent ima Knowledge Base Reader in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add zj-unicom-ai/UniEmployee --skill tencent-ima-wiki -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/tencent-ima-wiki, .gemini/skills/tencent-ima-wiki, .github/skills/tencent-ima-wiki and .opencode/skills/tencent-ima-wiki in your project.

What does Tencent ima Knowledge Base Reader need to run?

Going by SKILL.md and its folder, Tencent ima Knowledge Base Reader needs JavaScript for the scripts in its folder. Our summary lists: Chrome with a logged-in ima.qq.com/wikis page and the knowledge base selected; A browser-control tool such as mac_computer_use_tool with the bu plane.

Does Tencent ima Knowledge Base Reader access the network?

SKILL.md names 1 domain. In commands or code: ima.qq.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Tencent ima Knowledge Base Reader safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Tencent ima Knowledge Base Reader use?

Tencent ima Knowledge Base Reader is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Tencent ima Knowledge Base Reader use?

About 1k tokens (SKILL.md is roughly 4.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Tencent ima Knowledge Base Reader?

Skills that share tags, products or a category with Tencent ima Knowledge Base Reader: Browserwing (browserwing/browserwing, 1.4k stars), Open Browser (JasonHonKL/Openbrowser, 114 stars), Content Collector (LeoYeAI/openclaw-master-skills, 2.2k stars) and WeChat Article Downloader (Moore-developers/moore-wechat-article-downloader, 294 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Tencent ima Knowledge Base Reader?

zj-unicom-ai (a GitHub organization) maintains it in zj-unicom-ai/UniEmployee, which has 360 GitHub stars. The repository holds 22 skills in this directory. The repository was last updated on October 8, 2026.

Source: zj-unicom-ai/UniEmployee on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.