web-access
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chineseweb-access Skill
web-access Skill
首次安装
First-time Installation
用户首次使用时,执行以下流程:
Step 1:运行环境探测
bash
bash ~/.claude/skills/web-access/scripts/check-deps.shStep 2:AI 根据输出处理缺失依赖
探测脚本只报告事实,安装决策由 AI 完成。缺什么装什么,Chrome 缺失时提示用户手动下载(无法自动安装)。
Step 3:安装完成后,向用户说明以下内容
web-access 已就绪。凡是联网的需求直接说就行,我会自动选最合适的方式:
- 只需要搜索结果 → 直接搜,最快
- 需要看完整页面 → 抓取页面内容,不启动浏览器
- 需要登录/动态页面/浏览器操作 → 自动启动浏览器,登录一次后持久保存。支持多 sub-agent 集群并行使用多个浏览器。
Windows 用户需要 Git Bash 环境(安装 Git for Windows 即可)。
When users use it for the first time, follow these steps:
Step 1: Runtime Environment Detection
bash
bash ~/.claude/skills/web-access/scripts/check-deps.shStep 2: AI handles missing dependencies based on output
The detection script only reports facts, and installation decisions are made by AI. Install whatever is missing. If Chrome is missing, prompt the user to download it manually (auto-installation is not possible).
Step 3: After installation is complete, inform the user of the following
web-access is ready. Just tell me directly about any network-related needs, and I will automatically choose the most appropriate method:
- Only need search results → Direct search, fastest
- Need to view complete page content → Scrape page content without launching a browser
- Need login/dynamic page/browser operations → Automatically launch browser, persist login state after one login. Supports multi-sub-agent clusters using multiple browsers in parallel.
Windows users need Git Bash environment (install Git for Windows).
浏览哲学
Browsing Philosophy
像人一样浏览,不像机器人一样执行程序。
人类浏览网页时不会在开始前列出完整步骤,而是带着目标进入,边看边判断,遇到阻碍就解决,发现内容不够就深入——全程围绕「我要拿到什么」做决策。这个 skill 的所有行为都应遵循这个逻辑。
三个核心判断:
① 我需要什么? — 任务驱动,先想清楚目标信息的性质,再选最轻且能直达的方式。不要用重型工具做轻量任务,也不要用轻量工具面对它覆盖不到的内容。
② 够了吗? — 拿到的信息能完成任务,就是够了。不过度采集,不为了"完整"而浪费代价。大概了解一个视频,几帧就够;理解一篇文章,读文字就够;不需要全页截图去做能用 accessibility tree 完成的事。
③ 遇到阻碍怎么办? — 在层内解决,不退回,不打扰用户。弹窗、登录墙、广告、加载失败——像人一样判断这个阻碍是否真的挡住了目标内容:挡住了就处理,没挡住就绕过去继续。只有在确认无法自行解决时才告知用户。UI 交互也是一种可绕过的间接层:翻页、展开、点击不是获取内容的唯一路径——内容有可能已经在网站里,交互只是展示手段。
Browse like a human, not execute programs like a robot.
Humans don't list complete steps before browsing; they enter with a goal, judge as they go, solve obstacles when encountered, and dive deeper if content is insufficient — making decisions throughout centered on "what I need to get". All behaviors of this skill should follow this logic.
Three Core Judgments:
① What do I need? — Task-driven, first clarify the nature of the target information, then choose the lightest and most direct way. Don't use heavy tools for lightweight tasks, nor lightweight tools for content beyond their coverage.
② Is it enough? — If the obtained information can complete the task, it's enough. Do not over-collect, do not waste resources for the sake of "completeness". To roughly understand a video, a few frames are enough; to understand an article, reading the text is enough; there's no need to take full-page screenshots for tasks that can be done with the accessibility tree.
③ What to do when encountering obstacles? — Solve within the layer, do not backtrack, do not disturb the user. Pop-ups, login walls, ads, loading failures — judge like a human whether the obstacle really blocks the target content: handle it if it blocks, bypass it and continue if it doesn't. Only inform the user when it's confirmed that the problem cannot be solved independently. UI interaction is also an indirect layer that can be bypassed: Pagination, expansion, clicking are not the only paths to get content — content may already exist on the website, and interaction is just a means of display.
信息获取通道选择
Information Acquisition Channel Selection
- 先评估任务,再选通道:根据「目标信息的性质、什么工具能直接拿到」决定起点,选最轻且能直达的方案。
- 确保信息的真实性,一手信息优于二手信息:搜索引擎和聚合平台是信息发现入口。当多次搜索尝试后没有质的改进时,升级到更根本的获取方式:定位一手来源(官网、官方平台、原始页面)。
| 场景 | 通道 |
|---|---|
| 只需搜索摘要或关键词结果,或需要发现信息来源 | WebSearch |
| URL 已知,读取页面内容 | Jina(默认,底层执行 JS 渲染);需要读取 HTML 源码中的结构化字段(meta、JSON-LD 等)时改用 WebFetch(不执行 JS 渲染) |
| URL 是 PDF | Jina |
| 非公开内容,或已知静态层无效的平台(小红书、微信公众号等公开内容也被反爬限制) | 浏览器 CDP(直接,跳过静态层) |
| 需要动态内容、登录态、交互操作,或需要像人一样在浏览器内自由导航探索 | 浏览器 CDP |
浏览器 CDP 不要求 URL 已知——可从任意入口出发,通过页面内搜索、点击、跳转等方式找到目标内容。
Jina:调用方式为 (URL 前加前缀,不保留原网址 http 前缀)。限 20 RPM,更节省 AI 上下文。
底层用 Puppeteer 渲染页面(能处理 JS/SPA),再用 Readability 算法提取主文章内容转为 Markdown,会过滤导航、广告、侧边栏等噪声。适合文章、博客、文档、PDF 等以正文为核心的页面;对视频页、数据面板、商品页等非文章结构页面,可能提取到错误区块。拿到结果后判断内容是否符合任务预期,不符合则切换访问策略。
r.jina.ai/example.comWebFetch:直接获取原始 HTML,不执行 JS。meta、JSON-LD 等结构化字段通常由服务端静态嵌入 HTML,WebFetch 可直接读取;若字段由 JS 动态注入,WebFetch 同样拿不到。请求时加 header ,支持该协议的网站直接返回 Markdown。
Accept: text/markdown, text/html选择逻辑:默认用 Jina——Jina 底层执行 JS,能处理动态渲染页面。只有当任务可能需要读取 HTML 源码时,才用 WebFetch。Jina 和 WebFetch 均无法处理时(无法获取所需信息、报错、需登录)→ 升级浏览器层。
降级禁止:进入更重的通道后,不得回头用轻量工具完成同一目标——等同于重走已知不通的路。浏览器层遇到阻碍应在层内解决(如处理登录),而不是绕回。唯一例外:浏览器操作中衍生的新子目标,可重新选择通道。
进入浏览器层后,区分任务性质:
- 操作型(导航、填表、点击):用 accessibility tree 感知界面,无法识别时才截图辅助
- 内容型(读帖子、看资讯、分析页面):accessibility tree 读文字结构,同时判断图片是否承载核心信息——是则提取图片 URL 定向读取
图片判断:社交媒体、图文博客、截图类内容,默认图片有价值,主动去取;工具类、导航类页面,默认 accessibility tree 够用。
- Evaluate the task first, then choose the channel: Decide the starting point based on "the nature of the target information, which tool can directly obtain it", and select the lightest and most direct solution.
- Ensure information authenticity, first-hand information is better than second-hand: Search engines and aggregation platforms are information discovery entrances. When multiple search attempts don't bring qualitative improvement, upgrade to a more fundamental acquisition method: locate first-hand sources (official websites, official platforms, original pages).
| Scenario | Channel |
|---|---|
| Only need search summaries or keyword results, or need to discover information sources | WebSearch |
| URL is known, read page content | Jina (default, executes JS rendering at the bottom layer); use WebFetch (does not execute JS rendering) instead when needing to read structured fields in HTML source code (meta, JSON-LD, etc.) |
| URL is a PDF | Jina |
| Non-public content, or platforms where static layer is known to be ineffective (public content on Xiaohongshu, WeChat Official Accounts, etc. is also restricted by anti-scraping) | Browser CDP (direct, skips static layer) |
| Need dynamic content, login state, interactive operations, or need to freely navigate and explore in the browser like a human | Browser CDP |
Browser CDP does not require a known URL — it can start from any entry point, find target content through in-page search, clicking, jumping, etc.
Jina: Called in the format (add prefix before URL, do not retain the original http prefix). Limited to 20 RPM, saves AI context more efficiently.
It uses Puppeteer to render pages (can handle JS/SPA) at the bottom layer, then uses the Readability algorithm to extract main article content and convert it to Markdown, filtering out noise such as navigation, ads, and sidebars. Suitable for pages centered on main text such as articles, blogs, documents, PDFs; for non-article structured pages such as video pages, data panels, product pages, it may extract incorrect blocks. After obtaining the result, judge whether the content meets the task expectations, switch the access strategy if not.
r.jina.ai/example.comWebFetch: Directly obtains original HTML without executing JS. Structured fields such as meta and JSON-LD are usually statically embedded in HTML by the server, and WebFetch can read them directly; if the fields are dynamically injected by JS, WebFetch cannot obtain them either. Add header when requesting, and websites supporting this protocol will return Markdown directly.
Accept: text/markdown, text/htmlSelection Logic: Use Jina by default — Jina executes JS at the bottom layer and can handle dynamically rendered pages. Only use WebFetch when the task may require reading HTML source code. When neither Jina nor WebFetch can handle it (cannot obtain required information, error occurs, login required) → upgrade to browser layer.
Downgrade Forbidden: After entering a heavier channel, do not go back to use lightweight tools to complete the same target — it is equivalent to retracing a known blocked path. When encountering obstacles in the browser layer, solve them within the layer (such as handling login), instead of going back. The only exception: new sub-goals derived from browser operations can re-select channels.
After entering the browser layer, distinguish task types:
- Operational (navigation, form filling, clicking): Use accessibility tree to perceive the interface, only use screenshots for assistance when recognition fails
- Content-based (reading posts, viewing news, analyzing pages): Use accessibility tree to read text structure, and simultaneously judge whether images carry core information — extract image URLs for targeted reading if yes
Image Judgment: For social media, graphic blogs, screenshot-based content, images are considered valuable by default, actively fetch them; for tool-based, navigation-based pages, accessibility tree is considered sufficient by default.
浏览器 CDP 模式
Browser CDP Mode
启动
Startup
bash
undefinedbash
undefined单 agent 任务(默认端口 9222)
Single agent task (default port 9222)
bash ~/.claude/skills/web-access/scripts/ensure-browser.sh
bash ~/.claude/skills/web-access/scripts/ensure-browser.sh
并行任务(端口由主 agent 在 task prompt 中指定,见「并行调研」章节)
Parallel tasks (port specified by main agent in task prompt, see "Parallel Research" section)
bash ~/.claude/skills/web-access/scripts/ensure-browser.sh $PORT
输出 `Browser ready on port XXXX`。启动后必须执行以下两步:
```bashbash ~/.claude/skills/web-access/scripts/ensure-browser.sh $PORT
Output `Browser ready on port XXXX`. After startup, you must perform the following two steps:
```bash解析端口并设置 session(所有后续命令自动继承,无需重复传参)
Parse port and set session (all subsequent commands inherit automatically, no need to pass parameters repeatedly)
PORT=<从输出解析的端口号>
export AGENT_BROWSER_SESSION="port-${PORT}"
输出状态说明:
- `Browser ready on port XXXX` → 可直接用,设置 PORT 和 SESSION 后继续(任务结束后关闭)
- `ERROR` → 执行 `bash ~/.claude/skills/web-access/scripts/close-browser.sh [端口]` 后重新运行
> **⚠️ 严禁降级**:只用 agent-browser CDP 模式,不切换到其他浏览器工具/MCP。PORT=<Port number parsed from output>
export AGENT_BROWSER_SESSION="port-${PORT}"
Output status description:
- `Browser ready on port XXXX` → Can be used directly, continue after setting PORT and SESSION (close after task ends)
- `ERROR` → Execute `bash ~/.claude/skills/web-access/scripts/close-browser.sh [port]` and re-run
> **⚠️ Downgrade Strictly Forbidden**: Only use agent-browser CDP mode, do not switch to other browser tools/MCP.常用命令
Common Commands
将 输出中的端口号记为 ,后续命令统一用该端口:
ensure-browser.sh$PORTbash
agent-browser --cdp $PORT open <url> # 打开页面
agent-browser --cdp $PORT snapshot -i # 可交互元素(操作用)
agent-browser --cdp $PORT snapshot # 完整无障碍树(读文字用)
agent-browser --cdp $PORT click @ref-123 # 点击元素
agent-browser --cdp $PORT fill @ref-123 "内容" # 填写输入框
agent-browser --cdp $PORT wait load networkidle # 仅用于 click/fill 触发导航后;open 已内置等待,勿在 open 后使用
agent-browser --cdp $PORT scroll down 3000 # 触发懒加载
agent-browser --cdp $PORT screenshot /tmp/x.png
agent-browser --cdp $PORT screenshot --annotate # snapshot -i ref 失效时的升级方案,见 references/commands.md
agent-browser --cdp $PORT eval "<js>" # 执行 JS,用于提取 DOM 信息Record the port number from the output of as , use this port for subsequent commands:
ensure-browser.sh$PORTbash
agent-browser --cdp $PORT open <url> # Open page
agent-browser --cdp $PORT snapshot -i # Interactive elements (for operations)
agent-browser --cdp $PORT snapshot # Complete accessibility tree (for reading text)
agent-browser --cdp $PORT click @ref-123 # Click element
agent-browser --cdp $PORT fill @ref-123 "content" # Fill input box
agent-browser --cdp $PORT wait load networkidle # Only used after navigation triggered by click/fill; open has built-in waiting, do not use after open
agent-browser --cdp $PORT scroll down 3000 # Trigger lazy loading
agent-browser --cdp $PORT screenshot /tmp/x.png
agent-browser --cdp $PORT screenshot --annotate # Upgrade solution when snapshot -i ref fails, see references/commands.md
agent-browser --cdp $PORT eval "<js>" # Execute JS, used to extract DOM information图片提取
Image Extraction
判断内容在图片里时,用 从 DOM 直接拿图片 URL,再定向打开截图读取——比全页截图精准得多。
eval技术事实:
- 页面中存在大量已加载但未展示的内容——轮播中非当前帧的图片、折叠区块的文字、懒加载占位元素等,它们存在于 DOM 中但对用户不可见。视觉层只是 DOM 数据的一个投影。以数据结构(容器、属性、节点关系)为单位思考,可以直接触达这些内容,而不依赖视觉层是否将其呈现出来。
- scroll 到底部会触发懒加载,使未进入视口的图片完成加载。用 提取图片 URL 前若未滚动,部分图片可能尚未加载。
eval
拿到图片 URL 后,Read 工具原生支持读取本地图片文件。对于无需 session 的公开图片 URL,可直接下载到本地后用 Read 读取,无需经过浏览器。需要 session/cookie 的图片才需要在浏览器内 open + screenshot。
When judging that content is in images, use to directly get image URLs from DOM, then open and take screenshots for targeted reading — much more precise than full-page screenshots.
evalTechnical facts:
- There is a lot of content in the page that has been loaded but not displayed — images in non-current frames of carousels, text in collapsed blocks, lazy loading placeholder elements, etc., which exist in the DOM but are invisible to users. The visual layer is just a projection of DOM data. Thinking in units of data structures (containers, attributes, node relationships) can directly reach this content without relying on whether the visual layer presents it.
- Scrolling to the bottom triggers lazy loading, allowing images not in the viewport to complete loading. If you don't scroll before extracting image URLs with , some images may not have been loaded yet.
eval
After obtaining the image URL, the Read tool natively supports reading local image files. For public image URLs that do not require a session, you can directly download them to the local and read them with Read, without going through the browser. Only images that require session/cookies need to be opened + screenshot in the browser.
视频内容获取
Video Content Acquisition
CDP headed 模式下浏览器真实渲染,截图可捕获当前视频帧。核心能力:seek 到任意时间点截图,可对视频内容进行离散采样分析。
bash
undefinedIn CDP headed mode, the browser renders realistically, and screenshots can capture the current video frame. Core capability: Seek to any time point and take screenshots, which allows discrete sampling analysis of video content.
bash
undefined获取总时长,制定采样计划
Get total duration, formulate sampling plan
agent-browser --cdp $PORT eval "document.querySelector('video').duration"
agent-browser --cdp $PORT eval "document.querySelector('video').duration"
seek + 播放 + 截图
Seek + play + screenshot
agent-browser --cdp $PORT eval "var v=document.querySelector('video'); v.currentTime=60; v.play()"
sleep 2
agent-browser --cdp $PORT screenshot /tmp/frame.png
agent-browser --cdp $PORT eval "var v=document.querySelector('video'); v.currentTime=60; v.play()"
sleep 2
agent-browser --cdp $PORT screenshot /tmp/frame.png
全屏截图画面更清晰
Full-screen screenshots are clearer
agent-browser --cdp $PORT eval "document.querySelector('video').requestFullscreen()"
采帧粒度(仅供参考,具体视频具体分析:大概了解 → 30-60s 间隔;理解叙事 → 10s;精细分析 → 1-2s)由任务需求自行判断,无需用户指定。agent-browser --cdp $PORT eval "document.querySelector('video').requestFullscreen()"
Sampling granularity (for reference only, analyze specific videos accordingly: general understanding → 30-60s intervals; understand narrative → 10s; fine-grained analysis → 1-2s) is judged based on task requirements, no need for user specification.登录判断
Login Judgment
登录判断的核心问题只有一个:目标内容拿到了吗?
打开页面后,先尝试获取目标内容,持续执行。在此过程中,结合两方面信息做判断:
- 领域知识:对该网站的了解——X/Twitter 的最新时间线、小红书的私密内容、微博的完整评论等,这类内容通常需要登录才能获取完整数据
- 页面实际反馈:内容是否符合预期?是降级版(如热门帖代替最新帖)?是否有明显缺失?
即使页面显示了登录提示,只要目标内容已经拿到,就不需要打扰用户登录。
只有当确认目标内容无法获取时,才推断:登录是否能解决这个问题?若推断成立,告知用户:
"当前页面在未登录状态下无法获取[具体内容],请在已打开的 Chrome 窗口中登录 [网站名],完成后告诉我继续。"
登录完成后无需重启浏览器,直接继续原任务。
The core question of login judgment is only one: Have I obtained the target content?
After opening the page, first try to obtain the target content and continue executing. During this process, make judgments based on two aspects of information:
- Domain Knowledge: Understanding of the website — latest timeline of X/Twitter, private content of Xiaohongshu, complete comments of Weibo, etc., such content usually requires login to obtain complete data
- Actual Page Feedback: Does the content meet expectations? Is it a downgraded version (such as popular posts instead of latest posts)? Is there obvious missing content?
Even if the page shows a login prompt, there's no need to disturb the user to log in as long as the target content has been obtained.
Only when it is confirmed that the target content cannot be obtained, infer: Can login solve this problem? If the inference is valid, inform the user:
"The target content [specific content] cannot be obtained on the current page without logging in. Please log in to [website name] in the opened Chrome window and tell me to continue after completion."
No need to restart the browser after login is completed, directly continue the original task.
任务结束
Task Completion
任务结束后关闭浏览器(必须用此脚本,勿直接 kill,否则会留下崩溃窗口):
bash
bash ~/.claude/skills/web-access/scripts/close-browser.sh [端口] # 默认 9222close-browser.sh 同时清理 Chrome 进程和 agent-browser session daemon,调用方无需额外操作。
Close the browser after the task ends (Must use this script, do not kill directly, otherwise crash windows will remain):
bash
bash ~/.claude/skills/web-access/scripts/close-browser.sh [port] # Default 9222close-browser.sh cleans up Chrome processes and agent-browser session daemon at the same time, no additional operations are required for the caller.
并行调研:子 Agent 分治策略
Parallel Research: Sub-Agent Divide-and-Conquer Strategy
任务包含多个独立调研目标时(如同时调研 N 个项目、N 个来源),鼓励合理分治给子 Agent 并行执行,而非主 Agent 串行处理。
好处:
- 速度:多子 Agent 并行,总耗时约等于单个子任务时长
- 上下文保护:抓取内容不进入主 Agent 上下文,主 Agent 只接收摘要,节省 token
子 Agent 需继承 skill:
在子 Agent prompt 中写 即可,子 Agent 会自动加载 skill,无需在 prompt 中复制 skill 内容或指定路径。
遵循 web-access skill 的指引子 Agent Prompt 写法:目标导向,而非步骤指令
子 Agent 有完整的 skill 知识和自主判断能力。主 Agent 的职责是说清楚要什么,仅在必要与确信时限定怎么做。过度指定步骤会剥夺子 Agent 的判断空间,反而引入主 Agent 的假设错误。
错误:过度指定(预填了未验证的 URL/账号):
打开 https://x.com/SomeAccount,抓取最新推文正确:目标导向(子 Agent 自主发现路径):
找到 XX 的官方 X 账号,获取最新推文内容关键原则:不要预填未经验证的信息,信息来自用户直接提供或已确认时,才可直接传入。
分治判断标准:
| 适合分治 | 不适合分治 |
|---|---|
| 目标相互独立,结果互不依赖 | 目标有依赖关系,下一个需要上一个的结果 |
| 每个子任务量足够大(多页抓取、多轮搜索) | 简单单页查询,分治开销大于收益 |
| 需要 CDP 浏览器或长时间运行的任务 | 几次 WebSearch / Jina 就能完成的轻量查询 |
CDP 并发:每个端口启动独立 Chrome 实例,互不干扰。
主 agent 在启动子 agent 时,在 task prompt 中为每个子 agent 明确指定一个独占端口,避免浏览器实例冲突(从 9222 起,在 9222–9299 范围内选择,每个子 agent 用不同端口)。子 agent 收到端口后调用 启动。
ensure-browser.sh <PORT>When the task contains multiple independent research objectives (such as researching N projects, N sources at the same time), it is encouraged to reasonably divide and assign to sub-agents for parallel execution, rather than the main agent processing serially.
Benefits:
- Speed: Multiple sub-agents run in parallel, total time is approximately equal to the duration of a single sub-task
- Context Protection: Scraped content does not enter the main agent's context, the main agent only receives summaries, saving tokens
Sub-Agents Need to Inherit the Skill:
Write in the sub-agent prompt, and the sub-agent will automatically load the skill, no need to copy skill content or specify paths in the prompt.
Follow the guidelines of web-access skillSub-Agent Prompt Writing: Goal-oriented, not step-by-step instructions
Sub-agents have complete skill knowledge and independent judgment capabilities. The main agent's responsibility is to clearly state what is needed, and only limit how to do it when necessary and confident. Over-specifying steps will deprive sub-agents of judgment space, and instead introduce assumption errors from the main agent.
Wrong: Over-specification (pre-filling unverified URL/account):
Open https://x.com/SomeAccount, scrape the latest tweetsCorrect: Goal-oriented (sub-agent discovers path independently):
Find the official X account of XX, get the latest tweet contentKey principle: Do not pre-fill unverified information. Information can be directly passed in only when it is provided directly by the user or has been confirmed.
Divide-and-Conquer Judgment Criteria:
| Suitable for Divide-and-Conquer | Not Suitable for Divide-and-Conquer |
|---|---|
| Goals are independent, results do not depend on each other | Goals have dependencies, the next one needs the result of the previous one |
| Each sub-task has sufficient volume (multi-page scraping, multi-round searching) | Simple single-page query, divide-and-conquer overhead is greater than benefit |
| Requires CDP browser or long-running tasks | Lightweight queries that can be completed with a few WebSearch / Jina |
CDP Concurrency: Each port starts an independent Chrome instance, no mutual interference.
When the main agent starts sub-agents, explicitly specify an exclusive port for each sub-agent in the task prompt to avoid browser instance conflicts (select from 9222 to 9299, each sub-agent uses a different port). After receiving the port, the sub-agent calls to start.
ensure-browser.sh <PORT>特殊任务规则
Special Task Rules
核实任务
Verification Tasks
核实的目标是一手来源,而非更多的二手报道——多个媒体引用同一个错误会造成循环印证假象。
搜索用于定位来源,不用于证明真伪。找到来源后,直接访问读取原文。
| 信息类型 | 一手来源 |
|---|---|
| 政策/法规 | 发布机构官网 |
| 企业公告 | 公司官方新闻页 |
| 学术声明 | 原始论文/机构官网 |
找不到官网时:权威媒体的原创报道(非转载)可作为次级依据,但需向用户说明:"未找到官方原文,以下核实来自[媒体名]报道,存在转述误差可能。"
The goal of verification is first-hand sources, not more second-hand reports — multiple media citing the same error will create an illusion of circular confirmation.
Search is used for locating sources, not for proving authenticity. After finding the source, directly access and read the original text.
| Information Type | First-hand Source |
|---|---|
| Policies/Regulations | Official website of the issuing authority |
| Corporate Announcements | Official news page of the company |
| Academic Statements | Original papers/institutional official websites |
When official website cannot be found: Original reports from authoritative media (non-reprinted) can be used as secondary basis, but need to inform the user: "Official original text not found, the following verification comes from [media name] report, there may be paraphrasing errors."
工具能力边界理解
Understanding Tool Capability Boundaries
对任何工具(MCP、CLI、库)的能力有疑问时,如果没有足够的知识把握,先查官方文档,如无足够文档介绍,可考虑查看源码,再作判断,不猜测、不把不确定性转移给用户。
When in doubt about the capabilities of any tool (MCP, CLI, library), if there is not enough knowledge to be sure, check the official documentation first; if there is not enough documentation, consider viewing the source code before making a judgment, do not guess, do not transfer uncertainty to users.
References 索引
References Index
| 文件 | 何时加载 |
|---|---|
| 需要不常用命令时(drag、storage、pdf 等) |
| 需要了解登录流程细节时 |
| File | When to Load |
|---|---|
| When infrequently used commands are needed (drag, storage, pdf, etc.) |
| When details of login process need to be understood |