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

wiki-export维基导出

Agent Skill

用于辅助前端页面、组件、样式和交互逻辑的开发与维护。它适合让 Agent 生成或审查 React、Next.js、Vue、Tailwind、CSS 等相关代码,整理组件结构,或定位布局和性能问题。使用时需要结合项目现有设计系统、路由和构建方式,避免只生成孤立片段;涉及页面改动时,应配合本地预览和构建检查确认视觉效果。

总安装

19,183

周安装

824

GitHub Stars

801

下载量

6,724
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

请帮我安装这个 Agent Skill:wiki-export(维基导出)
来源仓库:https://github.com/ar9av/obsidian-wiki
仓库路径:skills/wiki-export
安装命令:
npx skills add https://github.com/ar9av/obsidian-wiki --skill wiki-export
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/ar9av/obsidian-wiki --skill wiki-export

简介

——前言摘要

  • 字段(如果存在)
  • 这是您的节点列表。
  • 对于每个页面,Grep 正文中的 \[\[.*?\]\]
  • 提取所有维基链接:
  • 解析每个[[目标]]
  • 或 [[目标|显示]]
  • — 仅使用目标部分
  • 将目标解析为节点 id(规范化:小写、空格→连字符、strip .md)
  • 跳过指向节点列表外部的链接(断开的链接)
  • 每个解析的链接都会成为一条边:{source: page_id, target: linked_id, relation: "wikilink",confidence: "EXTRACTED"}
  • 如果链接语句以 ^[推断] 结尾
  • 或 ^[不明确], 超越置信度
  • 相应地
  • 这是您的边缘列表。
  • 第 2 步:分配社区 ID
  • 通过标签聚类将页面分组为社区:
  • 共享相同主导标签的页面属于同一社区
  • 主导标签 = 页面 frontmatter 标签数组中的第一个标签
  • 没有标签的页面的社区 ID 为空
  • 社区数量从 0 开始,按大小降序排列(最大社区 = 0)
  • 这使得 HTML 可视化和 Gephi 等工具中基于社区的着色成为可能。
  • 第 3 步:写入输出文件
  • 创建 wiki 导出/
  • 如果库根不存在,则在库根处。写入所有四个文件:
  • 3a.图.json
  • NetworkX node_link 格式 — 图形工具和脚本的标准:
  • {
  • “定向”:假, “多重图”:假, “图”:{
  • "exported_at" : "<ISO 时间戳>", “金库”:“<OBSIDIAN_VAULT_PATH>”, “总节点数”:N, “总边数”:M
  • }, “节点”:[
  • {
  • "id" : "概念/变形金刚", "label" : "变压器架构", “类别”:“概念”, “标签”:[“ml”,“架构”], "summary" : "《Attention Is All You Need》中介绍的基于注意力的架构。", “社区”:0
  • }
  • ], “链接”:[
  • {
  • “来源”:“概念/变形金刚”, “目标”:“实体/vaswani”, “关系”:“维基链接”, “信心”:“已提取”
  • }
  • ]
  • }
  • 3b. graph.graphml
  • GraphML XML 格式 — 可在 Gephi、yEd 和 Cytoscape 中加载:
  • <?xml 版本=“1.0”编码=“UTF-8”?>
  • <graphml xmlns =“http://graphml.graphdrawing.org/graphml”>
  • < key id = "label" for = "node" attr.name = "label" attr.type = "string" />
  • < key id = "category" for = "node" attr.name = "category" attr.type = "string" />
  • < key id = "tags" for = "node" attr.name = "tags" attr.type = "string"/>
  • < key id = "community" for = "node" attr.name = "community" attr.type = "int" />
  • < key id = "relation" for = "edge" attr.name = "relation" attr.type = "string" />
  • < key id = "confidence" for = "edge" attr.name = "confidence" attr.type = "string" />
  • <图id =“维基”edgedefault =“无向”>
  • <节点id =“概念/变压器”>
  • <data key="label">Transformer架构</data>
  • <data key="类别">概念</data>
  • <data key="tags">ml、架构</data>
  • <数据键=“社区”>0</数据>
  • </节点>
  • <边缘源=“概念/变压器”目标=“实体/vaswani”>
  • <数据键=“关系”>维基链接</数据>
  • <数据键=“置信度”>提取</数据>
  • </边缘>
  • </图>
  • </graphml>
  • 写入一个<节点>
  • 每页和一个 <edge>
  • 每个维基链接。
  • 3c.密码.txt
  • Neo4j 密码合并
  • 语句 — 粘贴到 Neo4j 浏览器中或使用 cypher-shell 运行
  • // Wiki 知识图导出 — <TIMESTAMP>
  • // 加载方式:cypher-shell -u neo4j -p 密码 < cypher.txt
  • // 节点
  • MERGE ( n : Page { id : "concepts/transformers" } ) SET n 。标签=“变压器架构”,n。类别=“概念”,n。标签= [“ml”,“架构”],n。社区 = 0 ;
  • MERGE ( n : 页面 { id : "entities/vaswani" } ) SET n 。标签 =“阿什什·瓦斯瓦尼”,n。类别=“实体”,n。标签= [“人”,“毫升”],n。社区 = 0 ;
  • // 关系
  • MATCH ( a : Page { id : "concepts/transformers" } ) , ( b : Page { id : "entities/vaswani" } ) MERGE ( a ) - [ : WIKILINK {关系 : "wikilink" ,confidence : "EXTRACTED" } ] -> ( b ) ;
  • 写一个MERGE
  • 每页节点语句,然后一个 MATCH
  • / 合并
  • 每条边的关系声明。
  • 3d.图.html
  • 使用 vis.js CDN 的独立交互式可视化(无本地依赖项)。用户可以在任何浏览器中打开此文件 - 无需服务器。
  • 通过以下方式构建 HTML 文件:
  • 为 vis.js 生成节点对象的 JSON 数组:
  • { id:“concepts/transformers”,标签:“Transformer Architecture”,颜色:{背景:“#4E79A7”},大小:< Degree * 3 + 8 >,标题:“concepts | #ml #architecture”,社区:0 }
  • 按社区颜色(循环:#4E79A7,#F28E2B,#E15759,#76B7B2,#59A14F,#EDC948, #B07AA1,#FF9DA7, #9C755F,#BAB0AC)
  • 按度数划分的大小(传入 + 传出链接计数):大小 = 度数 * 3 + 8,上限为 60
  • 标题
  • = 悬停时显示的工具提示文本:类别、标签、摘要(如果有)
  • 为 vis.js 生成边缘对象的 JSON 数组:
  • { from : "concepts/transformers" , to : "entities/vaswani" , dashes : false , width : 1 , color : { color : "#666" , opacity : 0.6 } }
  • 破折号:正确
  • 对于推断的边
  • 破折号:[4,8]
  • 对于模糊边缘
  • 编写完整的 HTML 文件:
  • <!文档类型 html >
  • <html>
  • <头>
  • <元字符集=“utf-8”>
  • <标题>维基知识图</标题>
  • <脚本src =“https://unpkg.com/vis-network/standalone/umd/vis-network.min.js”></脚本>
  • <风格>
  • * { 框大小 : 边框框 ;保证金:0;填充:0; }
  • 主体{背景:#0f0f1a;颜色:#e0e0e0;字体系列:-apple-system,BlinkMacSystemFont,“Segoe UI”,sans-serif;显示:柔性;高度:100 vh; }
  • #graph { 弹性:1 ; }
  • #sidebar { 宽度:260 像素;背景:#1a1a2e;左边框:1 px 实线#2a2a4e;内边距:14 像素;溢出-y:自动;字体大小:13 px; }
  • #sidebar h3 { 颜色:#aaa ;字体大小:11 像素;文本转换:大写;字母间距:0.05 em;边距:0 0 10 像素; }
  • #info { 边距底部 : 16 px ;行高:1.6;颜色:#ccc; }
  • .legend-item { 显示:flex ;对齐项目:居中;间隙:8 像素;内边距:3 px 0;字体大小:12 px; }
  • .dot { 宽度:10 像素;高度:10 像素;边界半径:50%;弹性收缩:0; }
  • #stats { 顶部边距:16 像素;颜色:#555;字体大小:11 像素; }
  • </风格>
  • </头>
  • <正文>
  • <div id=“图表”></div>
  • <div id =“侧边栏”>
  • <h3>维基知识图谱</h3>
  • <div id = " info " > 单击节点可查看详细信息。 </div>
  • < h3 style = " margin-top : 12 px " > 社区 </ h3 >
  • < div id = " legend " > <!-- 由 JS 填充 --> </ div >
  • < div id = " stats " > <!-- 由 JS 填充 --> </ div >
  • </div>
  • <脚本>
  • const NODES_DATA = /* NODES_JSON */ ;
  • const EDGES_DATA = /* EDGES_JSON */ ;
  • const COMMUNITY_COLORS = [ "#4E79A7" , "#F28E2B" , "#E15759" , "#76B7B2" , "#59A14F" , "#EDC948" , "#B07AA1" , "#FF9DA7" , "#9C755F" , "#BAB0AC" ] ;
  • const 节点 = 新 vis 。数据集(NODES_DATA);
  • const 边 = 新 vis 。数据集(EDGES_DATA);
  • const 网络 = 新 vis 。 Network ( document . getElementById ( 'graph' ) , { 节点 , 边 } , {
  • 物理:{解算器:'forceAtlas2Based',forceAtlas2Based:{引力常数:- 60,弹簧长度:120},稳定性:{迭代:200}}, 交互:{悬停:true,tooltipDelay:100}, 节点:{形状:'点',边框宽度:1.5}, 边缘:{平滑:{类型:'连续'},箭头:{到:{启用:true,scaleFactor:0.4}}}
  • });
  • 网络 。一次('stabilizationIterationsDone',()=>网络。setOptions({物理:{启用:假}}));
  • 网络 。 on ( '点击' , ( { 节点 : sel } ) => {
  • if (!sel.length) return ;
  • 常量 n = NODES_DATA 。 find(x=>x.id===sel[0]);
  • 如果(!n)返回;
  • 文档 . getElementById('信息')。 innerHTML = ` <b>${n.label}</b><br>类别:${n.category||'—'}<br>标签:${n.tags||'—'}<br>${n.summary ? '<br>'+n.summary : ''} ` ;
  • });
  • // 构建图例
  • const 社区 = { } ;
  • 节点数据。 forEach ( n => { if ( n . 社区 != null ) 社区 [ n . 社区 ] = ( 社区 [ n . 社区 ] || 0 ) + 1 ; } ) ;
  • const 腿 = 文档 . getElementById('图例');
  • 目的 。条目(社区)。排序 ((a, b) => b[1] - a[1]) 。 forEach ( ( [ cid , 计数 ] ) => {
  • const 颜色 = COMMUNITY_COLORS [ cid % COMMUNITY_COLORS .长度];
  • 腿。 innerHTML += ` <div class="legend-item"><div class="dot" style="background:${color}"></div>社区 ${cid} (${count})</div> ` ;
  • });
  • 文档 。 getElementById('统计')。文本内容 = ` ${ NODES_DATA .长度 } 页 · ${ EDGES_DATA .长度}链接`;
  • </脚本>
  • </正文>
  • </html>
  • 替换 /* NODES_JSON */
  • 和 /* EDGES_JSON */
  • 使用您在步骤 1 中生成的实际 JSON 数组。
  • 第 4 步:打印摘要
  • Wiki 导出完成 → wiki-export/
  • graph.json — N 个节点,M 个边(NetworkX node_link 格式)
  • graph.graphml — N 个节点,M 个边 (Gephi / yEd / Cytoscape)
  • cypher.txt — N 个 MERGE 节点 + M 个 MERGE 关系 (Neo4j)
  • graph.html — 交互式浏览器可视化(在任何浏览器中打开)
  • 在过滤模式下,附加一行显示排除的内容:
  • (已过滤:排除 Y 页面中的 X — 可见性/内部、可见性/pii)
  • 注释
  • 重新运行是安全的 - 每次运行时所有输出文件都会被覆盖
  • 会跳过损坏的 wiki 链接 — 仅导出库中存在的页面的边缘
  • 维基导出/
  • 如果 Vault 是版本控制的,则目录应该被 gitignored — 这些是派生的工件
  • 图.json
  • 是主要格式——其他格式都是从它派生出来的。如果未来的工具本身支持图形查询,请将其指向 graph.json
  • 每周安装量
  • 第824章
  • 存储库
  • ar9av/黑曜石维基
  • GitHub 之星
  • 801
  • 第一次看到
  • 今天
  • 安全审计
  • Gen Agent Trust Hub 警告
  • 套接字通行证
  • 斯尼克通行证

SKILL.md

Wiki Export — Knowledge Graph Export

You are exporting the wiki's wikilink graph to structured formats so it can be used in external tools (Gephi, Neo4j, custom scripts, browser visualization).

Before You Start

  1. Read .env to get OBSIDIAN_VAULT_PATH
  2. Confirm the vault has pages to export — if fewer than 5 pages exist, warn the user and stop

Visibility Filter (optional)

By default, all pages are exported regardless of visibility tags. This preserves existing behavior.

If the user requests a filtered export — phrases like "public export", "user-facing export", "exclude internal", "no internal pages" — activate filtered mode:

  • Build a blocked tag set: {visibility/internal, visibility/pii}
  • Skip any page whose frontmatter tags contain a blocked tag when building the node list
  • Skip any edge where either endpoint was excluded
  • Note the filter in the summary: (filtered: visibility/internal, visibility/pii excluded)

Pages with no visibility/ tag, or tagged visibility/public, are always included.

Step 1: Build the Node and Edge Lists

Glob all .md files in the vault (excluding _archives/, _raw/, .obsidian/, index.md, log.md, _insights.md). In filtered mode, also skip pages whose tags contain visibility/internal or visibility/pii.

For each page, extract from frontmatter:

  • id — relative path from vault root, without .md extension (e.g. concepts/transformers)
  • labeltitle field from frontmatter, or filename if missing
  • category — directory prefix (concepts, entities, skills, references, synthesis, projects, or journal)
  • tags — array from frontmatter tags field
  • summary — frontmatter summary field if present

This is your node list.

For each page, Grep the body for \[\[.*?\]\] to extract all wikilinks:

  • Parse each [[target]] or [[target|display]] — use the target part only
  • Resolve the target to a node id (normalize: lowercase, spaces→hyphens, strip .md)
  • Skip links that point outside the node list (broken links)
  • Each resolved link becomes an edge: {source: page_id, target: linked_id, relation: "wikilink", confidence: "EXTRACTED"}
  • If the linking sentence ends with ^[inferred] or ^[ambiguous], override confidence accordingly

This is your edge list.

Step 2: Assign Community IDs

Group pages into communities by tag clustering:

  • Pages sharing the same dominant tag belong to the same community
  • Dominant tag = the first tag in the page's frontmatter tags array
  • Pages with no tags get community id null
  • Number communities starting from 0, ordered by size descending (largest community = 0)

This enables community-based coloring in the HTML visualization and tools like Gephi.

Step 3: Write the Output Files

Create wiki-export/ at the vault root if it doesn't exist. Write all four files:


3a. graph.json

NetworkX node_link format — standard for graph tools and scripts:

{
  "directed": false,
  "multigraph": false,
  "graph": {
    "exported_at": "<ISO timestamp>",
    "vault": "<OBSIDIAN_VAULT_PATH>",
    "total_nodes": N,
    "total_edges": M
  },
  "nodes": [
    {
      "id": "concepts/transformers",
      "label": "Transformer Architecture",
      "category": "concepts",
      "tags": ["ml", "architecture"],
      "summary": "The attention-based architecture introduced in Attention Is All You Need.",
      "community": 0
    }
  ],
  "links": [
    {
      "source": "concepts/transformers",
      "target": "entities/vaswani",
      "relation": "wikilink",
      "confidence": "EXTRACTED"
    }
  ]
}

3b. graph.graphml

GraphML XML format — loadable in Gephi, yEd, and Cytoscape:

<?xml version="1.0" encoding="UTF-8"?>
<graphml xmlns="http://graphml.graphdrawing.org/graphml">
  <key id="label" for="node" attr.name="label" attr.type="string"/>
  <key id="category" for="node" attr.name="category" attr.type="string"/>
  <key id="tags" for="node" attr.name="tags" attr.type="string"/>
  <key id="community" for="node" attr.name="community" attr.type="int"/>
  <key id="relation" for="edge" attr.name="relation" attr.type="string"/>
  <key id="confidence" for="edge" attr.name="confidence" attr.type="string"/>
  <graph id="wiki" edgedefault="undirected">
    <node id="concepts/transformers">
      <data key="label">Transformer Architecture</data>
      <data key="category">concepts</data>
      <data key="tags">ml, architecture</data>
      <data key="community">0</data>
    </node>
    <edge source="concepts/transformers" target="entities/vaswani">
      <data key="relation">wikilink</data>
      <data key="confidence">EXTRACTED</data>
    </edge>
  </graph>
</graphml>

Write one <node> per page and one <edge> per wikilink.


3c. cypher.txt

Neo4j Cypher MERGE statements — paste into Neo4j Browser or run with cypher-shell:

// Wiki knowledge graph export — <TIMESTAMP>
// Load with: cypher-shell -u neo4j -p password < cypher.txt

// Nodes
MERGE (n:Page {id: "concepts/transformers"}) SET n.label = "Transformer Architecture", n.category = "concepts", n.tags = ["ml","architecture"], n.community = 0;
MERGE (n:Page {id: "entities/vaswani"}) SET n.label = "Ashish Vaswani", n.category = "entities", n.tags = ["person","ml"], n.community = 0;

// Relationships
MATCH (a:Page {id: "concepts/transformers"}), (b:Page {id: "entities/vaswani"}) MERGE (a)-[:WIKILINK {relation: "wikilink", confidence: "EXTRACTED"}]->(b);

Write one MERGE node statement per page, then one MATCH/MERGE relationship statement per edge.


3d. graph.html

A self-contained interactive visualization using the vis.js CDN (no local dependencies). The user opens this file in any browser — no server needed.

Build the HTML file by:

  1. Generating a JSON array of node objects for vis.js:
{id: "concepts/transformers", label: "Transformer Architecture", color: {background: "#4E79A7"}, size: <degree * 3 + 8>, title: "concepts | #ml #architecture", community: 0}
  • Color by community (cycle through: #4E79A7, #F28E2B, #E15759, #76B7B2, #59A14F, #EDC948, #B07AA1, #FF9DA7, #9C755F, #BAB0AC)
  • Size by degree (incoming + outgoing link count): size = degree * 3 + 8, capped at 60
  • title = tooltip text shown on hover: category, tags, summary (if available)
  1. Generating a JSON array of edge objects for vis.js:
{from: "concepts/transformers", to: "entities/vaswani", dashes: false, width: 1, color: {color: "#666", opacity: 0.6}}
  • dashes: true for INFERRED edges
  • dashes: [4,8] for AMBIGUOUS edges
  1. Writing the full HTML file:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Wiki Knowledge Graph</title>
<script src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script>
<style>
  * { box-sizing: border-box; margin: 0; padding: 0; }
  body { background: #0f0f1a; color: #e0e0e0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; display: flex; height: 100vh; }
  #graph { flex: 1; }
  #sidebar { width: 260px; background: #1a1a2e; border-left: 1px solid #2a2a4e; padding: 14px; overflow-y: auto; font-size: 13px; }
  #sidebar h3 { color: #aaa; font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; margin: 0 0 10px; }
  #info { margin-bottom: 16px; line-height: 1.6; color: #ccc; }
  .legend-item { display: flex; align-items: center; gap: 8px; padding: 3px 0; font-size: 12px; }
  .dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
  #stats { margin-top: 16px; color: #555; font-size: 11px; }
</style>
</head>
<body>
<div id="graph"></div>
<div id="sidebar">
  <h3>Wiki Knowledge Graph</h3>
  <div id="info">Click a node to see details.</div>
  <h3 style="margin-top:12px">Communities</h3>
  <div id="legend"><!-- populated by JS --></div>
  <div id="stats"><!-- populated by JS --></div>
</div>
<script>
const NODES_DATA = /* NODES_JSON */;
const EDGES_DATA = /* EDGES_JSON */;
const COMMUNITY_COLORS = ["#4E79A7","#F28E2B","#E15759","#76B7B2","#59A14F","#EDC948","#B07AA1","#FF9DA7","#9C755F","#BAB0AC"];

const nodes = new vis.DataSet(NODES_DATA);
const edges = new vis.DataSet(EDGES_DATA);
const network = new vis.Network(document.getElementById('graph'), {nodes, edges}, {
  physics: { solver: 'forceAtlas2Based', forceAtlas2Based: { gravitationalConstant: -60, springLength: 120 }, stabilization: { iterations: 200 } },
  interaction: { hover: true, tooltipDelay: 100 },
  nodes: { shape: 'dot', borderWidth: 1.5 },
  edges: { smooth: { type: 'continuous' }, arrows: { to: { enabled: true, scaleFactor: 0.4 } } }
});
network.once('stabilizationIterationsDone', () => network.setOptions({ physics: { enabled: false } }));

network.on('click', ({nodes: sel}) => {
  if (!sel.length) return;
  const n = NODES_DATA.find(x => x.id === sel[0]);
  if (!n) return;
  document.getElementById('info').innerHTML = `<b>${n.label}</b><br>Category: ${n.category||'—'}<br>Tags: ${n.tags||'—'}<br>${n.summary ? '<br>'+n.summary : ''}`;
});

// Build legend
const communities = {};
NODES_DATA.forEach(n => { if (n.community != null) communities[n.community] = (communities[n.community]||0)+1; });
const leg = document.getElementById('legend');
Object.entries(communities).sort((a,b)=>b[1]-a[1]).forEach(([cid, count]) => {
  const color = COMMUNITY_COLORS[cid % COMMUNITY_COLORS.length];
  leg.innerHTML += `<div class="legend-item"><div class="dot" style="background:${color}"></div>Community ${cid} (${count})</div>`;
});
document.getElementById('stats').textContent = `${NODES_DATA.length} pages · ${EDGES_DATA.length} links`;
</script>
</body>
</html>

Replace /* NODES_JSON */ and /* EDGES_JSON */ with the actual JSON arrays you generated in step 1.


Step 4: Print Summary

Wiki export complete → wiki-export/
  graph.json    — N nodes, M edges (NetworkX node_link format)
  graph.graphml — N nodes, M edges (Gephi / yEd / Cytoscape)
  cypher.txt    — N MERGE nodes + M MERGE relationships (Neo4j)
  graph.html    — interactive browser visualization (open in any browser)

In filtered mode, append a line showing what was excluded:

  (filtered: X of Y pages excluded — visibility/internal, visibility/pii)

Notes

  • Re-running is safe — all output files are overwritten on each run
  • Broken wikilinks are skipped — only edges to pages that exist in the vault are exported
  • The wiki-export/ directory should be gitignored if the vault is version-controlled — these are derived artifacts
  • graph.json is the primary format — the others are derived from it. If a future tool supports graph queries natively, point it at graph.json

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

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

平台分布

Codex

37%
按下载量换算2,488

Claude

30.71%
按下载量换算2,065

Cursor

18.6%
按下载量换算1,251

Gemini CLI

10.21%
按下载量换算687

安全审计

Gen Agent Trust Hub

可疑

Socket

通过

Snyk

通过

权限和风险

操作浏览器

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

安装前确认

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

来源信息

继续浏览同类 Skills