{"id":"a185035f-41ac-443d-8ab7-f4188dd0f31e","entityType":"agent","slug":"clawhub-alphamancer-kurobbs-wiki","name":"kurobbs-wiki","canonicalUrl":"https://www.xpersona.co/agent/clawhub-alphamancer-kurobbs-wiki","canonicalPath":"/agent/clawhub-alphamancer-kurobbs-wiki","generatedAt":"2026-10-10T10:43:50.024Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T07:04:28.845Z","emptyReason":null},"description":"库街区（kurobbs）鸣潮 WIKI 资料查询 + 查看自己账号角色。当用户询问鸣潮（游戏）的角色/共鸣者、武器、武器投影、声骸、合鸣效果、敌人、全息战略、合成道具、任务/活动/特殊道具、补给、资源、素材、角色攻略、玩法攻略、区域探索、新手入门、版本攻略等图鉴或攻略信息时使用；也可通过 my 命令登录库街区账号查看自己拥有的角色（my roles）、用自己角色配队（my team）。可列出分类下的条目、获取词条详情、按名称搜索词条，全部通过公开 JSON API 查询。★ 注意：鸣潮 WIKI 查询无需登录；但查\"我有什么角色/我的账号角色\"需要 my login 登录一次。 Skill: kurobbs-wiki Owner: alphamancer Summary: 库街区（kurobbs）鸣潮 WIKI 资料查询 + 查看自己账号角色。当用户询问鸣潮（游戏）的角色/共鸣者、武器、武器投影、声骸、合鸣效果、敌人、全息战略、合成道具、任务/活动/特殊道具、补给、资源、素材、角色攻略、玩法攻略、区域探索、新手入门、版本攻略等图鉴或攻略信息时使用；也可通过 my 命令登录库街区账号查看自己拥有的角色（my roles）、用自己角色配队（my team）。可列出分类下的条目、获取词条详情、按名称搜索词条，全部通过公开 JSON API 查询。★ 注意：鸣潮 WIKI 查询无需登录；但查\"我有什么角色/我的账号角色\"需要 my login 登录一次。 Tags: latest:0.1.0 Version history: v0.1.0 | 2026-08-14T18:29:34.099Z | auto ku","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.6K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s17ax3s99by8vh9d8mzhk2f27d8cf6v9:kurobbs-wiki","sourceUrl":"https://clawhub.ai/alphamancer/kurobbs-wiki","homepage":"https://clawhub.ai/alphamancer/skills/kurobbs-wiki","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/alphamancer/kurobbs-wiki","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/alphamancer/skills/kurobbs-wiki","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":64,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"库街区（kurobbs）鸣潮 WIKI 资料查询 + 查看自己账号角色。当用户询问鸣潮（游戏）的角色/共鸣者、武器、武器投影、声骸、合鸣效果、敌人、全息战略、合成道具、任务/活动/特殊道具、补给、资源、素材、角色攻略、玩法攻略、区域探索、新手入门、版本攻略等图鉴或攻略信息时使用；也可通过 my 命令登录库街区账号查看自"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T07:04:28.845Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T07:04:28.845Z","emptyReason":null},"stars":null,"forks":null,"downloads":1602,"packageName":null,"latestVersion":"0.1.0","tractionLabel":"1.6K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T07:04:28.845Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T07:04:28.845Z","lastCrawledAt":"2026-10-10T07:04:28.845Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T07:04:28.845Z","lastVerifiedAt":null,"highlights":[{"version":"0.1.0","createdAt":"2026-08-14T18:29:34.099Z","changelog":"kurobbs-wiki 0.1.0 初始版本发布 - 支持通过库街区公开 API 查询鸣潮 WIKI 内容，包括角色、武器、道具、攻略等资料。 - 可按分类列出图鉴词条、获取词条详情、按名称搜索，并支持 markdown 格式渲染与结构化数据输出。 - 实现配队引擎与机制画像，可为自选或自己拥有的角色池智能推荐阵容。 - 用户可登录库街区账号，查询自己拥有的角色，并基于账号角色进行配队分析、补池建议等。 - 支持社区攻略帖的图片/视频下载和本地识别，充分利用视觉通道做自动内容提取。 - 所有操作均通过简单命令行调用，无需手动浏览页面。","fileCount":16,"zipByteSize":83649}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17ax3s99by8vh9d8mzhk2f27d8cf6v9:kurobbs-wiki","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-alphamancer-kurobbs-wiki/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-alphamancer-kurobbs-wiki/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-alphamancer-kurobbs-wiki/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-alphamancer-kurobbs-wiki/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-alphamancer-kurobbs-wiki/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-alphamancer-kurobbs-wiki/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T10:43:50.023Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-alphamancer-kurobbs-wiki/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-alphamancer-kurobbs-wiki/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-alphamancer-kurobbs-wiki/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-alphamancer-kurobbs-wiki/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-10T07:04:28.845Z","emptyReason":null},"readme":"Skill: kurobbs-wiki\n\nOwner: alphamancer\n\nSummary: 库街区（kurobbs）鸣潮 WIKI 资料查询 + 查看自己账号角色。当用户询问鸣潮（游戏）的角色/共鸣者、武器、武器投影、声骸、合鸣效果、敌人、全息战略、合成道具、任务/活动/特殊道具、补给、资源、素材、角色攻略、玩法攻略、区域探索、新手入门、版本攻略等图鉴或攻略信息时使用；也可通过 my 命令登录库街区账号查看自己拥有的角色（my roles）、用自己角色配队（my team）。可列出分类下的条目、获取词条详情、按名称搜索词条，全部通过公开 JSON API 查询。★ 注意：鸣潮 WIKI 查询无需登录；但查\"我有什么角色/我的账号角色\"需要 my login 登录一次。\n\nTags: latest:0.1.0\n\nVersion history:\n\nv0.1.0 | 2026-08-14T18:29:34.099Z | auto\n\nkurobbs-wiki 0.1.0 初始版本发布\n\n- 支持通过库街区公开 API 查询鸣潮 WIKI 内容，包括角色、武器、道具、攻略等资料。\n- 可按分类列出图鉴词条、获取词条详情、按名称搜索，并支持 markdown 格式渲染与结构化数据输出。\n- 实现配队引擎与机制画像，可为自选或自己拥有的角色池智能推荐阵容。\n- 用户可登录库街区账号，查询自己拥有的角色，并基于账号角色进行配队分析、补池建议等。\n- 支持社区攻略帖的图片/视频下载和本地识别，充分利用视觉通道做自动内容提取。\n- 所有操作均通过简单命令行调用，无需手动浏览页面。\n\nArchive index:\n\nArchive v0.1.0: 16 files, 83649 bytes\n\nFiles: _meta.json (131b), .gitignore (216b), LICENSE (1061b), PUBLISHING.md (2663b), README.en.md (9379b), README.ja.md (10956b), README.ko.md (9837b), README.md (8119b), references (0b), references/catalogue-map.md (5093b), scripts (0b), scripts/kuro_login.py (31055b), scripts/post_fetch.py (10728b), scripts/wikiquery.py (93873b), skill-card.md (2305b), SKILL.md (33490b)\n\nFile v0.1.0:SKILL.md\n\n---\nname: kurobbs-wiki\ndescription: 库街区（kurobbs）鸣潮 WIKI 资料查询 + 查看自己账号角色。当用户询问鸣潮（游戏）的角色/共鸣者、武器、武器投影、声骸、合鸣效果、敌人、全息战略、合成道具、任务/活动/特殊道具、补给、资源、素材、角色攻略、玩法攻略、区域探索、新手入门、版本攻略等图鉴或攻略信息时使用；也可通过 my 命令登录库街区账号查看自己拥有的角色（my roles）、用自己角色配队（my team）。可列出分类下的条目、获取词条详情、按名称搜索词条，全部通过公开 JSON API 查询。★ 注意：鸣潮 WIKI 查询无需登录；但查\"我有什么角色/我的账号角色\"需要 my login 登录一次。\nlicense: MIT\nmetadata:\n  author: \"VBBB\"\n  version: 0.1.0\n  tags: [wuthering-waves, kurobbs, wiki, game, gacha, team-builder, 鸣潮, 库街区]\n  compatibility: [any-agent-skill] # SKILL.md 是开放标准，兼容所有支持 agent skill 的 AI（Claude/Cursor/Copilot/Gemini/OpenClaw 等）\n  language: [zh-CN]\n---\n\n# 库街区鸣潮 WIKI 查询\n\n通过库街区公开 API 直接查询鸣潮 WIKI 内容（人物、武器、道具、攻略），代替人工浏览页面。\n\n## 触发条件\n\n用户提到以下任一关键词时激活：鸣潮 / 库街区 / 共鸣者 / 声骸 / 武器 / 武器投影 / 合鸣效果 / 全息战略 / 道具 / 材料 / 素材 / 角色攻略 / 攻略。\n\n**★ 以下关键词也触发本 skill（查自己账号角色）**：我的角色 / 我有什么角色 / 我的账号 / 我的号 / 我拥有的角色 / 我的角色池 / 看我有哪些角色 / 鸣潮账号。当用户问\"我有什么角色/我的账号角色\"时，用 `my roles` 查看（需先 `my login` 登录），不要回答\"我无法访问你的账号\"——`my roles` 能读到你的真实角色。\n\n## 命令速查（在 skill 目录下执行）\n\n> 先把 `SKILL_DIR` 设为本地 skill 目录的**绝对路径**（含 `scripts/` 的父目录）。以下所有命令均可直接复制执行。\n\n```bash\n# Windows 示例：SKILL_DIR=D:\\tools\\kurobbs-wiki（占位路径，改成实际目录）\n# macOS / Linux 示例：export SKILL_DIR=~/tools/kurobbs-wiki\nSKILL_DIR=<kurobbs-wiki 所在目录的绝对路径>\n\n# 1. 目录树（分类ID映射，缓存在 ~/.kurobbs-wiki-cache/）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py tree\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py tree --refresh   # 分类有变化时刷新\n\n# 2. 列出分类下的条目（按分类名或ID）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py list 共鸣者\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py list 1105 --page 2 --size 50\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py list 1629 --images   # ★ 输出每条攻略的封面图 URL + 正文 entryId + 帖子ID（社区帖封面在 wikiPostList[].cover；帖子类型需用 post 查，1=图片帖 2=视频帖）\n\n# 2b. 获取社区帖子媒体（★ 一图流攻略的精华在正文图片/封面/视频，需绕过 WAF 用 Playwright）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py post <帖子ID>                # 帖子媒体（图片/封面/视频地址，来自 list --images 的 帖子ID）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py post <帖子ID> --images-only  # 只输出图片/封面 URL 列表\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py post <帖子ID> --json         # 完整结构化（含正文/点赞/评论/postType）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py post <帖子ID> --download --dir <目录>  # ★ 下载图片/封面到本地（视频 m3u8 仅给地址）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py post <帖子ID> --download-video --dir <目录>  # ★ 用 ffmpeg 下载 m3u8 视频为本地 mp4（ffmpeg 不可用则回退打印地址）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py post https://www.kurobbs.com/mc/post/1532380644336037888  # 直接传帖子 URL\n# 帖子类型：postType=1 图片帖（图在 postContent[].url）；postType=2 视频帖（m3u8 从 DOM 抓，封面在 coverImages）\n# 依赖：pip install playwright && playwright install chromium（post 命令首次使用需安装）\n\n# 3. 获取词条详情（entryId 从 list 输出取）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py detail 1519669262123954176\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py detail 1519669262123954176 --json   # 完整结构化内容\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py detail 1519669262123954176 --render # ★ Markdown 攻略排版（推荐：角色/武器/道具/攻略通用）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py detail 1519669262123954176 --section 角色突破材料   # ★ 只输出指定小节（突破材料/共鸣链/技能介绍/声骸套装推荐…）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py detail 1520510830431072256 --section 声骸套装推荐   # 攻略词条（linkGather 内嵌 wiki entryId）同样支持\n\n# 4. 按名称搜索（跨常用分类）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py search 穗穗\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py search 鸣钟 --cats 声骸,武器\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py search 穗穗 --preview --limit 3   # ★ 每条命中附带详情摘要预览\n# ★ search 默认已自动遍历目标分类的三级子分类（如 角色攻略/绯雪=1533），\n#   攻略社区帖（一图流/教学/视频，linkType=4）只存在三级专属页里，老版本会漏，现已覆盖。\n\n# 5. 机制画像（F 阶段：配队引擎前置）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py probe 穗穗                    # ★ 6 维度机制档案（人类可读）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py probe 穗穗 --json              # 结构化 JSON（供 pair/team 引擎用）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py probe 穗穗 --refresh           # 强制重新拉取（跳过缓存）\n\n# 6. 配对引擎（G 阶段：机制评分 + 池选队）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py pair 穗穗 洛瑟菈               # ★ 双角色 5 维度兼容评分\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py team 穗穗 --pool 洛瑟菈,今汐,秧秧 --top 3  # ★ 从角色池枚举最优三队\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py team 穗穗 --all --top 5       # ★ 全量枚举 60 名共鸣者（消除\"池子漏角色\"）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py team 穗穗 --pool 赞妮 --guide-pool --top 5  # ★ 攻略交叉验证自动补池 + 来源标注\n\n# 7. 我的账号（登录库街区 + 查自己角色 + 用自己角色配队）★ 需人工配合\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py my login                     # ★ 登录：自动开浏览器→网页里填手机号→拖滑块→填验证码→登录\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py my roles                      # ★ 列出自己拥有的角色（等级/突破/共鸣链/属性/武器）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py my status                     # 当前登录账号状态\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py my team 穗穗 --top 5          # ★ 只用自己拥有的角色当池子配队\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py my team 穗穗 --guide-pool --top 5  # ★ 补入攻略点名队友（提示值得抽/练谁）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py my renew                      # ★ token 过期后重新登录续期\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py my account                    # 查看 account.json 原始内容\n```\n\n## 查询工作流\n\n0. **判断用户意图**：\n   - 查\"我有什么角色 / 我的账号角色\" → 直接走「我的账号」流程（`my status` → 未登录则 `my login` 引导 → `my roles`）。\n   - 查图鉴/攻略/配队（不带\"我的\"） → 走下面 1-4。\n1. **确定目标分类** → 用 `tree` 或 `references/catalogue-map.md` 解析用户说的分类名 → 分类 ID\n2. **定位词条** → `list <分类>` 拿到名称 + `entryId`（数字ID）\n3. **取详情** → `detail <entryId>`；需要完整字段（属性表、立绘图、语音、技能描述）时加 `--json`\n4. **回答用户** → 把结构化数据整理成自然语言回答，附上原文链接（详情 JSON 中 `content.wikiUrl` / `linkUrl` 如有）\n   - 推荐用 `detail --render` 拿 markdown 攻略排版，直接转述/精简给用户，避免把 33 万字符原始 JSON 塞进回答。\n5. **★ 社区帖媒体下载+识别（当结果含社区帖/图片帖/视频帖时自动执行）**：\n   - 用户问\"有哪些攻略\"/\"攻略内容\"/\"一图流\"时，`search` 或 `list <角色攻略三级分类>` 结果里的**社区帖（linkType=4）**精华在图片/视频里，不能只给标题。\n   - **自动流程（无需用户额外指令）——优先用当前模型的视觉能力，不要默认走外部服务**：\n     ```bash\n     # 步骤1: 下载图片/封面到本地临时目录\n     python -X utf8 -u $SKILL_DIR/scripts/wikiquery.py post <帖子ID> --download --dir %TEMP%\\kurobbs_media\n     # 步骤2: 如果视频帖(postType=2)，下载视频为本地 mp4\n     python -X utf8 -u $SKILL_DIR/scripts/wikiquery.py post <帖子ID> --download-video --dir %TEMP%\\kurobbs_media\n     ```\n   - **步骤3（识别媒体内容）——按此优先级**：\n     1. **✅ 首选：用当前模型自带的视觉能力查看下载的本地图片/视频文件**\n        - **核心原则：优先用 LLM 支持的图像/视频输入通道（视觉模型）直接看本地文件，不要转外部服务**。\n        - 视频处理策略（直传优先）：≤200MB 整段直传；报错才自动分片（segment=1..N 逐段注入）；抽帧是兜底。\n        - **这是推荐路径**——不依赖第三方 API，当前模型的视觉能力直接看。\n     2. **兜底：当前模型不支持视觉时**，用外部识别脚本或系统 OCR：\n        ```bash\n        # 例：任意支持图片输入的 AI 服务 / OCR 工具（如 tesseract）\n        python <识别脚本路径> --file \"<本地图片路径>\" --prompt \"提取这张攻略图的全部文字内容\"\n        ```\n        （视频文件多数 OCR/图片识别无法直接理解画面，应先用 `ffmpeg` 抽帧 → 图片 → 再识别）\n   - **决策规则**：\n     - 图片帖（postType=1）：必做 `--download`，图片就是攻略正文；用当前模型的视觉能力依次查看\n     - 视频帖（postType=2）：下载视频 mp4 后 **用当前模型的视觉能力直接看视频内容**（多模态模型可看画面+听声音），不只下封面\n     - WIKI 词条（linkType=1）：不需要下载，直接 `detail --render` 取文字\n   - **识别后输出**：把识别出的攻略内容（配队/声骸/武器/手法/共鸣链等）整理成结构化摘要给用户，标注来源帖子和原始链接\n   - **临时文件清理**：识别完成后删除 `%TEMP%\\kurobbs_media` 下的文件\n\n## 富内容解析（--render / --section）\n\n`detail <entryId> --render` 会自动把详情 JSON 转成 Markdown：\n\n| 原始结构 | 输出 |\n|---|---|\n| `content.modules[].components[]` type=`role-component` | `### 基础资料` + 性别/武器/属性列表 + 人物描述 + 立绘图片 |\n| type=`basic-component`（HTML 表格/富文本） | `### 其他信息` + markdown 表格（CV/身份/料理/实装版本） |\n| type 含 `tabs`（突破属性表） | 逐 tab 输出 `#### 1 / 20 / 40 …` 突破属性表 |\n| 技能说明 / 共鸣链 / 突破材料（富文本） | markdown 标题 + 表格 + 加粗 + 链接（材料名→wiki 链接） |\n| `content.mediaList` | `## 语音 / 媒体` + 列表 |\n\n- 角色、武器、道具、攻略条目通用（结构相同）。\n- 输出行数约 800–900 行 / 40KB，回答用户时**按需截取相关小节**（如只回答\"突破材料\"就贴对应小节），不要整篇转述。\n- **简短回答用 `--section`**：`detail <entryId> --section 角色突破材料` 只输出该小节（标题匹配：相同/包含，找不到会列出可用标题）。适合只回答用户关心的那一段。\n- 攻略类词条（`角色攻略` 分类）的 `entryId`（5 位数如 `23303`）是**占位卡片，正文在 `linkGather` 内嵌的 wiki 词条**：`search --preview` 已自动解析内嵌 entryId 来预览，但 `detail 23303` 会 2031（需先用 list/search 拿到内嵌 entryId，如 `1520510830431072256` 才是真正的角色攻略正文词条）。**回答用户/取攻略正文时优先用 search 返回的预览或内嵌 entryId。**\n\n## 列表缓存\n\n- `list` / `search` 的分页列表（每分类前 100 条）会缓存到 `~/.kurobbs-wiki-cache/list_cache.json`，**24 小时有效**，减少重复 API 请求。\n- `list --images` 输出每条记录的封面图 URL（`content.contentUrl`，linkType=1 词条；**linkType=4 社区帖的封面在 `wikiPostList[].cover`**，脚本已自动补取）+ 内嵌攻略正文 entryId + **帖子ID（linkType=4 社区帖）**。⚠️ **list 接口不返回帖子类型**：社区帖是**图片帖还是视频帖无法从 list 输出判断**，必须用 `post <帖子ID>` 查 postType（1=图片帖 / 2=视频帖），**不得把社区帖一律当\"多图/一图流\"处理**。识别图片/视频正文用当前模型的视觉能力（视觉模型支持时）；**帖子正文多图用 `post <帖子ID>` 获取**（`getPostDetail` 接口被 WAF 保护，裸 HTTP 请求返回 code=102，必须走 Playwright 无头浏览器）。\n- `list --refresh` 强制刷新单个分类缓存；`tree --refresh` 刷新目录树。\n- 新版本/新活动分类出现而搜索不到时，先 `list <该分类> --refresh` 或 `tree --refresh`。\n\n## 机制画像（probe）\n\n`probe <角色名>` 从角色**图鉴页 + 攻略页**双页合并提取 6 维度机制档案：\n\n| 维度 | 数据来源 | 提取内容 |\n|---|---|---|\n| 属性 / 定位 | 图鉴 role-component + 攻略 role-component | 性别/出生/武器/属性/定位/伤害/简介 |\n| 主动施加效应 | 图鉴「战斗风格」小节 | 霜渐效应等（wiki 策展字段，**不**受技能/共鸣链泛池文案污染） |\n| 关联/增益效应池 | 图鉴+攻略全文扫描 | 角色增益/关联的所有效应体系（供配对时\"A施放X ∩ B增益X\"） |\n| 增益信号 | 图鉴+攻略全文扫描 | 全伤加深/攻击提升/暴击/共鸣效率/层数上限/治疗等 |\n| 流派关键词 | 图鉴+攻略全文扫描 | 生存治疗/主力输出/副C/增伤/声骸技能等 |\n| 技能 / 共鸣链 | 图鉴「技能介绍」「共鸣链」小节 | 完整技能描述（含数值表）+ 6 命座效果 |\n| 声骸套装 / 武器 | 攻略「声骸套装推荐」「武器推荐」小节 | 推荐套装/COST/词条/武器排名 |\n| 输出流程 / 核心机制 | 攻略「输出流程」「核心机制」小节 | 操作轴 + 机制说明 |\n\n- 画像缓存到 `~/.kurobbs-wiki-cache/roster/{角色名}.json`，`--refresh` 强制重拉。\n- `--json` 输出结构化 JSON，供后续 `pair` / `team` 配对引擎使用。\n- **效应识别质量**：`effects`（主动施加）只从战斗风格提取，精确可靠；`effect_buffs`（关联池）全文扫描，可能含泛化信号。配对引擎应优先用 `effects` 做\"A 施放什么\"，用 `effect_buffs` 做\"B 增益什么\"。\n- **角色名歧义**：`probe 秧秧` 优先精确同名匹配（不会误抓\"秧秧·玄翎\"）。\n\n## 配对引擎（pair / team）\n\n### pair <角色A> <角色B> -- 双角色 5 维度兼容评分\n\n| 维度 | 满分 | 评分逻辑 |\n|---|---|---|\n| 效应协同 | 20 | A 施加效应 ∩ B 增益效应（或反向），命中 +10~20 |\n| 延奏匹配 | 20 | A 延奏 buff 类型命中 B 输出方式，全伤加深通配 +18 |\n| 定位互补 | 20 | 奶+输出=20、双输出=12、双奶=5、非冲突=14 |\n| 声骸联动 | 20 | 双方声骸共享效应体系 +12~20 |\n| 触发闭环 | 20 | A 武器/机制所需效应 B 能提供 +12~20 |\n\n- 评分 ≥80 高度契合 / ≥65 较好 / ≥50 一般 / <50 不推荐\n- 画像缺失时自动 probe（方案 A），首次约 2 秒/角色。\n\n### team <目标> --pool A,B,C --top N -- 从角色池枚举最优队伍\n\n- 枚举 C(pool, 2) 三人组合（目标固定），三对 pair 评分取平均排名。\n- `--top 3` 输出前三队，每队列出三对评分明细 + 亮点。\n- 角色池缺失画像自动 probe。\n- `--json` 输出结构化结果。\n\n### team 增强（--all / --guide-pool）★ 来源标注\n\n| 参数 | 作用 |\n|---|---|\n| `--all` | **全量枚举 60 名共鸣者**（自动 probe 缓存，首次约 2 分钟，之后秒出）。消除\"手动选池子漏角色\"问题——例如上次 Top10 因池子漏了秧秧·玄翎，导致它没上榜 |\n| `--guide-pool` | **攻略交叉验证自动补池**：扫描所有角色攻略的「编队&队伍轴推荐」，把**攻略点名了目标角色**的组合自动加入池子（如玄翎攻略点名\"穗穗+漂泊者·导电\"，则玄翎、导电都进池） |\n\n**每支队伍标注来源**（解决\"网站攻略 vs skill 自己匹配\"混淆）：\n- 🟢 **攻略实锤**：两名队友都被其他角色攻略点名（如 `穗穗+秧秧·玄翎+弗洛洛`）\n- 🟡 **混合**：至少一名队友被攻略点名\n- 🔵 **引擎推断**：纯机制评分，攻略未点名\n- 每个 🟢/🟡 队伍会列出「📖 攻略依据：XX(出自秧秧·玄翎)」指出出处。\n\n### ⚠️ 强制要求：转述最终回答必须带攻略 URL（真实性验证）\n\n`team` 输出里，每个 🟢/🟡 队伍的标题行会带 `📚https://wiki.kurobbs.com/mc/item/...`（攻略正文 URL）。\n\n**agent 向用户转述 `team` 结果时，必须在最终回答的表格中保留「来源链接」列**，把每个队伍对应的 📚 URL 原样放进去（尤其 🟢攻略实锤/🟡混合 队伍），**不得省略或只写\"出自 XX 攻略\"**。这样用户能点击 URL 到库街区攻略页验证配队真实性。\n\n反例（❌ 丢 URL）：表格只有 排名/队伍/评分/来源/亮点，没链接列。\n正例（✅）：\n```\n| 排名 | 队伍 | 评分 | 来源 | 来源链接 |\n| 🥇 | 绯雪+穗穗+洛瑟菈 | 92 | 🟡混合 | https://wiki.kurobbs.com/mc/item/1505630022798249984 |\n```\n- 若某队是 🔵引擎推断（无 URL），来源链接列填\"引擎推断，无攻略\"。\n- team --json 输出也含 source_urls 字段，转述时一并带上。\n\n**注意**：`--pool` 与 `--all` 二选一；`--guide-pool` 可配合两者使用。\n\n**使用场景**：攻略说\"最优=漂泊者·导电+玄翎\"，但你没这俩 -> `team 穗穗 --pool 你有的角色` 直接算出你的最优三队。\n\n### 🎯 规则粗筛候选 + LLM 精评（推荐，配队最准）\n\n**背景**：`team` 的纯规则评分有两个盲区——① 攻略钦定的核心队友（如绯雪的琳奈）可能因效应体系不匹配被低估；② 角色定位是多面性的（可主C可副C、又副C又奶），规则难精确判断。**本流程用\"规则粗筛召回 + LLM 精评排序\"解决。**\n\n**第 1 步：规则粗筛候选池（快，秒级）**\n\n```bash\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py candidates 绯雪 --guide-pool\n```\n\n输出：目标定位 + 效应体系，以及 副C位/奶位/辅助位/主C位 四类候选队友池（🟢攻略点名 / 🧲效应匹配 标注）。**这一步召回率优先**——攻略点名 + 效应匹配的角色都进池，保证\"真正最优的队友不漏\"。\n\n**第 2 步：主 agent 按 6 维度精排（用你自己的 LLM 能力，不是脚本调 LLM）**\n\n底座是**你（主 agent / LLM）**，不是脚本内部调 LLM。脚本只负责产出候选 + 画像，**精排由你逐队完成**。用 `team --profile` 一次拿到候选队伍 + 三角色六维度完整画像数据：\n\n```bash\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py team 绯雪 --pool 千咲,维里奈,穗穗 --profile --top 10\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py my team 绯雪 --guide-pool --profile --top 5\n```\n\n`--profile` 输出每支候选队伍的**三角色六维度完整画像数据**（定位/战斗风格/技能说明/技能介绍/共鸣链/声骸/武器，逐维度完整输出、不截断），你基于这些真实全量数据逐队精排，而不是凭角色名猜。\n\n> ⚠️ **`--profile` 输出极大（实测约 170KB / 数万行，含每个技能的 Lv1-10 完整数值表）**。**禁止直接打到 stdout**（会撑爆上下文/终端），必须重定向到临时文件再分段读：\n>\n> ```bash\n> # Windows\n> python -X utf8 -u $SKILL_DIR/scripts/wikiquery.py team 绯雪 --pool 千咲,维里奈,穗穗 --profile --top 10 > %TEMP%\\team_profile.txt 2>nul\n> # 然后分段读取 / 按角色名搜索取画像段\n> ```\n> 拿画像时按需搜索关键段（如 `grep \"定位\\|声骸\\|武器\"`），不要整篇读入上下文。\n\n**精排规则（每支队伍按 6 维度评估，输出 0-100 分）**：\n1. **战斗风格**：双方效应体系是否匹配\n2. **技能说明**：机制角色定位（输出/增益/治疗）是否互补\n3. **技能介绍**：输出类型是否被对方增益覆盖\n4. **共鸣链**：命座增益是否互补\n5. **声骸套装**：是否绑定同一效应体系\n6. **武器推荐**：武器机制倾向是否契合\n- **按\"主C + 副C + 奶（或辅助）\"三人结构判断**，不是两两配对\n- 对每队给出分数 + 一句话理由，综合排序出 Top10 完整队伍\n\n**精评要点（LLM 能理解、规则做不到的）**：\n- 千咲：定位被标\"生存治疗\"但实际是**副C/机制拐**（层数上限提升），LLM 要识别它不是纯奶\n- 琳奈：快速协奏副C，延奏给\"共鸣解放伤害加深\"→ 配共鸣解放主C（如绯雪）收益高\n- 技能说明里\"队伍中可响应震谐·干涉的角色越多伤害越高\"→ 需要能施加/响应该体系的队友\n- **纯奶位（维里奈/守岸人）即使不参与效应闭环，只要保生存+增益主C就应给高分**\n- **若攻略钦定队友（如绯雪的洛瑟菈）不在用户角色池，用池内 90 满破角色替代，并明确标注\"该队友是人工替代，非精排直接输出\"**\n\n**强制要求**：转述精评结果时，表格必须保留「来源链接」列（🟢/🟡 队伍附 📚 URL），供用户点击验证。\n\n## 我的账号（my 命令）— 登录库街区 + 查自己角色\n\n> ⚠️ **首次使用必须先 `my login` 登录一次**（自动开浏览器，全程在网页操作）。之后 `my roles` / `my team` 才能查到你的真实角色。\n\n- **登录（纯浏览器交互，AI 执行 `my login` 启动服务并阻塞等待）**：\n  1. **AI 执行** `my login <手机号可选>` → 自动打开浏览器加载登录页（`http://127.0.0.1:8090/geetest`）\n  2. **你在网页里**填手机号 → 点「获取验证码」→ **手动拖极验滑块**\n  3. 滑块通过后自动发短信 → 页面出现验证码输入框 → **你填 6 位验证码** → 点「登录」\n  4. 自动登录 + 拉取角色数据 → 存 `~/.kurobbs-wiki-cache/account.json`，页面显示「登录成功」\n  5. **AI 用长超时（300 秒）的 shell 调用阻塞等待你完成**（无需终端输入，纯网页操作）\n- **查角色**：`my roles` 列出你拥有的角色（等级/突破/共鸣链/属性/武器类型/星级，按等级降序）\n- **查单个角色完整真实数据**：`my detail <角色名>` 显示该角色**账号实际状态**（哪些共鸣链已解锁、实际装备的武器/声骸、技能等级、面板属性）——区别于 wiki 网站画像，来自 `getRoleDetail` 接口。\n- **用自己角色配队**：`my team <目标角色> --top N` 只用**你实际拥有的角色**当池子组队（等价于 `team --pool <我的角色>`）\n- **攻略补池**：`my team <目标> --guide-pool` 在你自己角色池基础上，自动把攻略点名目标角色的队友补进来（即使你没练，也提示\"值得抽/练谁\"），来源标注 🟢/🟡 并带 📚 URL\n- **状态/原始数据**：`my status` / `my account`\n- **全量同步角色完整数据**：`my sync` 用现有 token 重新拉取**所有角色**的 getRoleDetail（不重新登录）。**新抽的角色自动补、练度/装备变化自动更新**，输出\"新增 X | 更新 Y | 未变 Z\"。抽新角色或练度变化后跑一次即可；token 失效时提示先 `my renew`。\n- **按需自动补拉**：`my detail <角色>` 或 `my team --profile` 遇到\"角色在账号里但缓存缺详情\"时，**自动现场调 getRoleDetail 补拉并缓存**（无需手动 sync）。若无法补拉（token 失效/非本账号角色）会提示先登录/续期。\n- **token 续期（半自动）**：token 会过期（登录时存了时间戳，约 45 分钟有效期）。`my roles`/`my team` 会检测是否过期并提示；过期后执行 **`my renew`**（自动用已存手机号重新拉起登录器续期），或重新 `my login`\n- **多角色账号**：登录时默认以第一个绑定角色拉详情；`my roles` 显示所有绑定角色\n- **登录时自动拉取每角色完整详情**：`my login` 成功后会为每个角色调 `getRoleDetail` 存 `role_details`（共鸣链解锁状态/实际武器/实际声骸/技能等级/面板），供 `my detail` 和主 agent 用账号真实状态做六维度精排。\n\n**使用场景**：用户问\"我该练谁 / 帮我看我的配队\"时，先 `my roles` 拿真实角色池，再 `my team <目标>` 算最优三队，避免拿全量角色池推荐你没练的角色。\n\n### 🚨 强制规则：用户要求\"用我的账号角色\"时的处理流程\n\n当用户明确要\"用我的账号角色 / 我的号 / 我的角色池\"做推荐时，**必须按以下顺序执行，禁止绕路**：\n\n1. **先跑 `my status`**（或直接读 `~/.kurobbs-wiki-cache/account.json` 是否存在）。\n2. **若已登录** → `my roles` 拿角色池 → `my team <目标> --guide-pool` 推荐，直接得出\"用你的号该练谁 / 缺谁值得抽\"。\n3. **若未登录** → **立即停止一切探索**（不要翻历史记录、不要跑配队引擎），**主动发起登录引导**：\n   - **不需要向用户要手机号**——登录页面里就有手机号输入框，用户直接在浏览器里填即可。\n   - 直接执行 `my login`（**不带手机号参数**，让用户全程在浏览器操作）。\n   - **AI 用长超时（300 秒）的 shell 调用执行 `my login` 并阻塞等待**，引导用户在**浏览器**里操作：填手机号 → 拖滑块 → 填验证码 → 点登录。\n   - 登录成功后 `my roles` 验证角色已拉取，再继续配队推荐。\n4. **禁止假设**：账号未登录时，**不得假装知道用户有哪些角色**，也不得用全量角色池冒充\"你的账号角色\"。\n5. **禁止二次索要手机号**：用户已经明确\"用浏览器登录\"时，**不要再向用户要手机号**（页面里能填）。`my login` 不带参数直接跑即可。\n6. **🚨 绝对禁止问手机号**：`my login` **不需要手机号参数**（`phone` 是可选参数，缺省时用户在网页里自己填）。**任何时候都不要向用户索要手机号**——直接跑 `my login` 打开浏览器，让用户在网页里填手机号 → 拖滑块 → 填验证码。若脚本报\"缺少手机号\"，检查是否传了多余参数，而不是问用户要手机号。\n\n> ⚠️ **关键认知**：`roster/` 目录下的 60 个 json 是**全角色机制画像缓存**（probe 缓存），**不是**用户账号拥有的角色。判断账号数据只看 `account.json` 是否存在且未过期。\n>\n> ⚠️ **关键实现**：`my login` 是**纯浏览器交互**（服务端 `ThreadingHTTPServer` + 页面三步操作），**不要用终端 `input()` 输验证码**（shell 执行无 stdin 会卡死）。AI 只需用长超时（300 秒）的 shell 调用执行 `my login` 并等待用户完成网页操作即可。\n\n## 关键坑（必须遵守）\n\n- **私有 API，无官方文档**：字段结构、参数可能随站点改版变化。报错时先 `tree --refresh` 重拉目录树，再检查返回 `msg`。\n- **`list` 必须用 `catalogueId` 参数**（`sid/fid` 会返回\"系统异常\"）。\n- **`detail` 必须用 `id` 参数且接口为 `catalogue/item/getEntryDetail`**：`entryId` 参数会返回\"当前词条不存在\"；`flow` 系列接口需要登录 token（返回\"访问令牌不能为空\"），不要用。\n- **请求头必须带** `wiki_type=9`（鸣潮）、`source=h5`、`devcode=<32位uuid>`，否则返回\"wiki库类型不能为空\"。脚本已内置，勿改。\n- **低频使用**：这是无鉴权接口，频繁请求可能触碰风控。批量查询时脚本内置 0.05s 限速，不要在 SKILL.md 流程中自行加速。\n- **分类名可能动态变化**：游戏更新会新增版本活动分类。用户提到新版本活动时，先 `tree --refresh`。\n- Windows 下执行务必带 `-X utf8 -u`（GBK 编码下中文/emoji 输出会崩）。\n\n## 参考文件\n\n- `references/catalogue-map.md` — 分类 ID 映射速查表（核心分类 + 攻略合集）。完整 170 节点映射可用 `wikiquery.py map --markdown` 实时生成。\n- `scripts/wikiquery.py` — 查询 CLI（tree / map / list / detail / search / post），纯标准库实现，无第三方依赖（`post` 子命令例外：内部调用 `post_fetch.py`，依赖 playwright）。\n- `scripts/post_fetch.py` — 帖子正文多图抓取（Playwright 无头浏览器绕过 WAF）。`post` 命令的底层实现。\n\n## 已知卡点速查（实战复盘沉淀，遇到以下情况直接照做）\n\n> 以下全部来自一次真实查询（\"查穗穗组队队友\"）的复盘。**先照做，不要重新探索。**\n\n### 1. 查询最短路（2 步）\n\n```\nsearch <关键词> --limit 5        # 拿到 name / entryId / previewEntryId（攻略正文ID）\ndetail <previewEntryId 或 entryId> --section \"<小节名>\"   # 精确取想要的段落\n```\n\n- 配队/队友/阵容 → 攻略正文（`角色攻略` 词条）`--section \"编队&队伍轴推荐\"`\n- 武器 → `--section \"武器推荐\"`；声骸 → `--section \"声骸套装推荐\"`；突破 → `--section \"角色突破材料\"`\n- **拿不到目标小节就先用 `--section __不存在__`（或任意不存在的标题）触发可用标题列表**，一次看到所有小节名，再精确指定。\n\n### 2. 命令拼接 / 管道（Windows cmd）\n\n| 情况 | 正确做法 |\n|---|---|\n| 想用 `| head` 截断 | ❌ Windows 无 `head`。改为重定向到文件再读取/python 读取 |\n| 想一条命令里用 `;` 分隔多步 | ❌ cmd 会把 `;` 当参数吞掉。**改用 `.bat` 文件**（多行 `@echo off` + 逐步执行），或拆成多次 shell 调用 |\n| 想用 `&&` 连接两步再解析 | ❌ 会静默失败。**先执行输出重定向到文件**，下一步再单独读文件 |\n| 命令含中文参数 + 重定向 | 优先用 `.bat` 文件（里面 `chcp 65001 >nul` + `set PYTHONUTF8=1`），避免编码/拼接双坑 |\n| python 多行逻辑 | ❌ 禁止 `-c` 内联多行。写成 `.py` 文件再 `python -X utf8 -u 脚本.py` |\n\n**铁律：任何 shell 调用命令一旦输出异常/为空，先看 stderr 和是否拼接被吞，不要立刻重试或改参数。**\n\n### 3. 攻略词条 = 占位卡片（这不是 bug，是结构）\n\n- `角色攻略`/`玩法攻略` 等分类下列出的 `id`（如 `23303`）是**占位卡片**，直接 `detail <它>` 会 **2031「当前词条不存在」**——**这是预期行为，不是报错，不用排查**。\n- 真实正文在卡片的 `content.linkGather[].linkConfig{linkType:1, entryId}` 里；**`search --preview` 已自动解析并用 `previewEntryId` 取详情预览**。\n- 需要攻略全文时：`search <关键词> --json` 拿 `previewEntryId`，再 `detail <previewEntryId> --render/--section`。\n- 部分攻略卡片（`kuro-post` 社区贴）`detail` 也会 2031（那是帖子不是 wiki 词条）。**这类帖子用 `post <帖子ID>` 拿正文媒体**（`list --images` 已输出帖子ID+封面）；只有纯 wiki 词条用 `detail`。⚠️ **先 `post <帖子ID> --json` 看 postType**：1=图片帖（图在 images/封面），2=视频帖（只有 m3u8 视频，**没有正文多图**，别当一图流处理）。\n\n### 4. 用 `--json` 验证数据，不要用肉眼猜\n\n- `search <关键词> --json` 输出完整结构化结果（含 `entryId`、`previewEntryId`、`category`）。**拿字段一律用 `--json`**，不要从普通文本输出里肉眼拼。\n- 若 `--json` 输出异常（如空数组），**先裸跑一次最简单命令**（无管道、无重定向、无拼接）确认是脚本问题还是命令拼接问题——大概率是拼接问题（见第 2 条）。\n\n### 5. 输出很大时的处理\n\n- `detail --render` 约 800-900 行 / 40KB；`--json` 可能 33 万字符。**别直接打到 stdout**（撑爆上下文），重定向到 `%TEMP%\\` 或项目临时文件，再分段读/按需 grep。\n- **`team --profile` 约 170KB / 数万行**（含 Lv1-10 技能数值表），同属\"输出很大\"命令，**必须重定向到文件再分段读**（详见\"规则粗筛 + LLM 精评\"一节的 202-209 行重定向命令）。\n- 回答用户永远用 `--section` 或从中**截取相关小节**，绝不整篇贴出。\n\n### 6. 缓存与时效\n\n- 列表缓存 24h。查\"最新版本/新活动\"内容搜不到时：`list <分类> --refresh` 或 `tree --refresh`。\n- 攻略正文会标注\"仅供当期参考\"（如 V3.5），回答用户时注明时效。\n\nFile v0.1.0:README.md\n\n# 🌊 kurobbs-wiki — 库街区鸣潮 WIKI 查询 + 配队助手\n\n> 🌍 **Read this in** · [English](README.en.md) · [日本語](README.ja.md) · [한국어](README.ko.md) · [中文](README.md)\n\n一个遵循 **Agent Skill 开放标准**（SKILL.md）的通用技能，直接通过库街区（kurobbs）公开 API 查询鸣潮（Wuthering Waves）的图鉴、攻略与角色资料，并内置**机制画像 + 配队引擎**，还能登录你自己的库街区账号、用真实角色池组队。支持任意能加载 Agent Skill 的 AI（Claude、Cursor、Copilot、Gemini、OpenClaw 等）。\n\n> 本项目灵感来自日常打鸣潮时\"查角色攻略、配队要靠一个个翻网页\"的痛点，做成一个 skill 就能在对话里直接问。\n\n---\n\n## ✨ 功能一览\n\n| 模块 | 命令 | 说明 |\n|------|------|------|\n| 🔍 目录/列表 | `tree` / `list` | 分类目录树（170+ 节点）+ 分类下条目 |\n| 📖 词条详情 | `detail` | 角色/武器/道具/攻略详情，支持 `--render` Markdown 排版、`--section` 精确取段 |\n| 🔎 名称搜索 | `search` | 跨分类搜索，自动遍历三级子分类 |\n| 🖼️ 社区帖媒体 | `post` | 绕过 WAF 抓一图流/视频帖的图片、封面、m3u8 视频 |\n| 🧠 机制画像 | `probe` | 6 维度机制档案（效应/增益/流派/技能/声骸/武器） |\n| 🤝 配对引擎 | `pair` / `team` | 双角色 5 维兼容评分、池选队、全量 60 人枚举、攻略交叉验证补池 |\n| 🎯 LLM 精排 | `candidates` + `--profile` | 规则粗筛候选 + LLM 逐队精排（配队最准） |\n| 👤 我的账号 | `my` | 登录库街区、查真实角色、用自己角色配队、token 续期 |\n\n---\n\n## 📦 安装\n\n### 方式一：从本地目录安装（最简）\n\n把本仓库 `kurobbs-wiki/` 目录放入你的 AI 的 skills 目录（Claude Code、Cursor、Copilot 等均支持），或在支持该目录的 agent 中：\n\n```bash\n# 将 SKILL_DIR 指向本仓库根目录的绝对路径\n# Windows 示例\nset SKILL_DIR=D:\\tools\\kurobbs-wiki\n\n# macOS / Linux 示例\nexport SKILL_DIR=~/tools/kurobbs-wiki\n```\n\n### 方式二：通过 npx skills（若已收录到市场后）\n\n```bash\nnpx skills add Alphamancer/kurobbs-wiki\n```\n\n> 发布后即可通过市场一键安装，详见下方「发布与收录」。\n\n### 依赖\n\n- **Python 3.8+**（纯标准库，`wikiquery.py` 无第三方依赖）\n- **Playwright**（仅 `post` 抓取社区帖媒体时需要）\n  ```bash\n  pip install playwright && playwright install chromium\n  ```\n- **ffmpeg**（可选，`--download-video` 下载 m3u8 视频为 mp4 时用）\n\n---\n\n## 🚀 快速上手\n\n```bash\ncd $SKILL_DIR\n\n# 1. 初始化目录树（缓存到 ~/.kurobbs-wiki-cache/）\npython -X utf8 -u scripts/wikiquery.py tree\n\n# 2. 搜索角色\npython -X utf8 -u scripts/wikiquery.py search 穗穗 --preview --limit 3\n\n# 3. 取攻略正文某小节\npython -X utf8 -u scripts/wikiquery.py detail <previewEntryId> --section \"编队&队伍轴推荐\"\n\n# 4. 机制画像 + 配队\npython -X utf8 -u scripts/wikiquery.py probe 穗穗\npython -X utf8 -u scripts/wikiquery.py team 穗穗 --pool 洛瑟菈,今汐,秧秧 --top 3\n\n# 5. 登录你的账号，用真实角色配队\npython -X utf8 -u scripts/wikiquery.py my login    # 浏览器里填手机号→拖滑块→填验证码\npython -X utf8 -u scripts/wikiquery.py my roles\npython -X utf8 -u scripts/wikiquery.py my team 穗穗 --guide-pool --top 5\n```\n\n> 💡 **提示**：所有命令都应在 skill 目录下执行，且带上 `-X utf8 -u`（Windows 下中文/emoji 输出需要）。\n\n---\n\n## 🧠 配队引擎怎么用\n\n### 双角色评分\n\n```bash\npython -X utf8 -u scripts/wikiquery.py pair 穗穗 洛瑟菈\n```\n\n5 维度各 20 分：效应协同 / 延奏匹配 / 定位互补 / 声骸联动 / 触发闭环。≥80 高度契合。\n\n### 从角色池组队\n\n```bash\npython -X utf8 -u scripts/wikiquery.py team 穗穗 --pool 洛瑟菈,今汐,秧秧 --top 3   # 指定池子\npython -X utf8 -u scripts/wikiquery.py team 穗穗 --all --top 5                    # 全量枚举 60 人\npython -X utf8 -u scripts/wikiquery.py team 穗穗 --guide-pool --top 5             # 攻略交叉验证自动补池\n```\n\n每个队伍会标注来源：🟢 攻略实锤 / 🟡 混合 / 🔵 引擎推断，并附 📚 攻略 URL 供你点击验证。\n\n### LLM 精排（配队最准）\n\n```bash\n# 步骤 1：规则粗筛候选池（秒级）\npython -X utf8 -u scripts/wikiquery.py candidates 绯雪 --guide-pool\n\n# 步骤 2：拿候选队伍 + 三角色六维度完整画像（输出很大，重定向到文件）\npython -X utf8 -u scripts/wikiquery.py team 绯雪 --pool 千咲,维里奈,穗穗 --profile --top 10 > %TEMP%\\team_profile.txt\n```\n\n由 Claude 基于真实画像数据逐队 6 维度精排，识别\"机制拐\"、\"协奏副C\"等规则难判断的定位。\n\n---\n\n## 🔐 隐私与数据说明\n\n> ⚠️ **请务必阅读**——本 skill 包含读取你账号数据的登录功能。\n\n- **WIKI 查询（`tree`/`list`/`detail`/`search`/`probe`/`pair`/`team`）**：全部走**公开、无鉴权**的 API，**不需要登录**，不涉及任何个人数据。\n- **「我的账号」功能（`my login`/`my roles`/`my team`/`my sync`）**：需要你主动在浏览器里登录库街区。登录后，以下数据会**保存在你本地** `~/.kurobbs-wiki-cache/`：\n  - `account.json` — 登录 token + 你的角色列表\n  - `role_details/` — 每个角色的共鸣链解锁、实际武器/声骸、技能等级、面板\n- **这些数据只存本机，不会上传到任何服务器**。token 约 45 分钟过期，`my renew` 可续期。\n- 本 skill **不会**在未登录时猜测或伪造你的账号角色，也不会向第三方发送你的账号数据。\n\n**如果你想完全离线/不登录**：只用 `tree`/`search`/`detail`/`probe`/`pair`/`team` 即可，完全不需要 `my` 系列命令。\n\n---\n\n## 📚 目录结构\n\n```\nkurobbs-wiki/\n├── SKILL.md               # Skill 指令（触发条件、命令速查、工作流、关键坑）\n├── README.md              # 本文件（中文，面向使用者）\n├── README.en.md           # English 版本\n├── README.ja.md           # 日本語 版本\n├── README.ko.md           # 한국어 版本\n├── PUBLISHING.md          # 发布操作清单（作者专用，面向使用者无需看）\n├── _meta.json             # skill 元数据\n├── references/\n│   └── catalogue-map.md   # 分类 ID 映射速查表（170+ 节点）\n└── scripts/\n    ├── wikiquery.py       # 主 CLI（tree/list/detail/search/probe/pair/team/candidates/my）纯标准库\n    ├── post_fetch.py      # 社区帖媒体抓取（Playwright 绕过 WAF）\n    └── kuro_login.py      # 登录库街区（浏览器交互）\n```\n\n---\n\n## ⚠️ 已知限制\n\n- **私有 API，无官方文档**：字段结构可能随库街区改版变化；报错时先 `tree --refresh` 重拉目录树。\n- **低频使用**：公开无鉴权接口，频繁请求可能触发风控，脚本内置 0.05s 限速。\n- **分类动态变化**：游戏更新会新增版本活动分类，搜不到新内容时 `list <分类> --refresh` 或 `tree --refresh`。\n- **攻略词条是\"占位卡片\"**：`detail <5位id>` 可能返回 2031，需用 `search --preview` 拿内嵌真实 entryId（这是结构，不是 bug）。\n- **Windows 必须带 `-X utf8 -u`**：否则中文/emoji 输出会在 GBK 编码下崩溃。\n\n---\n\n## 🧾 许可证\n\n[MIT](LICENSE)\n\n---\n\n## 🙏 喜欢的话，帮它被更多人看到\n\n如果你觉得这个 skill 有用，欢迎把它分享给玩鸣潮的朋友，或收录到你的 skill 市场。\n\n安装命令：\n\n```bash\nnpx skills add Alphamancer/kurobbs-wiki\n```\n\n---\n\n## 🤝 贡献\n\n欢迎提 issue 和 PR。开发时注意：\n\n- 修改后跑 `python -X utf8 -c \"import py_compile; py_compile.compile('scripts/wikiquery.py', doraise=True)\"` 验证语法\n- 保持 `wikiquery.py` 纯标准库（`post` 子命令除外），避免给查询主流程加第三方依赖\n- 遵守 SKILL.md 中的「关键坑」与「已知卡点速查」约定\n\nFile v0.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn7fy8bsrjtfamne2s3bm2v05d8cfd47\",\n  \"slug\": \"kurobbs-wiki\",\n  \"version\": \"0.1.0\",\n  \"publishedAt\": 1786732174099\n}\n\nFile v0.1.0:references/catalogue-map.md\n\n# 鸣潮 WIKI 分类 ID 映射速查表\n\n> 完整 170 节点映射表用 `python -X utf8 -u scripts/wikiquery.py map --markdown` 实时生成（缓存于 `~/.kurobbs-wiki-cache/`）。\n> 下表为最常用分类，实际查询时可用 `tree` 命令确认。三级分类（角色攻略/玩法攻略/区域探索）可**直接用名字解析**：`list 穗穗`、`list 幻痛`、`list 七丘`。\n\n## 游戏图鉴（父级 id=1099）\n\n| 分类 | ID | 说明 |\n|------|-----|------|\n| 共鸣者 | 1105 | 角色图鉴（穗穗/爱弥斯/秧秧…60+ 角色） |\n| 武器 | 1106 | 武器图鉴 |\n| 武器投影 | 1315 | 武器外观 |\n| 声骸 | 1107 | 声骸图鉴 |\n| 合鸣效果 | 1219 | 套装效果 |\n| 敌人 | 1158 | 敌人图鉴 |\n| 全息战略 | 1313 | 高难挑战 |\n| 可合成道具 | 1264 | 合成产物 |\n| 道具合成图纸 | 1265 | 合成配方 |\n| 任务道具 | 1130 | 任务相关 |\n| 活动道具 | 1360 | 活动相关 |\n| 特殊道具 | 1223 | 特殊物品（如 穗穗的回音频段） |\n| 补给 | 1217 | 补给品 |\n| 资源 | 1161 | 资源 |\n| 素材 | 1218 | 养成素材 |\n| 声骸换影 | 1518 | 声骸外观 |\n| 羁旅印章 / 头像 / 称号 / 飞讯装饰 / 摩托外观 | 1350 / 1363 / 1614 / 1613 / 1523 | 收集品 |\n\n## 攻略合集（父级 id=1322）\n\n### 角色攻略（id=1384）— 三级子分类 = 每个角色\n\n| 角色 | ID | 角色 | ID |\n|------|-----|------|-----|\n| 穗穗 | 1629 | 秧秧·玄翎 | 1622 |\n| 漂泊者·导电 | 1623 | 爱弥斯 | 1536 |\n| 洛瑟菈 | 1615 | 露西 | 1612 |\n| 丽贝卡 | 1611 | 达妮娅 | 1604 |\n| 绯雪 | 1533 | 西格莉卡 | 1534 |\n| 陆·赫斯 | 1535 | 莫宁 | 1569 |\n| 琳奈 | 1537 | 千咲 | 1571 |\n| 卜灵 | 1587 | 仇远 | 1570 |\n| 嘉贝莉娜 | 1572 | 尤诺 | 1588 |\n| 奥古斯塔 | 1589 | 弗洛洛 | 1590 |\n| 露帕 | 1591 | 卡提希娅 | 1592 |\n| 夏空 | 1593 | 赞妮 | 1594 |\n| 坎特蕾拉 | 1595 | 菲比 | 1596 |\n| 布兰特 | 1597 | 洛可可 | 1598 |\n| 珂莱塔 | 1599 | 灯灯 | 1600 |\n| 椿 | 1601 | 守岸人 | 1602 |\n| 釉瑚 | 1561 | 折枝 | 1562 |\n| 相里要 | 1563 | 长离 | 1564 |\n| 今汐 | 1565 | 吟霖 | 1566 |\n| 忌炎 | 1567 | 漂泊者-气动 | 1568 |\n| 漂泊者-湮灭 | 1539 | 漂泊者-衍射 | 1540 |\n| 鉴心 | 1538 | 卡卡罗 | 1541 |\n| 安可 | 1542 | 维里奈 | 1543 |\n| 凌阳 | 1544 | 秧秧 | 1545 |\n| 白芷 | 1546 | 炽霞 | 1547 |\n| 散华 | 1548 | 秋水 | 1549 |\n| 丹瑾 | 1550 | 莫特斐 | 1551 |\n| 渊武 | 1552 | 桃祈 | 1553 |\n\n### 玩法攻略（id=1383）— 三级子分类 = 玩法/副本\n\n| 玩法 | ID | 玩法 | ID |\n|------|-----|------|-----|\n| 悲鸣行动：无音危机 | 1625 | 全息战略·幻痛 | 1579 |\n| 幻梦游园 | 1577 | 深坠异想奇境·寻梦者 | 1617 |\n| 星弹奇游 | 1532 | 荣耀之丘：激斗重燃 | 1573 |\n| 偏谐机制 | 1574 | 穗波怪异物语 | 1575 |\n| 潮蚀模拟 | 1576 | 千道门扉的异想 | 1578 |\n| 失序梦途 | 1580 | 旌旗不落 | 1581 |\n| 激斗！向着荣耀之丘 | 1582 | 唯你的长夏永不凋落 | 1583 |\n| 团团团团转 | 1584 | 老人鱼海 | 1585 |\n| 浸梦海床 | 1586 | | |\n\n### 区域探索（id=1381）— 三级子分类 = 区域\n\n| 区域 | ID | 区域 | ID |\n|------|-----|------|-----|\n| 梦州 | 1624 | 夜之城 | 1618 |\n| 罗伊冰原 | 1531 | 拉海洛 | 1554 |\n| 桑古伊斯狩原 | 1555 | 七丘 | 1556 |\n| 阿维纽林 | 1557 | 黎那汐塔 | 1558 |\n| 黑海岸 | 1559 | 瑝珑 | 1560 |\n\n### 新手入门（id=1382）/ 版本攻略（id=1324）\n\n| 分类 | ID |\n|------|-----|\n| 新手入坑 | 1527 |\n| 角色抽取 | 1528 |\n| 战斗解析 | 1529 |\n| 版本攻略 | 1324 |\n\n## 其他合集\n\n| 分类 | ID | 说明 |\n|------|-----|------|\n| 活动合集 | 1293 | 按版本分（3.5=1621, 3.4=1610, 3.3=1524, 3.2=1519, 3.1=1470, 3.0=1447, 2.8=1368, 2.7=1361, 2.6=1353, 2.5=1352, 2.4=1338, 2.3=1337, 2.2=1335, 2.1=1329, 2.0=1327, 1.4=1311, 1.3=1307, 1.2=1304, 1.1=1302, 1.0=1294） |\n| 剧情合集 | 1328 | 潮汐=1330 / 伴星=1331 / 活动任务=1332 |\n| 任务合集 | 1249 | 任务列表 |\n| 成就合集 | 1314 | 成就 |\n| 影像收录 | 1292 | 版本PV=1348 / 共鸣者PV=1339 / 战斗演示=1340 / 剧情动画=1347 / 同人绘画=1343 / 壁纸=1342 / 表情包=1344 / 先约电台EP=1341 / OST=1346 / 其他影音=1286 |\n| 热门资讯 | 1287 | BOSS=1290 / 新手解析=1288 / 漂泊路书=1289 / 索拉里斯探索=1291 |\n| 游戏百科 | 1334 | 游戏机制=1460 / 教程百科=1463 / 名词注释=1607(背景1461/技能1462/活动1608) / 加载页面=1477 / 地图文本=1605 / 万象见闻=1606 / 探索报告=1619 / 地域风光=1620 |\n\n## 备注\n\n- 分类 ID 是查询 `list` 命令的 `catalogueId` 参数。\n- 活动合集分类随版本更新而增加：`tree --refresh` 后总是最新的。\n- 角色攻略/玩法攻略/区域探索 是**三级分类**（角色名本身就是子分类），`list 穗穗` 可直接用角色名解析。\n- **封面图**：`list <分类> --json` 里每条记录的 `content.contentUrl` 是该攻略的封面图 URL（一图流攻略的图就在封面），可下载后喂给多模态模型识别。\n\nFile v0.1.0:PUBLISHING.md\n\n# 📤 kurobbs-wiki 发布操作清单（作者专用）\n\n> 本文档是**作者本人**在发布/更新本 skill 到各市场时使用的操作清单。\n> 面向使用者/读者的内容请看 [README.md](README.md)，这里不放。\n\n---\n\n## ✅ 发布前检查（每次发布前过一遍）\n\n- [ ] `SKILL.md` frontmatter 完整：`name` / `description` / `license` / `metadata.author` / `metadata.version` / `metadata.tags` / `metadata.compatibility`\n- [ ] `README.md` 里的安装命令已用真实仓库名（`npx skills add <owner>/kurobbs-wiki` 的 `<owner>` 已替换）\n- [ ] `LICENSE` 文件存在，且与 `SKILL.md` 的 `license: MIT` 一致\n- [ ] `scripts/*.py` 语法通过：\n  ```bash\n  python -X utf8 -c \"import py_compile; py_compile.compile('scripts/wikiquery.py', doraise=True)\"\n  ```\n- [ ] 隐私检查：`.gitignore` 已排除 `__pycache__/` 和 `~/.kurobbs-wiki-cache/`（账号数据），确保不误传\n\n---\n\n## 🚀 推送到 GitHub\n\n本 skill 的公开仓库：`https://github.com/Alphamancer/kurobbs-wiki`\n\n独立仓库在本地 `temp/_kurobbs_release/`。每次改完源文件后，把改动的文件复制过去再推送：\n\n```bash\ncd \"D:\\BaiduSyncdisk\\agent demo2\\cogni-agent\\temp\\_kurobbs_release\"\ngit add -A\ngit commit -m \"更新说明\"\ngit push origin main\n```\n\n> ⚠️ 不要直接用 `git push` 推 cogni-agent 大仓库——市场以独立 skill 仓库为单位收录。\n\n---\n\n## 📦 提交到各市场\n\n| 平台 | 方式 | 说明 |\n|------|------|------|\n| **SkillsMP** | 放在 GitHub 后提交仓库 URL | 自动爬取 GitHub，2 星以上收录 |\n| **Skills.sh** | 放在 GitHub 后提交仓库 URL | 主分发枢纽，`npx skills add <owner>/<repo>` 收录 |\n| **ClawHub** | `clawhub.ai` 直接上传 | 支持中文，MIT 无审核门槛，最快见效果 |\n| **LobeHub** | `lobehub.com/zh` 提交 | 中文玩家为主，贴合鸣潮受众 |\n| **awesome-claude-skills** | 提 PR 收录 | 开源权威榜单，长期曝光 |\n\n安装命令统一：`npx skills add Alphamancer/kurobbs-wiki`\n\n---\n\n## 🔄 更新流程（skill 改版后）\n\n1. 在 `skills/kurobbs-wiki/` 里改源文件（走 self-modify）\n2. 复制改动的文件到 `temp/_kurobbs_release/`\n3. `git add -A && git commit && git push origin main`\n4. 各市场会自动抓取 GitHub 更新（ClawHub 等需手动重传的另说）\n\n---\n\n## ⚠️ 已知注意事项\n\n- **私有 API 无官方文档**：库街区字段可能随版本变化，更新前先 `tree --refresh` 确认 API 仍可用。\n- **别把密钥写进脚本**：目前脚本用公开无鉴权 API，无密钥风险；若以后加登录凭据，务必用环境变量，绝不硬编码。\n\nFile v0.1.0:README.en.md\n\n# 🌊 kurobbs-wiki — Kuro BBS Wuthering Waves WIKI Query + Team-Building Assistant\n\n> 🌍 **Read this in** · [English](README.en.md) · [日本語](README.ja.md) · [한국어](README.ko.md) · [中文](README.md)\n\nA universal skill that follows the **Agent Skill open standard** (SKILL.md). It queries the Wuthering Waves gallery, strategy guides, and character profiles directly through the public Kuro BBS (kurobbs) API, and ships with a built-in **mechanism profile + team-building engine**. You can also log in with your own Kuro BBS account and build teams from your real character pool. Works with any AI that can load Agent Skills (Claude, Cursor, Copilot, Gemini, OpenClaw, etc.).\n\n> This project was inspired by the pain point of having to flip through web pages one by one when looking up character strategies and team compositions while playing Wuthering Waves — turning it into a skill lets you just ask directly in conversation.\n\n---\n\n## ✨ Feature Overview\n\n| Module | Command | Description |\n|------|------|------|\n| 🔍 Catalog / Lists | `tree` / `list` | Categorized catalog tree (170+ nodes) + entries under each category |\n| 📖 Entry Details | `detail` | Character/weapon/item/strategy details; supports `--render` Markdown formatting and `--section` for precise section extraction |\n| 🔎 Name Search | `search` | Cross-category search that automatically traverses three levels of subcategories |\n| 🖼️ Community Post Media | `post` | Bypasses WAF to fetch images, covers, and m3u8 videos from image-first/video posts |\n| 🧠 Mechanism Profile | `probe` | 6-dimension mechanism profile (Effect / buff / playstyle / skill / Echo / Weapon) |\n| 🤝 Pairing Engine | `pair` / `team` | 5-dimension compatibility scoring between two characters, pool-based team building, full 60-character enumeration, and guide cross-validation to fill the pool |\n| 🎯 LLM Re-ranking | `candidates` + `--profile` | Rule-based coarse candidate filtering + LLM per-team fine ranking (most accurate team-building) |\n| 👤 My Account | `my` | Log in to Kuro BBS, view your real characters, build teams with your own characters, and renew tokens |\n\n---\n\n## 📦 Installation\n\n### Option 1: Install from a local directory (simplest)\n\nPlace this repository's `kurobbs-wiki/` directory into your AI's skills directory (supported by Claude Code, Cursor, Copilot, etc.), or use it in an agent that supports such directories:\n\n```bash\n# Point SKILL_DIR to the absolute path of this repository's root\n# Windows example\nset SKILL_DIR=D:\\tools\\kurobbs-wiki\n\n# macOS / Linux example\nexport SKILL_DIR=~/tools/kurobbs-wiki\n```\n\n### Option 2: Via npx skills (once it has been added to the marketplace)\n\n```bash\nnpx skills add Alphamancer/kurobbs-wiki\n```\n\n> Once published, it can be installed with one click from the marketplace — see \"Publishing & Inclusion\" below.\n\n### Dependencies\n\n- **Python 3.8+** (pure standard library; `wikiquery.py` has no third-party dependencies)\n- **Playwright** (only needed for `post` to fetch community post media)\n  ```bash\n  pip install playwright && playwright install chromium\n  ```\n- **ffmpeg** (optional, used when `--download-video` downloads m3u8 videos as mp4)\n\n---\n\n## 🚀 Quick Start\n\n```bash\ncd $SKILL_DIR\n\n# 1. Initialize the catalog tree (cached to ~/.kurobbs-wiki-cache/)\npython -X utf8 -u scripts/wikiquery.py tree\n\n# 2. Search for a character\npython -X utf8 -u scripts/wikiquery.py search 穗穗 --preview --limit 3\n\n# 3. Fetch a specific section of a strategy guide\npython -X utf8 -u scripts/wikiquery.py detail <previewEntryId> --section \"编队&队伍轴推荐\"\n\n# 4. Mechanism profile + team building\npython -X utf8 -u scripts/wikiquery.py probe 穗穗\npython -X utf8 -u scripts/wikiquery.py team 穗穗 --pool 洛瑟菈,今汐,秧秧 --top 3\n\n# 5. Log in to your account and build a team with real characters\npython -X utf8 -u scripts/wikiquery.py my login    # enter phone number in browser → drag the slider → enter the verification code\npython -X utf8 -u scripts/wikiquery.py my roles\npython -X utf8 -u scripts/wikiquery.py my team 穗穗 --guide-pool --top 5\n```\n\n> 💡 **Tip**: All commands should be run in the skill directory, and should include `-X utf8 -u` (needed for Chinese/emoji output on Windows).\n\n---\n\n## 🧠 How to Use the Team-Building Engine\n\n### Two-Character Scoring\n\n```bash\npython -X utf8 -u scripts/wikiquery.py pair 穗穗 洛瑟菈\n```\n\nEach of the 5 dimensions scores 20 points: Effect synergy / Outro Skill match / role complementarity / Echo linkage / trigger loop. ≥80 indicates a highly compatible pair.\n\n### Building a Team from a Character Pool\n\n```bash\npython -X utf8 -u scripts/wikiquery.py team 穗穗 --pool 洛瑟菈,今汐,秧秧 --top 3   # specify a pool\npython -X utf8 -u scripts/wikiquery.py team 穗穗 --all --top 5                    # full enumeration of 60 characters\npython -X utf8 -u scripts/wikiquery.py team 穗穗 --guide-pool --top 5             # guide cross-validation to auto-fill the pool\n```\n\nEach team is labeled with its source: 🟢 confirmed by a strategy guide / 🟡 hybrid / 🔵 engine inference, and includes a 📚 strategy URL you can click to verify.\n\n### LLM Re-ranking (most accurate team-building)\n\n```bash\n# Step 1: rule-based coarse filtering of the candidate pool (in seconds)\npython -X utf8 -u scripts/wikiquery.py candidates 绯雪 --guide-pool\n\n# Step 2: fetch candidate teams + full 6-dimension profiles for the three characters (large output; redirect to a file)\npython -X utf8 -u scripts/wikiquery.py team 绯雪 --pool 千咲,维里奈,穗穗 --profile --top 10 > %TEMP%\\team_profile.txt\n```\n\nClaude performs a per-team 6-dimension re-ranking based on real profile data, identifying roles that are hard for rules to judge, such as \"mechanism anchor\" and \"concerto sub-DPS\".\n\n---\n\n## 🔐 Privacy & Data Notes\n\n> ⚠️ **Please read this** — this skill includes a login feature that reads your account data.\n\n- **WIKI queries (`tree`/`list`/`detail`/`search`/`probe`/`pair`/`team`)**: all use **public, unauthenticated** APIs, **no login required**, and involve no personal data.\n- **\"My Account\" feature (`my login`/`my roles`/`my team`/`my sync`)**: requires you to actively log in to Kuro BBS in your browser. After logging in, the following data is **stored locally** in `~/.kurobbs-wiki-cache/`:\n  - `account.json` — login token + your character list\n  - `role_details/` — each character's Resonance Chain unlocks, actual weapon/Echo, skill levels, and stats\n- **This data is stored only on your local machine and is never uploaded to any server**. The token expires in about 45 minutes; `my renew` can refresh it.\n- This skill **will not** guess or fabricate your account characters when not logged in, nor will it send your account data to any third party.\n\n**If you want to stay fully offline / not log in**: just use `tree`/`search`/`detail`/`probe`/`pair`/`team` — the `my` command family is not needed at all.\n\n---\n\n## 📚 Directory Structure\n\n```\nkurobbs-wiki/\n├── SKILL.md               # Skill instructions (trigger conditions, command quick reference, workflow, key pitfalls)\n├── README.md              # This file (for users)\n├── PUBLISHING.md          # Publishing checklist (for authors; users don't need to read it)\n├── _meta.json             # skill metadata\n├── references/\n│   └── catalogue-map.md   # Category ID mapping quick reference (170+ nodes)\n└── scripts/\n    ├── wikiquery.py       # Main CLI (tree/list/detail/search/probe/pair/team/candidates/my), pure standard library\n    ├── post_fetch.py      # Community post media fetching (Playwright to bypass WAF)\n    └── kuro_login.py      # Kuro BBS login (browser interaction)\n```\n\n---\n\n## ⚠️ Known Limitations\n\n- **Private API, no official documentation**: the field structure may change as Kuro BBS updates; when you hit an error, run `tree --refresh` to re-pull the catalog tree first.\n- **Use at low frequency**: these are public unauthenticated interfaces, and frequent requests may trigger risk control; the script has a built-in 0.05s rate limit.\n- **Categories change dynamically**: game updates add new version-event categories; if you can't find new content, run `list <category> --refresh` or `tree --refresh`.\n- **Strategy entries are \"placeholder cards\"**: `detail <5-digit id>` may return 2031; use `search --preview` to get the embedded real entryId (this is by design, not a bug).\n- **`-X utf8 -u` is required on Windows**: otherwise Chinese/emoji output will crash under GBK encoding.\n\n---\n\n## 🧾 License\n\n[MIT](LICENSE)\n\n---\n\n## 🙏 If You Like It, Help It Reach More People\n\nIf you find this skill useful, feel free to share it with friends who play Wuthering Waves, or include it in your skill marketplace.\n\nInstallation command:\n\n```bash\nnpx skills add Alphamancer/kurobbs-wiki\n```\n\n---\n\n## 🤝 Contributing\n\nIssues and PRs are welcome. When developing, keep in mind:\n\n- After making changes, run `python -X utf8 -c \"import py_compile; py_compile.compile('scripts/wikiquery.py', doraise=True)\"` to verify the syntax\n- Keep `wikiquery.py` pure standard library (except for the `post` subcommand), to avoid adding third-party dependencies to the main query flow\n- Follow the \"Key Pitfalls\" and \"Known Blocker Quick Reference\" conventions in SKILL.md\n\nFile v0.1.0:README.ja.md\n\n# 🌊 kurobbs-wiki — クルミナルストリート鳴潮 WIKI 検索 + 編成アシスタント\n\n**Agent Skill オープン標準**（SKILL.md）に準拠した汎用スキルです。クルミナルストリート（kurobbs）の公開 API を直接叩いて、鳴潮（Wuthering Waves）の図鑑・攻略・キャラクター資料を検索できます。さらに**メカニズム解析 + 編成エンジン**を内蔵しており、自分のクルミナルストリートアカウントにログインして実際のキャラクターでパーティ編成も可能です。Agent Skill を読み込める任意の AI（Claude、Cursor、Copilot、Gemini、OpenClaw など）で利用できます。\n\n> このプロジェクトは、日々の鳴潮プレイ中に「キャラ攻略や編成を調べるのに毎回 Web を開くのが面倒」という課題から着想を得て、1 つの skill にすれば会話の中でそのまま質問できるようにしたものです。\n\n---\n\n## ✨ 機能一覧\n\n| モジュール | コマンド | 説明 |\n|------|------|------|\n| 🔍 カタログ/一覧 | `tree` / `list` | 分類カタログツリー（170+ ノード）+ 分類ごとの項目 |\n| 📖 項目詳細 | `detail` | キャラ/武器/アイテム/攻略の詳細。`--render` で Markdown 整形、`--section` でセクションを正確に抽出 |\n| 🔎 名前検索 | `search` | 分類をまたいで検索、3 階層のサブカテゴリを自動で走査 |\n| 🖼️ コミュニティ投稿メディア | `post` | WAF を迂回して画像・表紙・m3u8 動画を取得 |\n| 🧠 メカニズム解析 | `probe` | 6 次元のメカニズムプロファイル（エフェクト/バフ/流派/スキル/エコー/武器） |\n| 🤝 ペア編成エンジン | `pair` / `team` | 2 キャラの 5 次元互換スコア、プール選択編成、全 60 人列挙、攻略クロス検証によるプール補完 |\n| 🎯 LLM 精査 | `candidates` + `--profile` | ルールによる粗選別候補 + LLM による編成ごとの精査（最も精度が高い編成） |\n| 👤 マイアカウント | `my` | クルミナルストリートにログイン、実際のキャラを確認、自分のキャラで編成、token 更新 |\n\n---\n\n## 📦 インストール\n\n### 方法 1：ローカルディレクトリからインストール（最も簡単）\n\n本リポジトリの `kurobbs-wiki/` ディレクトリを、あなたの AI の skills ディレクトリ（Claude Code、Cursor、Copilot などが対応）に置きます。対応する agent の場合は次のようにします：\n\n```bash\n# SKILL_DIR を本リポジトリのルートの絶対パスに指定\n# Windows の例\nset SKILL_DIR=D:\\tools\\kurobbs-wiki\n\n# macOS / Linux の例\nexport SKILL_DIR=~/tools/kurobbs-wiki\n```\n\n### 方法 2：npx skills 経由（マーケットに収録された後）\n\n```bash\nnpx skills add Alphamancer/kurobbs-wiki\n```\n\n> 公開後はマーケットからワンクリックでインストールできます。詳しくは後述の「公開と収録」をご覧ください。\n\n### 依存関係\n\n- **Python 3.8+**（標準ライブラリのみ、`wikiquery.py` にサードパーティ依存はありません）\n- **Playwright**（`post` でコミュニティ投稿のメディアを取得するときのみ必要）\n  ```bash\n  pip install playwright && playwright install chromium\n  ```\n- **ffmpeg**（任意、`--download-video` で m3u8 動画を mp4 としてダウンロードするときに使用）\n\n---\n\n## 🚀 クイックスタート\n\n```bash\ncd $SKILL_DIR\n\n# 1. カタログツリーを初期化（~/.kurobbs-wiki-cache/ にキャッシュ）\npython -X utf8 -u scripts/wikiquery.py tree\n\n# 2. キャラクターを検索\npython -X utf8 -u scripts/wikiquery.py search 穗穗 --preview --limit 3\n\n# 3. 攻略本文の一部の節を取得\npython -X utf8 -u scripts/wikiquery.py detail <previewEntryId> --section \"編隊&隊伍軸推薦\"\n\n# 4. メカニズム解析 + 編成\npython -X utf8 -u scripts/wikiquery.py probe 穗穗\npython -X utf8 -u scripts/wikiquery.py team 穗穗 --pool 洛瑟菈,今汐,秧秧 --top 3\n\n# 5. アカウントにログインして、実際のキャラで編成\npython -X utf8 -u scripts/wikiquery.py my login    # ブラウザで電話番号入力→スライダー→認証コード入力\npython -X utf8 -u scripts/wikiquery.py my roles\npython -X utf8 -u scripts/wikiquery.py my team 穗穗 --guide-pool --top 5\n```\n\n> 💡 **ヒント**：すべてのコマンドは skill ディレクトリ内で実行し、`-X utf8 -u` を付けてください（Windows で中文/emoji を出力するために必要）。\n\n---\n\n## 🧠 編成エンジンの使い方\n\n### 2 キャラのスコアリング\n\n```bash\npython -X utf8 -u scripts/wikiquery.py pair 穗穗 洛瑟菈\n```\n\n5 次元それぞれ 20 点：エフェクト協同 / アウトロスキル一致 / 役割の補完 / エコー連携 / 発動サイクル。80 以上で高い相性。\n\n### キャラクタープールから編成\n\n```bash\npython -X utf8 -u scripts/wikiquery.py team 穗穗 --pool 洛瑟菈,今汐,秧秧 --top 3   # プールを指定\npython -X utf8 -u scripts/wikiquery.py team 穗穗 --all --top 5                    # 全 60 人を列挙\npython -X utf8 -u scripts/wikiquery.py team 穗穗 --guide-pool --top 5             # 攻略クロス検証で自動補完\n```\n\n各編成には出所が付記されます：🟢 攻略で裏付け / 🟡 混合 / 🔵 エンジン推定。確認用に 📚 攻略 URL も付きます。\n\n### LLM 精査（最も精度が高い編成）\n\n```bash\n# ステップ 1：ルールで候補プールを粗選別（秒単位）\npython -X utf8 -u scripts/wikiquery.py candidates 绯雪 --guide-pool\n\n# ステップ 2：候補編成 + 3 キャラの 6 次元完全プロファイルを取得（出力が大きいのでファイルにリダイレクト）\npython -X utf8 -u scripts/wikiquery.py team 绯雪 --pool 千咲,维里奈,穗穗 --profile --top 10 > %TEMP%\\team_profile.txt\n```\n\nClaude が実際のプロファイルデータに基づいて編成ごとに 6 次元で精査し、「機制拐」「協奏副C」などルールでは判断しにくい役割を識別します。\n\n---\n\n## 🔐 プライバシーとデータについて\n\n> ⚠️ **必ずお読みください** —— 本 skill にはアカウントデータを読み取るログイン機能が含まれています。\n\n- **WIKI 検索（`tree`/`list`/`detail`/`search`/`probe`/`pair`/`team`）**：すべて**公開・認証なし**の API を使用します。**ログイン不要**で、個人データには一切関与しません。\n- **「マイアカウント」機能（`my login`/`my roles`/`my team`/`my sync`）**：ブラウザでクルミナルストリートにログインする操作があなたの側で必要です。ログイン後、以下のデータは**あなたのローカル** `~/.kurobbs-wiki-cache/` に保存されます：\n  - `account.json` — ログイン token + あなたのキャラリスト\n  - `role_details/` — 各キャラの共鳴チェーン解放、実際の武器/エコー、スキルレベル、ステータス\n- **これらのデータはローカルにのみ保存され、サーバーへは一切アップロードされません**。token は約 45 分で期限切れになり、`my renew` で更新できます。\n- 本 skill は、未ログイン時にあなたのアカウントキャラを推測・偽装することは**ありません**。また、第三者にアカウントデータを送信することもありません。\n\n**完全にオフライン/非ログインで使いたい場合**：`tree`/`search`/`detail`/`probe`/`pair`/`team` だけを使えばよく、`my` 系コマンドはまったく不要です。\n\n---\n\n## 📚 ディレクトリ構成\n\n```\nkurobbs-wiki/\n├── SKILL.md               # Skill の指示（トリガー条件、コマンド早見表、ワークフロー、重要ポイント）\n├── README.md              # 本ファイル（利用者向け）\n├── PUBLISHING.md          # 公開手順リスト（作者用。利用者は読む必要なし）\n├── _meta.json             # skill のメタデータ\n├── references/\n│   └── catalogue-map.md   # 分類 ID 対応早見表（170+ ノード）\n└── scripts/\n    ├── wikiquery.py       # メイン CLI（tree/list/detail/search/probe/pair/team/candidates/my）標準ライブラリのみ\n    ├── post_fetch.py      # コミュニティ投稿メディアの取得（Playwright で WAF を迂回）\n    └── kuro_login.py      # クルミナルストリートへのログイン（ブラウザ操作）\n```\n\n---\n\n## ⚠️ 既知の制限\n\n- **プライベート API、公式ドキュメントなし**：フィールド構造はクルミナルストリートの改版で変化する可能性があります。エラー時はまず `tree --refresh` でカタログツリーを引き直してください。\n- **低頻度の利用を推奨**：公開・認証なしのインターフェースのため、頻繁なリクエストはリスク管理に引っかかる可能性があります。スクリプトには 0.05 秒のレート制限が組み込まれています。\n- **カテゴリは動的に変化**：ゲーム更新で新しいバージョンアクティビティカテゴリが追加されます。新コンテンツが見つからないときは `list <カテゴリ> --refresh` または `tree --refresh` を実行してください。\n- **攻略項目は「プレースホルダーカード」**：`detail <5桁のID>` は 2031 を返すことがあります。その場合は `search --preview` で埋め込まれた実際の entryId を取得してください（これは構造であり、バグではありません）。\n- **Windows では `-X utf8 -u` を必ず付ける**：付けないと中文/emoji の出力が GBK エンコーディングでクラッシュします。\n\n---\n\n## 🧾 ライセンス\n\n[MIT](LICENSE)\n\n---\n\n## 🙏 気に入ったら、もっと多くの人に届けてください\n\nこの skill が役に立つと思ったら、鳴潮をプレイしている友人に共有するか、あなたの skill マーケットに収録してください。\n\nインストールコマンド：\n\n```bash\nnpx skills add Alphamancer/kurobbs-wiki\n```\n\n---\n\n## 🤝 コントリビューション\n\nissue と PR を歓迎します。開発時には次の点に注意してください：\n\n- 修正後は `python -X utf8 -c \"import py_compile; py_compile.compile('scripts/wikiquery.py', doraise=True)\"` で文法チェックを実行\n- `wikiquery.py` は標準ライブラリのみを維持（`post` サブコマンドを除く）。検索のメイン処理にサードパーティ依存を追加しない\n- SKILL.md の「重要ポイント」と「既知の詰まりどころ早見表」の規約を遵守\n\nFile v0.1.0:README.ko.md\n\n# 🌊 kurobbs-wiki — 쿠로블록스 명조 WIKI 조회 + 파티 편성 도우미\n\n> 🌍 **이 문서 읽기** · [English](README.en.md) · [日本語](README.ja.md) · [한국어](README.ko.md) · [中文](README.md)\n\n**Agent Skill 공개 표준**(SKILL.md)을 따르는 범용 스킬로, 쿠로블록스(kurobbs) 공개 API를 통해 명조(Wuthering Waves)의 도감·공략·캐릭터 정보를 바로 조회하고, **메커니즘 분석 + 파티 편성 엔진**을 내장하며, 본인 쿠로블록스 계정으로 로그인해 실제 캐릭터 풀로 팀을 짤 수도 있습니다. Agent Skill을 불러올 수 있는 모든 AI(Claude, Cursor, Copilot, Gemini, OpenClaw 등)를 지원합니다.\n\n> 이 프로젝트는 명조를 하면서 \"캐릭터 공략·파티 편성을 보려면 웹페이지를 하나씩 뒤져야 한다\"는 불편함에서 출발했으며, 스킬 하나로 대화 중에 바로 물어볼 수 있게 만들었습니다.\n\n---\n\n## ✨ 기능 한눈에 보기\n\n| 모듈 | 명령 | 설명 |\n|------|------|------|\n| 🔍 목차/목록 | `tree` / `list` | 분류 목차 트리(170+ 노드) + 분류별 항목 |\n| 📖 항목 상세 | `detail` | 캐릭터/무기/아이템/공략 상세, `--render` Markdown 정렬·`--section` 정밀 구간 추출 지원 |\n| 🔎 이름 검색 | `search` | 분류를 넘나드는 검색, 3단 하위 분류 자동 탐색 |\n| 🖼️ 커뮤니티 게시물 미디어 | `post` | WAF 우회로 한 장 요약/영상 게시물의 이미지·커버·m3u8 영상 가져오기 |\n| 🧠 메커니즘 분석 | `probe` | 6개 차원 메커니즘 프로필(효과/버프/계열/스킬/에코/무기) |\n| 🤝 페어링 엔진 | `pair` / `team` | 두 캐릭터 5차원 호환성 점수, 풀 선택 팀 구성, 전체 60명 열거, 공략 교차 검증 풀 보충 |\n| 🎯 LLM 정밀 정렬 | `candidates` + `--profile` | 규칙 기반 1차 후보 필터 + LLM 팀별 정밀 정렬(가장 정확한 편성) |\n| 👤 내 계정 | `my` | 쿠로블록스 로그인, 실제 캐릭터 조회, 내 캐릭터로 팀 구성, token 갱신 |\n\n---\n\n## 📦 설치\n\n### 방법 1: 로컬 디렉터리에서 설치(가장 간단)\n\n본 저장소의 `kurobbs-wiki/` 디렉터리를 AI의 skills 디렉터리(Claude Code, Cursor, Copilot 등 모두 지원)에 넣거나, 해당 디렉터리를 지원하는 agent에서:\n\n```bash\n# SKILL_DIR을 본 저장소 루트의 절대 경로로 지정\n# Windows 예시\nset SKILL_DIR=D:\\tools\\kurobbs-wiki\n\n# macOS / Linux 예시\nexport SKILL_DIR=~/tools/kurobbs-wiki\n```\n\n### 방법 2: npx skills 사용(마켓에 등록된 후)\n\n```bash\nnpx skills add Alphamancer/kurobbs-wiki\n```\n\n> 출시 후 마켓에서 원클릭 설치가 가능합니다. 자세한 내용은 아래 「출시 및 등록」을 참고하세요.\n\n### 의존성\n\n- **Python 3.8+**(순수 표준 라이브러리, `wikiquery.py`는 제3자 의존성 없음)\n- **Playwright**(`post`로 커뮤니티 게시물 미디어를 가져올 때만 필요)\n  ```bash\n  pip install playwright && playwright install chromium\n  ```\n- **ffmpeg**(선택, `--download-video`로 m3u8 영상을 mp4로 다운로드할 때 사용)\n\n---\n\n## 🚀 빠른 시작\n\n```bash\ncd $SKILL_DIR\n\n# 1. 디렉터리 트리 초기화(~/.kurobbs-wiki-cache/에 캐시)\npython -X utf8 -u scripts/wikiquery.py tree\n\n# 2. 캐릭터 검색\npython -X utf8 -u scripts/wikiquery.py search 穗穗 --preview --limit 3\n\n# 3. 공략 본문의 특정 소절 가져오기\npython -X utf8 -u scripts/wikiquery.py detail <previewEntryId> --section \"编队&队伍轴推荐\"\n\n# 4. 메커니즘 분석 + 파티 편성\npython -X utf8 -u scripts/wikiquery.py probe 穗穗\npython -X utf8 -u scripts/wikiquery.py team 穗穗 --pool 洛瑟菈,今汐,秧秧 --top 3\n\n# 5. 계정 로그인 후 실제 캐릭터로 팀 구성\npython -X utf8 -u scripts/wikiquery.py my login    # 브라우저에서 휴대폰 번호 입력 → 슬라이더 → 인증번호 입력\npython -X utf8 -u scripts/wikiquery.py my roles\npython -X utf8 -u scripts/wikiquery.py my team 穗穗 --guide-pool --top 5\n```\n\n> 💡 **팁**: 모든 명령은 skill 디렉터리에서 실행하고, `-X utf8 -u`를 함께 사용해야 합니다(Windows에서 한중일/emoji 출력에 필요).\n\n---\n\n## 🧠 파티 편성 엔진 사용법\n\n### 두 캐릭터 평가\n\n```bash\npython -X utf8 -u scripts/wikiquery.py pair 穗穗 洛瑟菈\n```\n\n5개 차원 각 20점: 효과 시너지 / 아웃트로 스킬 매칭 / 포지션 보완 / 에코 연계 / 트리거 사이클. 80점 이상이면 높은 적합도.\n\n### 캐릭터 풀로 팀 구성\n\n```bash\npython -X utf8 -u scripts/wikiquery.py team 穗穗 --pool 洛瑟菈,今汐,秧秧 --top 3   # 지정 풀\npython -X utf8 -u scripts/wikiquery.py team 穗穗 --all --top 5                    # 전체 60명 열거\npython -X utf8 -u scripts/wikiquery.py team 穗穗 --guide-pool --top 5             # 공략 교차 검증으로 풀 자동 보충\n```\n\n각 팀에는 출처가 표시됩니다: 🟢 공략 실증 / 🟡 혼합 / 🔵 엔진 추론, 그리고 검증을 위해 클릭할 수 있는 📚 공략 URL이 함께 제공됩니다.\n\n### LLM 정밀 정렬(가장 정확한 편성)\n\n```bash\n# 1단계: 규칙 기반 1차 후보 필터(초 단위)\npython -X utf8 -u scripts/wikiquery.py candidates 绯雪 --guide-pool\n\n# 2단계: 후보 팀 + 세 캐릭터 6차원 전체 프로필 가져오기(출력이 크므로 파일로 리다이렉트)\npython -X utf8 -u scripts/wikiquery.py team 绯雪 --pool 千咲,维里奈,穗穗 --profile --top 10 > %TEMP%\\team_profile.txt\n```\n\nClaude가 실제 프로필 데이터를 바탕으로 팀별 6차원 정밀 정렬을 수행하여, \"메커니즘 버프\", \"협주 서브딜러\" 등 규칙으로 판별하기 어려운 포지션을 식별합니다.\n\n---\n\n## 🔐 개인정보 및 데이터 안내\n\n> ⚠️ **꼭 읽어 주세요** — 이 스킬에는 계정 데이터를 읽는 로그인 기능이 포함되어 있습니다.\n\n- **WIKI 조회(`tree`/`list`/`detail`/`search`/`probe`/`pair`/`team`)**: 전부 **공개·인증 없는** API를 사용하며, **로그인이 필요 없고** 개인 데이터와 관련이 없습니다.\n- **「내 계정」기능(`my login`/`my roles`/`my team`/`my sync`)**: 브라우저에서 직접 쿠로블록스에 로그인해야 합니다. 로그인 후 다음 데이터는 **로컬** `~/.kurobbs-wiki-cache/`에 저장됩니다:\n  - `account.json` — 로그인 token + 내 캐릭터 목록\n  - `role_details/` — 각 캐릭터의 공명 체인 해금, 실제 무기/에코, 스킬 레벨, 패널\n- **이 데이터는 로컬에만 저장되며 어떤 서버에도 업로드되지 않습니다.** token은 약 45분 후 만료되며, `my renew`로 갱신할 수 있습니다.\n- 이 스킬은 **로그인하지 않은 상태에서** 내 계정 캐릭터를 추측하거나 위조하지 않으며, 제3자에게 계정 데이터를 보내지 않습니다.\n\n**완전히 오프라인/비로그인으로 사용하려면**: `tree`/`search`/`detail`/`probe`/`pair`/`team`만 쓰면 되며, `my` 계열 명령은 전혀 필요 없습니다.\n\n---\n\n## 📚 디렉터리 구조\n\n```\nkurobbs-wiki/\n├── SKILL.md               # Skill 지침(트리거 조건, 명령 빠른 참조, 워크플로, 핵심 함정)\n├── README.md              # 이 파일(사용자용)\n├── PUBLISHING.md          # 출시 작업 체크리스트(작성자 전용, 사용자는 볼 필요 없음)\n├── _meta.json             # skill 메타데이터\n├── references/\n│   └── catalogue-map.md   # 분류 ID 매핑 빠른 참조표(170+ 노드)\n└── scripts/\n    ├── wikiquery.py       # 메인 CLI(tree/list/detail/search/probe/pair/team/candidates/my) 순수 표준 라이브러리\n    ├── post_fetch.py      # 커뮤니티 게시물 미디어 가져오기(Playwright로 WAF 우회)\n    └── kuro_login.py      # 쿠로블록스 로그인(브라우저 상호작용)\n```\n\n---\n\n## ⚠️ 알려진 제한 사항\n\n- **비공개 API, 공식 문서 없음**: 필드 구조가 쿠로블록스 개편에 따라 바뀔 수 있습니다. 오류 발생 시 먼저 `tree --refresh`로 디렉터리 트리를 다시 가져오세요.\n- **저빈도 사용**: 공개·인증 없는 인터페이스이므로 잦은 요청은 리스크 관리를 유발할 수 있으며, 스크립트에 0.05초 속도 제한이 내장되어 있습니다.\n- **분류 동적 변화**: 게임 업데이트로 신규 버전 활동 분류가 추가되며, 새 콘텐츠가 검색되지 않으면 `list <분류> --refresh` 또는 `tree --refresh`를 사용하세요.\n- **공략 항목은 \"플레이스홀더 카드\"**: `detail <5자리 id>`가 2031을 반환할 수 있으며, 내장된 실제 entryId를 얻으려면 `search --preview`를 사용해야 합니다(이는 구조이지 버그가 아닙니다).\n- **Windows에서는 반드시 `-X utf8 -u` 필요**: 그렇지 않으면 한중일/emoji 출력이 GBK 인코딩에서 크래시합니다.\n\n---\n\n## 🧾 라이선스\n\n[MIT](LICENSE)\n\n---\n\n## 🙏 마음에 드신다면, 더 많은 사람에게 알려 주세요\n\n이 스킬이 유용하다고 느껴지신다면 명조를 하는 친구에게 공유하거나, 여러분의 skill 마켓에 등록해 주세요.\n\n설치 명령:\n\n```bash\nnpx skills add Alphamancer/kurobbs-wiki\n```\n\n---\n\n## 🤝 기여\n\nissue와 PR을 환영합니다. 개발 시 주의사항:\n\n- 수정 후 `python -X utf8 -c \"import py_compile; py_compile.compile('scripts/wikiquery.py', doraise=True)\"`를 실행해 문법을 검증하세요\n- `wikiquery.py`를 순수 표준 라이브러리로 유지하세요(`post` 하위 명령 제외), 조회 메인 흐름에 제3자 의존성을 추가하지 마세요\n- SKILL.md의 「핵심 함정」과 「알려진 카드 포인트 빠른 참조」 규약을 준수하세요\n\nFile v0.1.0:skill-card.md\n\n## Description:\n\nQueries Kuro BBS Wuthering Waves wiki content and account character data so an agent can answer catalogue, guide, character profile, media-post, and team-building questions.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[alphamancer](https://clawhub.ai/user/alphamancer)\n\n### License/Terms of Use:\n\nMIT\n\n## Use Case:\n\nExternal users and game-assistant developers use this skill to retrieve Wuthering Waves wiki entries, strategy material, and team recommendations through Kuro BBS workflows. Users who opt into the account flow can use their own Kuro BBS character roster for personalized team guidance.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The account features store and can display Kuro BBS login tokens and character data in local plaintext cache files.\n\nMitigation: Use wiki-only commands when account access is not needed, avoid printing raw account data, and delete the local Kuro BBS cache after account-assisted workflows.\n\nRisk: The post-media workflow uses browser automation to retrieve protected community post media and may contact additional services.\n\nMitigation: Review media-fetch commands before execution, run them in a controlled environment, and install dependencies such as Playwright and ffmpeg only from trusted, pinned sources.\n\n## Reference(s):\n\n- [Server-resolved source repository](https://github.com/Alphamancer/kurobbs-wiki)\n- [ClawHub skill page](https://clawhub.ai/alphamancer/skills/kurobbs-wiki)\n- [Catalogue map reference](references/catalogue-map.md)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, JSON, Shell commands, Guidance]\n\n**Output Format:** [Markdown summaries, command-line text, JSON data, and media URLs or downloaded local media when requested]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Some account and cache data may be stored locally under the user's Kuro BBS cache directory.]\n\n## Skill Version(s):\n\n0.1.0 (source: release metadata and SKILL.md frontmatter)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v0.1.0:LICENSE\n\nMIT License\n\nCopyright (c) 2026 VBBB\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","readmeExcerpt":"Skill: kurobbs-wiki Owner: alphamancer Summary: 库街区（kurobbs）鸣潮 WIKI 资料查询 + 查看自己账号角色。当用户询问鸣潮（游戏）的角色/共鸣者、武器、武器投影、声骸、合鸣效果、敌人、全息战略、合成道具、任务/活动/特殊道具、补给、资源、素材、角色攻略、玩法攻略、区域探索、新手入门、版本攻略等图鉴或攻略信息时使用；也可通过 my 命令登录库街区账号查看自己拥有的角色（my roles）、用自己角色配队（my team）。可列出分类下的条目、获取词条详情、按名称搜索词条，全部通过公开 JSON API 查询。★ 注意：鸣潮 WIKI 查询无需登录；但查\"我有什么角色/我的账号角色\"需要 my login 登录一次。 Tags: latest:0.1.0 Version history: v0.1.0 | 2026-08-14T18:29:34.099Z | auto ku","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"# Windows 示例：SKILL_DIR=D:\\tools\\kurobbs-wiki（占位路径，改成实际目录）\n# macOS / Linux 示例：export SKILL_DIR=~/tools/kurobbs-wiki\nSKILL_DIR=<kurobbs-wiki 所在目录的绝对路径>\n\n# 1. 目录树（分类ID映射，缓存在 ~/.kurobbs-wiki-cache/）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py tree\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py tree --refresh   # 分类有变化时刷新\n\n# 2. 列出分类下的条目（按分类名或ID）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py list 共鸣者\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py list 1105 --page 2 --size 50\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py list 1629 --images   # ★ 输出每条攻略的封面图 URL + 正文 entryId + 帖子ID（社区帖封面在 wikiPostList[].cover；帖子类型需用 post 查，1=图片帖 2=视频帖）\n\n# 2b. 获取社区帖子媒体（★ 一图流攻略的精华在正文图片/封面/视频，需绕过 WAF 用 Playwright）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py post <帖子ID>                # 帖子媒体（图片/封面/视频地址，来自 list --images 的 帖子ID）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py post <帖子ID> --images-only  # 只输出图片/封面 URL 列表\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py post <帖子ID> --json         # 完整结构化（含正文/点赞/评论/postType）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py post <帖子ID> --download --dir <目录>  # ★ 下载图片/封面到本地（视频 m3u8 仅给地址）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py post <帖子ID> --download-video --dir <目录>  # ★ 用 ffmpeg 下载 m3u8 视频为本地 mp4（ffmpeg 不可用则回退打印地址）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py post https://www.kurobbs.com/mc/post/1532380644336037888  # 直接传帖子 URL\n# 帖子类型：postType=1 图片帖（图在 postContent[].url）；postType=2 视频帖（m3u8 从 DOM 抓，封面在 coverImages）\n# 依赖：pip install playwright && playwright install chromium（post 命令首次使用需安装）\n\n# 3. 获取词条详情（entryId 从 list 输出取）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py detail 1519669262123954176\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py detail 1519669262123954176 --json   # 完整结构化内容\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py detail 1519669262123954176 --render # ★ Markdown 攻略排版（推荐：角色/武器/道具/攻略通用）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py detail 1519669262123954176 --section 角色突破材料   # "},{"language":"bash","snippet":"# 步骤1: 下载图片/封面到本地临时目录\n     python -X utf8 -u $SKILL_DIR/scripts/wikiquery.py post <帖子ID> --download --dir %TEMP%\\kurobbs_media\n     # 步骤2: 如果视频帖(postType=2)，下载视频为本地 mp4\n     python -X utf8 -u $SKILL_DIR/scripts/wikiquery.py post <帖子ID> --download-video --dir %TEMP%\\kurobbs_media"},{"language":"bash","snippet":"# 例：任意支持图片输入的 AI 服务 / OCR 工具（如 tesseract）\n        python <识别脚本路径> --file \"<本地图片路径>\" --prompt \"提取这张攻略图的全部文字内容\""},{"language":"text","snippet":"| 排名 | 队伍 | 评分 | 来源 | 来源链接 |\n| 🥇 | 绯雪+穗穗+洛瑟菈 | 92 | 🟡混合 | https://wiki.kurobbs.com/mc/item/1505630022798249984 |"},{"language":"bash","snippet":"python -X utf8 -u $SKILL_DIR/scripts/wikiquery.py candidates 绯雪 --guide-pool"},{"language":"bash","snippet":"python -X utf8 -u $SKILL_DIR/scripts/wikiquery.py team 绯雪 --pool 千咲,维里奈,穗穗 --profile --top 10\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py my team 绯雪 --guide-pool --profile --top 5"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: kurobbs-wiki\ndescription: 库街区（kurobbs）鸣潮 WIKI 资料查询 + 查看自己账号角色。当用户询问鸣潮（游戏）的角色/共鸣者、武器、武器投影、声骸、合鸣效果、敌人、全息战略、合成道具、任务/活动/特殊道具、补给、资源、素材、角色攻略、玩法攻略、区域探索、新手入门、版本攻略等图鉴或攻略信息时使用；也可通过 my 命令登录库街区账号查看自己拥有的角色（my roles）、用自己角色配队（my team）。可列出分类下的条目、获取词条详情、按名称搜索词条，全部通过公开 JSON API 查询。★ 注意：鸣潮 WIKI 查询无需登录；但查\"我有什么角色/我的账号角色\"需要 my login 登录一次。\nlicense: MIT\nmetadata:\n  author: \"VBBB\"\n  version: 0.1.0\n  tags: [wuthering-waves, kurobbs, wiki, game, gacha, team-builder, 鸣潮, 库街区]\n  compatibility: [any-agent-skill] # SKILL.md 是开放标准，兼容所有支持 agent skill 的 AI（Claude/Cursor/Copilot/Gemini/OpenClaw 等）\n  language: [zh-CN]\n---\n\n# 库街区鸣潮 WIKI 查询\n\n通过库街区公开 API 直接查询鸣潮 WIKI 内容（人物、武器、道具、攻略），代替人工浏览页面。\n\n## 触发条件\n\n用户提到以下任一关键词时激活：鸣潮 / 库街区 / 共鸣者 / 声骸 / 武器 / 武器投影 / 合鸣效果 / 全息战略 / 道具 / 材料 / 素材 / 角色攻略 / 攻略。\n\n**★ 以下关键词也触发本 skill（查自己账号角色）**：我的角色 / 我有什么角色 / 我的账号 / 我的号 / 我拥有的角色 / 我的角色池 / 看我有哪些角色 / 鸣潮账号。当用户问\"我有什么角色/我的账号角色\"时，用 `my roles` 查看（需先 `my login` 登录），不要回答\"我无法访问你的账号\"——`my roles` 能读到你的真实角色。\n\n## 命令速查（在 skill 目录下执行）\n\n> 先把 `SKILL_DIR` 设为本地 skill 目录的**绝对路径**（含 `scripts/` 的父目录）。以下所有命令均可直接复制执行。\n\n```bash\n# Windows 示例：SKILL_DIR=D:\\tools\\kurobbs-wiki（占位路径，改成实际目录）\n# macOS / Linux 示例：export SKILL_DIR=~/tools/kurobbs-wiki\nSKILL_DIR=<kurobbs-wiki 所在目录的绝对路径>\n\n# 1. 目录树（分类ID映射，缓存在 ~/.kurobbs-wiki-cache/）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py tree\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py tree --refresh   # 分类有变化时刷新\n\n# 2. 列出分类下的条目（按分类名或ID）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py list 共鸣者\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py list 1105 --page 2 --size 50\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py list 1629 --images   # ★ 输出每条攻略的封面图 URL + 正文 entryId + 帖子ID（社区帖封面在 wikiPostList[].cover；帖子类型需用 post 查，1=图片帖 2=视频帖）\n\n# 2b. 获取社区帖子媒体（★ 一图流攻略的精华在正文图片/封面/视频，需绕过 WAF 用 Playwright）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py post <帖子ID>                # 帖子媒体（图片/封面/视频地址，来自 list --images 的 帖子ID）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py post <帖子ID> --images-only  # 只输出图片/封面 URL 列表\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py post <帖子ID> --json         # 完整结构化（含正文/点赞/评论/postType）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py post <帖子ID> --download --dir <目录>  # ★ 下载图片/封面到本地（视频 m3u8 仅给地址）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py post <帖子ID> --download-video --dir <目录>  # ★ 用 ffmpeg 下载 m3u8 视频为本地 mp4（ffmpeg 不可用则回退打印地址）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py post https://www.kurobbs.com/mc/post/1532380644336037888  # 直接传帖子 URL\n# 帖子类型：postType=1 图片帖（图在 postContent[].url）；postType=2 视频帖（m3u8 从 DOM 抓，封面在 coverImages）\n# 依赖：pip install playwright && playwright install chromium（post 命令首次使用需安装）\n\n# 3. 获取词条详情（entryId 从 list 输出取）\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py detail 1519669262123954176\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py detail 1519669262123954176 --json   # 完整结构化内容\npython -X utf8 -u $SKILL_DIR/scripts/wikiquery.py detail 1519669262123954176 --render # ★ Markdown 攻略排版（推荐：角色/武器/道具/攻略通用）\npython -X utf8 -u $SKILL_DIR/sc"},{"path":"README.md","content":"# 🌊 kurobbs-wiki — 库街区鸣潮 WIKI 查询 + 配队助手\n\n> 🌍 **Read this in** · [English](README.en.md) · [日本語](README.ja.md) · [한국어](README.ko.md) · [中文](README.md)\n\n一个遵循 **Agent Skill 开放标准**（SKILL.md）的通用技能，直接通过库街区（kurobbs）公开 API 查询鸣潮（Wuthering Waves）的图鉴、攻略与角色资料，并内置**机制画像 + 配队引擎**，还能登录你自己的库街区账号、用真实角色池组队。支持任意能加载 Agent Skill 的 AI（Claude、Cursor、Copilot、Gemini、OpenClaw 等）。\n\n> 本项目灵感来自日常打鸣潮时\"查角色攻略、配队要靠一个个翻网页\"的痛点，做成一个 skill 就能在对话里直接问。\n\n---\n\n## ✨ 功能一览\n\n| 模块 | 命令 | 说明 |\n|------|------|------|\n| 🔍 目录/列表 | `tree` / `list` | 分类目录树（170+ 节点）+ 分类下条目 |\n| 📖 词条详情 | `detail` | 角色/武器/道具/攻略详情，支持 `--render` Markdown 排版、`--section` 精确取段 |\n| 🔎 名称搜索 | `search` | 跨分类搜索，自动遍历三级子分类 |\n| 🖼️ 社区帖媒体 | `post` | 绕过 WAF 抓一图流/视频帖的图片、封面、m3u8 视频 |\n| 🧠 机制画像 | `probe` | 6 维度机制档案（效应/增益/流派/技能/声骸/武器） |\n| 🤝 配对引擎 | `pair` / `team` | 双角色 5 维兼容评分、池选队、全量 60 人枚举、攻略交叉验证补池 |\n| 🎯 LLM 精排 | `candidates` + `--profile` | 规则粗筛候选 + LLM 逐队精排（配队最准） |\n| 👤 我的账号 | `my` | 登录库街区、查真实角色、用自己角色配队、token 续期 |\n\n---\n\n## 📦 安装\n\n### 方式一：从本地目录安装（最简）\n\n把本仓库 `kurobbs-wiki/` 目录放入你的 AI 的 skills 目录（Claude Code、Cursor、Copilot 等均支持），或在支持该目录的 agent 中：\n\n```bash\n# 将 SKILL_DIR 指向本仓库根目录的绝对路径\n# Windows 示例\nset SKILL_DIR=D:\\tools\\kurobbs-wiki\n\n# macOS / Linux 示例\nexport SKILL_DIR=~/tools/kurobbs-wiki\n```\n\n### 方式二：通过 npx skills（若已收录到市场后）\n\n```bash\nnpx skills add Alphamancer/kurobbs-wiki\n```\n\n> 发布后即可通过市场一键安装，详见下方「发布与收录」。\n\n### 依赖\n\n- **Python 3.8+**（纯标准库，`wikiquery.py` 无第三方依赖）\n- **Playwright**（仅 `post` 抓取社区帖媒体时需要）\n  ```bash\n  pip install playwright && playwright install chromium\n  ```\n- **ffmpeg**（可选，`--download-video` 下载 m3u8 视频为 mp4 时用）\n\n---\n\n## 🚀 快速上手\n\n```bash\ncd $SKILL_DIR\n\n# 1. 初始化目录树（缓存到 ~/.kurobbs-wiki-cache/）\npython -X utf8 -u scripts/wikiquery.py tree\n\n# 2. 搜索角色\npython -X utf8 -u scripts/wikiquery.py search 穗穗 --preview --limit 3\n\n# 3. 取攻略正文某小节\npython -X utf8 -u scripts/wikiquery.py detail <previewEntryId> --section \"编队&队伍轴推荐\"\n\n# 4. 机制画像 + 配队\npython -X utf8 -u scripts/wikiquery.py probe 穗穗\npython -X utf8 -u scripts/wikiquery.py team 穗穗 --pool 洛瑟菈,今汐,秧秧 --top 3\n\n# 5. 登录你的账号，用真实角色配队\npython -X utf8 -u scripts/wikiquery.py my login    # 浏览器里填手机号→拖滑块→填验证码\npython -X utf8 -u scripts/wikiquery.py my roles\npython -X utf8 -u scripts/wikiquery.py my team 穗穗 --guide-pool --top 5\n```\n\n> 💡 **提示**：所有命令都应在 skill 目录下执行，且带上 `-X utf8 -u`（Windows 下中文/emoji 输出需要）。\n\n---\n\n## 🧠 配队引擎怎么用\n\n### 双角色评分\n\n```bash\npython -X utf8 -u scripts/wikiquery.py pair 穗穗 洛瑟菈\n```\n\n5 维度各 20 分：效应协同 / 延奏匹配 / 定位互补 / 声骸联动 / 触发闭环。≥80 高度契合。\n\n### 从角色池组队\n\n```bash\npython -X utf8 -u scripts/wikiquery.py team 穗穗 --pool 洛瑟菈,今汐,秧秧 --top 3   # 指定池子\npython -X utf8 -u scripts/wikiquery.py team 穗穗 --all --top 5                    # 全量枚举 60 人\npython -X utf8 -u scripts/wikiquery.py team 穗穗 --guide-pool --top 5             # 攻略交叉验证自动补池\n```\n\n每个队伍会标注来源：🟢 攻略实锤 / 🟡 混合 / 🔵 引擎推断，并附 📚 攻略 URL 供你点击验证。\n\n### LLM 精排（配队最准）\n\n```bash\n# 步骤 1：规则粗筛候选池（秒级）\npython -X utf8 -u scripts/wikiquery.py candidates 绯雪 --guide-pool\n\n# 步骤 2：拿候选队伍 + 三角色六维度完整画像（输出很大，重定向到文件）\npython -X utf8 -u scripts/wikiquery.py team 绯雪 --pool 千咲,"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7fy8bsrjtfamne2s3bm2v05d8cfd47\",\n  \"slug\": \"kurobbs-wiki\",\n  \"version\": \"0.1.0\",\n  \"publishedAt\": 1786732174099\n}"},{"path":"references/catalogue-map.md","content":"# 鸣潮 WIKI 分类 ID 映射速查表\n\n> 完整 170 节点映射表用 `python -X utf8 -u scripts/wikiquery.py map --markdown` 实时生成（缓存于 `~/.kurobbs-wiki-cache/`）。\n> 下表为最常用分类，实际查询时可用 `tree` 命令确认。三级分类（角色攻略/玩法攻略/区域探索）可**直接用名字解析**：`list 穗穗`、`list 幻痛`、`list 七丘`。\n\n## 游戏图鉴（父级 id=1099）\n\n| 分类 | ID | 说明 |\n|------|-----|------|\n| 共鸣者 | 1105 | 角色图鉴（穗穗/爱弥斯/秧秧…60+ 角色） |\n| 武器 | 1106 | 武器图鉴 |\n| 武器投影 | 1315 | 武器外观 |\n| 声骸 | 1107 | 声骸图鉴 |\n| 合鸣效果 | 1219 | 套装效果 |\n| 敌人 | 1158 | 敌人图鉴 |\n| 全息战略 | 1313 | 高难挑战 |\n| 可合成道具 | 1264 | 合成产物 |\n| 道具合成图纸 | 1265 | 合成配方 |\n| 任务道具 | 1130 | 任务相关 |\n| 活动道具 | 1360 | 活动相关 |\n| 特殊道具 | 1223 | 特殊物品（如 穗穗的回音频段） |\n| 补给 | 1217 | 补给品 |\n| 资源 | 1161 | 资源 |\n| 素材 | 1218 | 养成素材 |\n| 声骸换影 | 1518 | 声骸外观 |\n| 羁旅印章 / 头像 / 称号 / 飞讯装饰 / 摩托外观 | 1350 / 1363 / 1614 / 1613 / 1523 | 收集品 |\n\n## 攻略合集（父级 id=1322）\n\n### 角色攻略（id=1384）— 三级子分类 = 每个角色\n\n| 角色 | ID | 角色 | ID |\n|------|-----|------|-----|\n| 穗穗 | 1629 | 秧秧·玄翎 | 1622 |\n| 漂泊者·导电 | 1623 | 爱弥斯 | 1536 |\n| 洛瑟菈 | 1615 | 露西 | 1612 |\n| 丽贝卡 | 1611 | 达妮娅 | 1604 |\n| 绯雪 | 1533 | 西格莉卡 | 1534 |\n| 陆·赫斯 | 1535 | 莫宁 | 1569 |\n| 琳奈 | 1537 | 千咲 | 1571 |\n| 卜灵 | 1587 | 仇远 | 1570 |\n| 嘉贝莉娜 | 1572 | 尤诺 | 1588 |\n| 奥古斯塔 | 1589 | 弗洛洛 | 1590 |\n| 露帕 | 1591 | 卡提希娅 | 1592 |\n| 夏空 | 1593 | 赞妮 | 1594 |\n| 坎特蕾拉 | 1595 | 菲比 | 1596 |\n| 布兰特 | 1597 | 洛可可 | 1598 |\n| 珂莱塔 | 1599 | 灯灯 | 1600 |\n| 椿 | 1601 | 守岸人 | 1602 |\n| 釉瑚 | 1561 | 折枝 | 1562 |\n| 相里要 | 1563 | 长离 | 1564 |\n| 今汐 | 1565 | 吟霖 | 1566 |\n| 忌炎 | 1567 | 漂泊者-气动 | 1568 |\n| 漂泊者-湮灭 | 1539 | 漂泊者-衍射 | 1540 |\n| 鉴心 | 1538 | 卡卡罗 | 1541 |\n| 安可 | 1542 | 维里奈 | 1543 |\n| 凌阳 | 1544 | 秧秧 | 1545 |\n| 白芷 | 1546 | 炽霞 | 1547 |\n| 散华 | 1548 | 秋水 | 1549 |\n| 丹瑾 | 1550 | 莫特斐 | 1551 |\n| 渊武 | 1552 | 桃祈 | 1553 |\n\n### 玩法攻略（id=1383）— 三级子分类 = 玩法/副本\n\n| 玩法 | ID | 玩法 | ID |\n|------|-----|------|-----|\n| 悲鸣行动：无音危机 | 1625 | 全息战略·幻痛 | 1579 |\n| 幻梦游园 | 1577 | 深坠异想奇境·寻梦者 | 1617 |\n| 星弹奇游 | 1532 | 荣耀之丘：激斗重燃 | 1573 |\n| 偏谐机制 | 1574 | 穗波怪异物语 | 1575 |\n| 潮蚀模拟 | 1576 | 千道门扉的异想 | 1578 |\n| 失序梦途 | 1580 | 旌旗不落 | 1581 |\n| 激斗！向着荣耀之丘 | 1582 | 唯你的长夏永不凋落 | 1583 |\n| 团团团团转 | 1584 | 老人鱼海 | 1585 |\n| 浸梦海床 | 1586 | | |\n\n### 区域探索（id=1381）— 三级子分类 = 区域\n\n| 区域 | ID | 区域 | ID |\n|------|-----|------|-----|\n| 梦州 | 1624 | 夜之城 | 1618 |\n| 罗伊冰原 | 1531 | 拉海洛 | 1554 |\n| 桑古伊斯狩原 | 1555 | 七丘 | 1556 |\n| 阿维纽林 | 1557 | 黎那汐塔 | 1558 |\n| 黑海岸 | 1559 | 瑝珑 | 1560 |\n\n### 新手入门（id=1382）/ 版本攻略（id=1324）\n\n| 分类 | ID |\n|------|-----|\n| 新手入坑 | 1527 |\n| 角色抽取 | 1528 |\n| 战斗解析 | 1529 |\n| 版本攻略 | 1324 |\n\n## 其他合集\n\n| 分类 | ID | 说明 |\n|------|-----|------|\n| 活动合集 | 1293 | 按版本分（3.5=1621, 3.4=1610, 3.3=1524, 3.2=1519, 3.1=1470, 3.0=1447, 2.8=1368, 2.7=1361, 2.6=1353, 2.5=1352, 2.4=1338, 2.3=1337, 2.2=1335, 2.1=1329, 2.0=1327, 1.4=1311, 1.3=1307, 1.2=1304, 1.1=1302, 1.0=1294） |\n| 剧情合集 | 1328 | 潮汐=1330 / 伴星=1331 / 活动任务=1332 |\n| 任务合集 | 1249 | 任务列表 |\n| 成就合集 | 1314 | 成就 |\n| 影像收录 | 1292 | 版本PV=1348 / 共鸣者PV=1339 / 战斗演示=1340 / 剧情动画=1347 / 同人绘画=1343 / 壁纸=1342 / 表情包=1344 / 先约电台EP=1341 / OST=1346 / 其他影音=1286 |\n| 热门资讯 | 1287 | BOSS=1290 / 新手解析=1288 / 漂泊路书=1289 / 索拉里斯探索=1291 |\n| 游戏百科 | 1334 | 游戏机制=1460 / 教程百科=1463 / 名词注释=1607(背景1461/技能1462/活动1608) / 加载页面=1477"},{"path":"PUBLISHING.md","content":"# 📤 kurobbs-wiki 发布操作清单（作者专用）\n\n> 本文档是**作者本人**在发布/更新本 skill 到各市场时使用的操作清单。\n> 面向使用者/读者的内容请看 [README.md](README.md)，这里不放。\n\n---\n\n## ✅ 发布前检查（每次发布前过一遍）\n\n- [ ] `SKILL.md` frontmatter 完整：`name` / `description` / `license` / `metadata.author` / `metadata.version` / `metadata.tags` / `metadata.compatibility`\n- [ ] `README.md` 里的安装命令已用真实仓库名（`npx skills add <owner>/kurobbs-wiki` 的 `<owner>` 已替换）\n- [ ] `LICENSE` 文件存在，且与 `SKILL.md` 的 `license: MIT` 一致\n- [ ] `scripts/*.py` 语法通过：\n  ```bash\n  python -X utf8 -c \"import py_compile; py_compile.compile('scripts/wikiquery.py', doraise=True)\"\n  ```\n- [ ] 隐私检查：`.gitignore` 已排除 `__pycache__/` 和 `~/.kurobbs-wiki-cache/`（账号数据），确保不误传\n\n---\n\n## 🚀 推送到 GitHub\n\n本 skill 的公开仓库：`https://github.com/Alphamancer/kurobbs-wiki`\n\n独立仓库在本地 `temp/_kurobbs_release/`。每次改完源文件后，把改动的文件复制过去再推送：\n\n```bash\ncd \"D:\\BaiduSyncdisk\\agent demo2\\cogni-agent\\temp\\_kurobbs_release\"\ngit add -A\ngit commit -m \"更新说明\"\ngit push origin main\n```\n\n> ⚠️ 不要直接用 `git push` 推 cogni-agent 大仓库——市场以独立 skill 仓库为单位收录。\n\n---\n\n## 📦 提交到各市场\n\n| 平台 | 方式 | 说明 |\n|------|------|------|\n| **SkillsMP** | 放在 GitHub 后提交仓库 URL | 自动爬取 GitHub，2 星以上收录 |\n| **Skills.sh** | 放在 GitHub 后提交仓库 URL | 主分发枢纽，`npx skills add <owner>/<repo>` 收录 |\n| **ClawHub** | `clawhub.ai` 直接上传 | 支持中文，MIT 无审核门槛，最快见效果 |\n| **LobeHub** | `lobehub.com/zh` 提交 | 中文玩家为主，贴合鸣潮受众 |\n| **awesome-claude-skills** | 提 PR 收录 | 开源权威榜单，长期曝光 |\n\n安装命令统一：`npx skills add Alphamancer/kurobbs-wiki`\n\n---\n\n## 🔄 更新流程（skill 改版后）\n\n1. 在 `skills/kurobbs-wiki/` 里改源文件（走 self-modify）\n2. 复制改动的文件到 `temp/_kurobbs_release/`\n3. `git add -A && git commit && git push origin main`\n4. 各市场会自动抓取 GitHub 更新（ClawHub 等需手动重传的另说）\n\n---\n\n## ⚠️ 已知注意事项\n\n- **私有 API 无官方文档**：库街区字段可能随版本变化，更新前先 `tree --refresh` 确认 API 仍可用。\n- **别把密钥写进脚本**：目前脚本用公开无鉴权 API，无密钥风险；若以后加登录凭据，务必用环境变量，绝不硬编码。"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"库街区（kurobbs）鸣潮 WIKI 资料查询 + 查看自己账号角色。当用户询问鸣潮（游戏）的角色/共鸣者、武器、武器投影、声骸、合鸣效果、敌人、全息战略、合成道具、任务/活动/特殊道具、补给、资源、素材、角色攻略、玩法攻略、区域探索、新手入门、版本攻略等图鉴或攻略信息时使用；也可通过 my 命令登录库街区账号查看自己拥有的角色（my roles）、用自己角色配队（my team）。可列出分类下的条目、获取词条详情、按名称搜索词条，全部通过公开 JSON API 查询。★ 注意：鸣潮 WIKI 查询无需登录；但查\"我有什么角色/我的账号角色\"需要 my login 登录一次。 Skill: kurobbs-wiki Owner: alphamancer Summary: 库街区（kurobbs）鸣潮 WIKI 资料查询 + 查看自己账号角色。当用户询问鸣潮（游戏）的角色/共鸣者、武器、武器投影、声骸、合鸣效果、敌人、全息战略、合成道具、任务/活动/特殊道具、补给、资源、素材、角色攻略、玩法攻略、区域探索、新手入门、版本攻略等图鉴或攻略信息时使用；也可通过 my 命令登录库街区账号查看自己拥有的角色（my roles）、用自己角色配队（my team）。可列出分类下的条目、获取词条详情、按名称搜索词条，全部通过公开 JSON API 查询。★ 注意：鸣潮 WIKI 查询无需登录；但查\"我有什么角色/我的账号角色\"需要 my login 登录一次。 Tags: latest:0.1.0 Version history: v0.1.0 | 2026-08-14T18:29:34.099Z | auto ku","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":888,"uniquenessScore":62,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T07:04:28.845Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T07:04:28.845Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T10:43:50.024Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}