Token导航 LogoToken导航TokenDH.com
研究检索操作浏览器clawhub未标认证来源可访问clear审计提醒

bytetechbytetech 分析

Agent Skill

bytetech 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

2,654

周安装

114

GitHub Stars

公开资料未说明

下载量

930
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:bytetech(bytetech 分析)
来源仓库:https://github.com/qiushibang/bytetech
安装命令:
openclaw skills install bytetech
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install bytetech

简介

获取 ByteTech 技术文章的元信息、目录结构和正文内容。通过 Chrome DevTools MCP 直连用户本地 Chrome,复用登录态,抓包分析 API,提取文章数据。触发词:bytetech、字节技术、技术文章、bytetech article、获取 bytetech 文章、整理 bytetech。

SKILL.md

name
bytetech
description
获取 ByteTech 技术文章的元信息、目录结构和正文内容。通过 Chrome DevTools MCP 直连用户本地 Chrome,复用登录态,抓包分析 API,提取文章数据。触发词:bytetech、字节技术、技术文章、bytetech article、获取 bytetech 文章、整理 bytetech。
allowed-tools
Bash(mcporter:*), Bash(npx -y chrome-devtools-mcp@latest:*)

ByteTech 文章获取

通过 Chrome DevTools MCP 连接用户本地 Chrome,复用登录态,抓取 ByteTech 技术文章。

前置条件

  1. Chrome 已开启远程调试:chrome://inspect/#remote-debugging
  2. mcporter 已配置 chrome-devtools server

验证连接

mcporter call chrome-devtools.list_pages

应返回 Chrome 中打开的页面列表。

获取文章详情(核心 API)

# 1. 导航到 bytetech 文章页(在 Chrome 新 tab 中打开)
mcporter call chrome-devtools.new_page url="https://bytetech.info/articles/<ARTICLE_ID>" timeout=30000

# 2. 刷新并抓包
mcporter call chrome-devtools.navigate_page type=reload

# 3. 过滤 XHR/Fetch 请求,找到文章详情 API
mcporter call chrome-devtools.list_network_requests resourceTypes='["xhr","fetch"]'
# 找 reqid 对应 /proxy_tech_api/v1/article/detail

# 4. 获取文章详情响应
mcporter call chrome-devtools.get_network_request reqid=<ID>

文章详情 API 返回完整元信息:

  • data.article_info.title — 标题
  • data.article_info.en_title — 英文标题
  • data.article_info.summary — 摘要
  • data.article_info.lark_doc_token — 飞书文档 token
  • data.article_info.lark_doc_url — 飞书文档 URL
  • data.article_info.view_cnt — 浏览量
  • data.article_info.dig_cnt — 点赞数
  • data.article_info.collect_cnt — 收藏数
  • data.article_info.coin_cnt — 投币数
  • data.article_info.labels — 标签列表 [{name, en_name, ...}]
  • data.auther — 作者信息 [{name, full_name, email, department_name, ...}]

Request Body:

{"article_id":"<ARTICLE_ID>","id_type":8}

直接调用 bytetech API(无需浏览器刷新)

evaluate_script 在 bytetech 页面上下文中直接 fetch:

# 获取文章详情
mcporter call chrome-devtools.evaluate_script function='
async () => {
  const resp = await fetch("/proxy_tech_api/v1/article/detail", {
    method: "POST",
    headers: {"Content-Type": "application/json"},
    body: JSON.stringify({article_id: "7619471842051620907", id_type: 8})
  });
  return await resp.json();
}'
# 获取推荐文章
mcporter call chrome-devtools.evaluate_script function='
async () => {
  const resp = await fetch("/proxy_tech_api/v1/article/recommend", {
    method: "POST",
    headers: {"Content-Type": "application/json"},
    body: JSON.stringify({article_id: "7619471842051620907", id_type: 8, limit: 10})
  });
  return await resp.json();
}'
# 获取团队目录和关联文章
mcporter call chrome-devtools.evaluate_script function='
async () => {
  const resp = await fetch("/proxy_tech_api/v2/content/team_account/item_include_info", {
    method: "POST",
    headers: {"Content-Type": "application/json"},
    body: JSON.stringify({item_id: "7619471842051620907", id_type: 8})
  });
  return await resp.json();
}'
# 获取团队热门文章
mcporter call chrome-devtools.evaluate_script function='
async () => {
  const resp = await fetch("/proxy_tech_api/v1/content/team_account/rank/item", {
    method: "POST",
    headers: {"Content-Type": "application/json"},
    body: JSON.stringify({team_id: "<TEAM_ID>", limit: 10})
  });
  return await resp.json();
}'

获取文章正文

bytetech 文章正文存储在飞书文档中。

方式 A:lark-cli(推荐)

# 从 bytetech API 获取 lark_doc_token
# 然后用 lark-cli 获取飞书文档内容
lark-cli docs +fetch --as user --doc "<LARK_DOC_TOKEN>"

方式 B:Chrome DevTools MCP 导航到飞书文档

# 选择 bytetech 页面所在的 browser context(共享 cookies)
# 导航到飞书文档
mcporter call chrome-devtools.navigate_page type=url url="https://bytetech.info/articles/<ID>"
# 等待加载
mcporter call chrome-devtools.wait_for text='["文章"]' timeout=15000
# 提取页面文本
mcporter call chrome-devtools.take_snapshot

方式 C:evaluate_script 提取(从 SSR meta)

mcporter call chrome-devtools.evaluate_script function='
() => {
  const title = document.title.replace(/ - 文章 - ByteTech$/, "");
  const og = {};
  document.querySelectorAll("meta[property^=\"og:\"],meta[name]").forEach(m => {
    const k = m.getAttribute("property") || m.getAttribute("name");
    og[k] = m.content || "";
  });
  return JSON.stringify({title, description: og["og:description"] || og["description"]});
}'

搜索文章

# 在 bytetech 页面中搜索
mcporter call chrome-devtools.navigate_page type=url url="https://bytetech.info"
mcporter call chrome-devtools.wait_for text='["ByteTech"]' timeout=15000
mcporter call chrome-devtools.take_snapshot
# 找到搜索框 uid 后 fill
mcporter call chrome-devtools.fill uid="<SEARCH_UID>" value="AI Coding"
mcporter call chrome-devtools.press_key key=Enter
mcporter call chrome-devtools.wait_for text='["搜索结果"]' timeout=10000
mcporter call chrome-devtools.take_snapshot

抓包模式(接口探索)

# 导航到目标页面
mcporter call chrome-devtools.navigate_page type=reload

# 列出所有 API 请求
mcporter call chrome-devtools.list_network_requests resourceTypes='["xhr","fetch"]'

# 查看具体请求详情(含完整 headers 和 body)
mcporter call chrome-devtools.get_network_request reqid=<ID>

# 保存响应到文件(大响应)
mcporter call chrome-devtools.get_network_request reqid=<ID> responseFilePath=/tmp/response.json

API 速查表

APIMethod用途Request Body
/proxy_tech_api/v1/article/detailPOST文章详情(标题、摘要、标签、作者、飞书token){article_id, id_type:8}
/proxy_tech_api/v1/article/recommendPOST推荐文章列表{article_id, id_type:8, limit}
/proxy_tech_api/v2/content/team_account/item_include_infoPOST团队目录和关联文章{item_id, id_type:8}
/proxy_tech_api/v1/content/team_account/rank/itemPOST团队热门文章排行{team_id, limit}
/proxy_tech_api/v1/content/item_detail_inclusionPOST文章详细关联信息{item_id, id_type:8}
/proxy_tech_api/v2/label/treePOST标签树{}
/proxy_tech_api/v2/search/hotwordsGET热搜词-
/proxy_tech_api/v1/loginPOST登录检查{}
/api/v1/lark/component_authPOST飞书组件鉴权{url}

Cookie 说明

bytetech 使用以下 Cookie 进行鉴权:

  • gateway_sid — 网关 session
  • bytetech=bytetech-user — 用户标识
  • csrf_session_id — CSRF 防护

通过 Chrome DevTools MCP 的 --autoConnect 直连用户 Chrome,自动继承所有 Cookie,无需额外处理。

批量获取文章并总结

Step 1: 获取文章列表

先通过推荐 API 或团队排行 API 获取一批文章 ID:

# 推荐文章(基于某篇文章)
mcporter call chrome-devtools.evaluate_script function='
async () => {
  const resp = await fetch("/proxy_tech_api/v1/article/recommend", {
    method: "POST",
    headers: {"Content-Type": "application/json"},
    body: JSON.stringify({limit: 10})
  });
  const data = await resp.json();
  return JSON.stringify(data.data.map(i => ({
    article_id: i.article_info.article_id,
    title: i.article_info.title,
    author: i.auther.name,
    summary: (i.article_info.generated_summary || i.article_info.summary || "").substring(0, 200),
    lark_doc_token: i.article_info.lark_doc_token,
    views: i.article_info.view_cnt,
    likes: i.article_info.dig_cnt,
    collects: i.article_info.collect_cnt
  })));
}'
# 团队热门文章
mcporter call chrome-devtools.evaluate_script function='
async () => {
  const resp = await fetch("/proxy_tech_api/v1/content/team_account/rank/item", {
    method: "POST",
    headers: {"Content-Type": "application/json"},
    body: JSON.stringify({team_id: "<TEAM_ID>", limit: 10})
  });
  return await resp.json();
}'

Step 2: 批量获取文章详情

拿到 article_id 列表后,逐个调用 article/detail 获取完整元信息(标题、摘要、标签、作者、数据)。

Step 3: 按需获取正文

如果需要正文内容(不仅仅是摘要),逐个用 lark-cli 获取飞书文档:

lark-cli docs +fetch --as user --doc "<LARK_DOC_TOKEN>" 2>&1

注意

  • 每篇正文可能 10000-50000+ 字符,10 篇全文可能超过上下文窗口
  • 建议策略:先只取摘要和 generated_summary 做初步筛选,再对感兴趣的 3-5 篇取全文
  • 正文返回格式为 JSON,data.markdown 字段包含 markdown 格式的完整正文
  • 长文的 markdown 中包含飞书自定义标签(如 <lark-td> 等),需要清洗

Step 4: 清洗正文(Markdown 清洗)

lark-cli 返回的飞书文档 markdown 包含大量飞书自定义标签,需要清洗:

lark-cli docs +fetch --as user --doc "<TOKEN>" 2>&1 | node -e "
let d='';process.stdin.on('data',c=>d+=c);process.stdin.on('end',()=>{
  const r=JSON.parse(d);
  let md = r.data.markdown;
  // 清洗飞书自定义标签
  md = md.replace(/<\/?lark-[a-zA-Z0-9_-]+>/g, '');
  md = md.replace(/<\/?grid[^>]*>/g, '');
  md = md.replace(/<\/?column[^>]*>/g, '');
  md = md.replace(/<mention-doc[^>]*>.*?<\/mention-doc>/g, '');
  md = md.replace(/<quote-container>.*?<\/quote-container>/gs, '');
  md = md.replace(/<image[^>]*\/>/g, '');
  // 保留标准 markdown 格式
  console.log(md);
})"

Step 5: 生成总结

根据获取到的数据,生成结构化总结,包括:

  • 文章标题和链接:https://bytetech.info/articles/<article_id>
  • 作者和部门
  • 核心要点(从 summary 或正文中提取)
  • 数据指标(阅读量、点赞、收藏)
  • 趋势观察(多篇之间共同的话题方向)

链接格式

  • ByteTech 文章:https://bytetech.info/articles/<article_id>
  • 飞书文档:https://bytetech.info/articles/<article_id>#<lark_doc_token>

注意:ByteTech 文章需要飞书 OAuth 登录后才能查看,未登录会跳转登录页。

id_type 说明

  • 8 — 文章
  • 24 — 其他类型(视频等)

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

85.65%
按下载量换算797

安全审计

VirusTotal

通过

ClawScan

可疑

Static analysis

通过

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills