Skip to main content

arkweb-code-analysis

ArkWeb 代码仓库分析与索引生成。可作为独立 subagent 运行。支持 DeepWiki 在线索引增强。输出结构化索引文档供后续 design-doc 和 spec-review 调用。触发词:分析代码仓库、生成代码索引、理解仓库结构。

Quellinformationen

Repository
openharmonyinsight/openharmony-skills
Letzte Quellaktivität
21. Mai 2026 um 02:05
Erkannte Sprache von SKILL.md
Chinesisch
Sterne
35
Forks
7

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
arkweb-code-analysis
description
ArkWeb 代码仓库分析与索引生成。可作为独立 subagent 运行。支持 DeepWiki 在线索引增强。输出结构化索引文档供后续 design-doc 和 spec-review 调用。触发词:分析代码仓库、生成代码索引、理解仓库结构。
# ArkWeb 代码仓库分析与索引 **Announce at start:** "我正在使用 arkweb-code-analysis skill 分析代码仓库。" ## 运行模式 ### 模式 A:Subagent 模式(推荐) 作为独立 subagent 被 `arkweb-architect` 调用时,从 task 描述中获取需求关键词和知识库证据包,结合 DeepWiki 在线索引 + 本地分析文档,输出结构化代码索引。 **输入格式(从 task 描述中解析):** ``` ## 需求关键词 {从需求中提取的技术关键词} ## 分析范围 - ace_engine: Web 组件相关代码 - web_webview: NWeb API 相关代码 - chromium_src: 内核相关代码(如涉及) ## 知识库证据包(主 Session 已在 Phase 2 Step 2.0 检索完成) {知识库检索结果,可直接引用} ``` **输出:** 分析文档 → 保存到指定路径 → 回复关键发现 ### 模式 B:交互模式 在主 session 中直接调用,用户指定仓库和分析目标。 --- ## 分析数据源 > 通用降级策略、仓库信息、认证方式详见 `_shared/KB_RULES.md`。以下仅列出本 skill 的检索流程。 ### 🥇 oh-chromium-knowledge 知识库 **读取流程(严格按顺序):** 1. `index.json` → 全局路由入口(14 个仓库索引) 2. `search/by_feature.json` → 按需求类型定位(35 个功能特性) 3. `search/by_module.json` → 按模块定位(20 个模块) 4. `repos/chromium_src/arkweb_adapter/routing_table.json` → 代码路径映射(29 个需求类型) 5. `repos/chromium_src/modules/components.json` → 组件索引(17 个核心组件) 6. `repos/chromium_src/arkweb_adapter/ohos_dirs.json` → OHOS 适配目录(43 个) 7. `repos/chromium_src/arkweb_adapter/nweb_service.json` → NWeb 接口映射 8. `repos/{repo}/architecture.md` → 各仓库架构文档 **禁止事项:** - ❌ 不要一次性读取所有 repos/ 下的文件 - ❌ 不要跳过 Step 1(必须先读 index.json) - ❌ 不要把知识库当源码——知识库仅提供索引,具体实现需查看实际代码仓库 **调用策略:** 1. 先读 `index.json` 了解全局结构 2. 根据需求关键词在 `search/by_feature.json` 中匹配相关功能特性 3. 从匹配到的 `files` 列表中读取 1-2 个关键文件 4. 用定位到的代码路径指导 DeepWiki 查询(更精准的关键词) 5. 如涉及 OHOS 适配,额外读取 `ohos_dirs.json` 和 `skills/ohos-adapter-guide.md` **覆盖范围:** - chromium_src / chromium_cef / chromium_third_party / chromium_chrome / chromium_v8 / chromium_third_party_skia(Tier 1) - ffmpeg / angle / devtools_frontend / webrtc / blink_webtests / dawn / pdfium(Tier 2) - chromium_arkweb(Tier 3) - 详见知识库 SKILL.md:`skills/oh-chromium-knowledge/SKILL.md` ### 🥇 oh-ai-full-design 知识库 **仓库**: `openharmony-ai-design/oh-ai-full-design`(GitCode 私有) **用途**: 鸿蒙组件体系检索(子系统/部件/API/SystemCapability),与 oh-chromium-knowledge 互补 **读取流程:** 1. `index.json` → 全局路由入口 2. `search/by_keyword.json` → 按关键词定位组件 3. `subsystems/{subsystem}.json` → 子系统索引 4. `components/*/*.json` → 部件详情 5. `apis/*/*.json` → 接口详情(按需) **注意**: 私有仓库,无权限时跳过。详见 `_shared/KB_RULES.md` 第 3 节。 ### 🥈 DeepWiki MCP(在线索引增强) 通过 OpenCode MCP 直接调用 DeepWiki API,获取 AI 增强的仓库代码理解(架构、类关系、调用链路等)。无需浏览器渲染,速度快、结构化输出。 **MCP 配置(opencode.json):** ```json { "mcp": { "deepwiki": { "type": "remote", "url": "https://mcp.deepwiki.com/mcp" } } } ``` **MCP 工具(3 个):** | 工具 | 功能 | 参数 | 适用场景 | |------|------|------|---------| | `read_wiki_structure` | 获取仓库文档主题列表 | `repoName`: GitHub 仓库路径 | 快速了解仓库覆盖范围,确定搜索方向 | | `read_wiki_contents` | 查看仓库文档内容 | `repoName` + `topic` | 深入了解模块/类/API 的详细文档 | | `ask_question` | AI 问答(基于仓库上下文) | `repoName` + `question` | 精准搜索代码问题,获取 AI 增强分析 | **覆盖仓库:** | 仓库 | repoName | DeepWiki URL | |------|----------|-------------| | OpenHarmony ACE Engine | `openharmony/arkui_ace_engine` | https://deepwiki.com/openharmony/arkui_ace_engine | | OpenHarmony WebWebView | `openharmony/web_webview` | https://deepwiki.com/openharmony/web_webview | | OpenHarmony Chromium 适配 | `OpenHarmony-TPC/chromium_src` | https://deepwiki.com/OpenHarmony-TPC/chromium_src | | OpenHarmony CEF 适配 | `OpenHarmony-TPC/chromium_cef` | https://deepwiki.com/OpenHarmony-TPC/chromium_cef | | OpenHarmony Chromium 第三方库 | `OpenHarmony-TPC/chromium_third_party` | https://deepwiki.com/OpenHarmony-TPC/chromium_third_party | **调用策略:** 1. 先调用 `read_wiki_structure` 获取仓库主题概览,确定相关模块 2. 调用 `read_wiki_contents` 读取相关模块的详细文档 3. 调用 `ask_question` 精准搜索具体代码问题(类定义、方法签名、调用链路等) 4. 对多个关键词分别调用 `ask_question`,合并结果 5. 对于 chromium_src,优先搜 Blink 命名空间的类(如 `blink::HTMLInputElement`) **降级策略:** 见 `_shared/KB_RULES.md` ### 🥉 本地分析文档(复用) | 文档 | 路径 | 内容 | |------|------|------| | ACE Engine 分析 | `analysis/arkweb-ace-engine-analysis.md` | Web 组件完整索引 | | WebWebView 分析 | `analysis/web-webview-analysis.md` | NWeb API 索引 | | Chromium ArkWeb | `analysis/chromium-arkweb-analysis.md` | 内核分析 | | CEF 分析 | `analysis/chromium-cef-analysis.md` | CEF 层分析 | **使用方式:** `grep -n -i "{keyword}" {project_root}/analysis/*.md` ### 🏅 克隆仓库(兜底) 当 DeepWiki 和本地文档都无法覆盖时: ```bash git clone --depth=1 https://gitcode.com/{owner}/{repo}.git {DOCS_REPO}/tmp/{repo} ``` --- ## 流程 ### Step 1: oh-chromium-knowledge 知识库检索 1. 读取 `index.json` 获取全局结构 2. 根据需求关键词在 `search/by_feature.json` 中匹配相关功能特性 3. 从匹配结果中获取推荐的文件列表 4. 读取 `routing_table.json` 中对应需求类型的代码路径映射 5. 如涉及 OHOS 适配,读取 `ohos_dirs.json` 和 `nweb_service.json` 6. 如涉及特定组件,读取 `components.json` 中对应条目 ### Step 2: DeepWiki MCP 查询 1. 根据分析范围确定要查询的仓库(参见上方覆盖仓库表) 2. 调用 `read_wiki_structure` 获取仓库文档主题概览 3. 调用 `read_wiki_contents` 读取相关模块文档 4. 调用 `ask_question` 精准搜索代码问题: - 类定义和继承关系 - 方法签名和参数 - 调用链路 - 架构关系 - 文件路径(如 `third_party/blink/renderer/core/html/...`) 5. 对多个关键词重复查询,合并结果 **MCP 不可用时,降级为浏览器方式:** 1. 使用 agent-browser skill 打开 DeepWiki 页面 2. 获取快照后搜索关键词,提取代码信息 ### Step 3: 本地文档补充 1. 在已有分析文档中搜索关键词 2. 补充 DeepWiki 未覆盖的细节(如文件路径、行号) ### Step 4: 合并分析 将知识库索引 + DeepWiki 发现 + 本地文档信息合并为统一的分析结果。 ### Step 5: 证据包持久化(强制) **【强制持久化】** 证据包 Write 到 `{DOCS_REPO}/tmp/`,详见 `_shared/KB_RULES.md` 第 10 节。 证据包文件必须包含: - 每个数据源的**原始检索结果**(完整 JSON、文本、代码片段),不允许仅保存摘要 - 🥇 知识库索引的完整 JSON 响应 - 🥈 DeepWiki 的完整回答内容 - 🥉 本地文档的完整命中片段 - 🏅 克隆仓库的完整搜索输出 ### Step 6: 生成分析文档 ```markdown # {feature-name} 代码分析 ## 数据源 - 知识库: oh-chromium-knowledge({匹配的需求类型}, {读取的索引文件}) - DeepWiki: {使用的仓库 URL,搜索的关键词及结果摘要} - {仓库1}: {URL} → 搜索 "{keyword1}", "{keyword2}" → {发现摘要} - {仓库2}: {URL} → 搜索 "{keyword3}" → {发现摘要} - 本地文档: {参考的分析文件} ## 相关文件清单 | 文件 | 路径 | 职责 | 与本需求的关系 | |------|------|------|--------------| ## 关键类和接口 | 类/结构 | 文件 | 方法/字段 | 说明 | |---------|------|----------|------| ## 调用链路 {描述相关代码的调用关系} ## 现有相关逻辑 {描述现有代码中与本需求相关的已有实现} ## 技术可行性评估 | 方案 | 涉及的现有代码 | 可行性 | 风险点 | |------|--------------|--------|--------| ``` ### Step 7: 输出 #### Subagent 模式 保存文档并回复关键发现摘要。 #### 交互模式 输出分析结果,供用户参考。 ## 产出物 - **路径**:`{DOCS_REPO}/analysis/YYYY-MM-DD-{feature}-analysis.md` ## Subagent 回复格式 ``` ✅ code-analysis 完成 📄 文档:{file_path} 🔍 数据源:oh-chromium-knowledge + oh-ai-full-design ({N} 个索引) + DeepWiki ({N} 个仓库, {N} 个关键词) + 本地文档 ({N} 个) 📊 关键发现: - 相关文件 {N} 个,核心类 {N} 个 - 关键接口:{interface_1}, {interface_2} - 调用链路:{简要描述} - ⚠️ 注意:{潜在风险或需关注的点} ```
Auf GitHub ansehen