[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-minimax-github-explore":3,"mdc--rjhhmr-key":34,"related-repo-minimax-github-explore":3641,"related-org-minimax-github-explore":3728},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":29,"sourceUrl":32,"mdContent":33},"github-explore","explore and audit GitHub repositories","Use when the user wants to search\u002Fdiscover\u002Fsummarize\u002Faudit GitHub (find repos about X, explore a topic's landscape, what's trending, repo overview, similar projects, code search, issue\u002FPR search, org audit) or run gh CLI operations. Prefer scripts\u002F for discovery; raw gh commands for management ops.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"minimax","MiniMax","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fminimax.jpg","MiniMax-AI",[13,17,20],{"name":14,"slug":15,"type":16},"Research","research","tag",{"name":18,"slug":19,"type":16},"GitHub","github",{"name":21,"slug":22,"type":16},"Code Analysis","code-analysis",5,"https:\u002F\u002Fgithub.com\u002FMiniMax-AI\u002FMiniMax-Code-Plugins","2026-08-18T03:49:39.302333","MIT",2,[],{"repoUrl":24,"stars":23,"forks":27,"topics":30,"description":31},[],"Community registry and contribution toolkit for MiniMax Code plugins.","https:\u002F\u002Fgithub.com\u002FMiniMax-AI\u002FMiniMax-Code-Plugins\u002Ftree\u002FHEAD\u002Fplugins\u002FFectivnfy112357\u002Fgithub-explore\u002Fskills\u002Fgithub-explore","---\nname: github-explore\ndescription: \"Use when the user wants to search\u002Fdiscover\u002Fsummarize\u002Faudit GitHub (find repos about X, explore a topic's landscape, what's trending, repo overview, similar projects, code search, issue\u002FPR search, org audit) or run gh CLI operations. Prefer scripts\u002F for discovery; raw gh commands for management ops.\"\nversion: 2.1.0\nauthor: Fectivnfy112357\nlicense: MIT\n---\n\n# GitHub CLI (gh) + Discovery Scripts\n\n## Overview\n\n两个层：`scripts\u002F` 里 9 个 Python 脚本负责**搜索\u002F发现\u002F审计**（统一过滤 fork\u002Farchived、默认 star 下限、智能去重、relevance 排序、分层摘要+落盘），直接调用 `gh` 负责**管理操作**（建 repo、提 PR、改 label、跑 workflow 等）。脚本已做搜索 gotchas 处理，发现类请求优先用脚本。\n\n所有脚本输出格式 `--format {table,json,markdown}`，**默认 markdown**（分层摘要 + 落盘），`json` 供管道处理，`table` 窄终端 ASCII 视图。注意：**不会**因为 stdout 被管道就自动切 JSON——要 JSON 必须显式 `--format json`（见 Common Pitfalls #1）。\n\n## 安全边界（Security boundaries）\n\n- **默认只读**：9 个发现类脚本（find_repos \u002F discover \u002F explore \u002F trending \u002F repo_summary \u002F find_similar \u002F code_search \u002F search_issues \u002F org_landscape）只读，不改远端状态。\n- **写操作需确认**（**全 `commands-*.md` 适用**，含 `commands-auth-config.md` 与 `commands-search-format.md`）：管理类 `gh` 写命令会改变**远端状态、本机凭据或配置**。执行前必须向用户明确：**目标**（哪个 repo \u002F org \u002F 资源 \u002F host）、**影响范围**（改什么、是否可逆、是否触发下游）、**最小改动数据**，并得到**明确确认**后再执行。未经确认绝不执行写操作。具体适用范围与例外见 [references\u002FSECURITY-NOTES.md](references\u002FSECURITY-NOTES.md)。\n  - 远端写：create \u002F update \u002F delete \u002F close \u002F merge \u002F dispatch \u002F rerun \u002F cancel \u002F set-default \u002F fork \u002F deploy-key …\n  - 凭据写（`commands-auth-config.md`）：`gh auth login\u002Flogout\u002Fswitch\u002Fsetup-git\u002Frefresh --scopes …`——影响本机 git credential helper 与 token scopes，`refresh --scopes` 是**权限提升**。\n  - 配置写（`commands-auth-config.md`）：`gh config set …` \u002F `gh config clear-cache`——改 `~\u002F.config\u002Fgh\u002F`。\n  - API mutation（`commands-search-format.md`）：`gh api --method POST|PUT|DELETE|PATCH …`；`gh api graphql` 中含 `mutation` 的 query——可触达任意 GitHub 资源（含 admin endpoint），影响面比 `gh issue` \u002F `gh pr` 子命令更广。\n- **禁止回显 token**：认证诊断只用 `gh auth status`（不回显 token）。禁用 `gh auth token`、`gh auth status --show-token`、`--with-token` 注入；`GH_TOKEN` 仅用于自动化（CI），不得打印到 transcript。\n- **错误脱敏（honest scope）**：9 个发现脚本内部走 `_lib.warn\u002Fdie()` 的 `redact_secrets()` 路径，自动遮 `ghp_*` \u002F `github_pat_*` \u002F `Bearer *` \u002F `token=*` \u002F `GH_TOKEN=*` \u002F `GITHUB_TOKEN=*` 形态。**但 agent 在 Bash 工具里直接跑 `gh …` 时，stderr 不经过 Python wrapper，原样进 transcript**——分享前手动管道 `gh \u003Ccmd> 2>&1 | python scripts\u002Fredact_stderr.py`。脱敏是 best-effort，非常规 token 形态仍可能漏出。\n- **`GH_HOST` \u002F GitHub Enterprise 风险**：`GH_HOST` 会切换所有 `gh` 子命令的 API 流量目的地（纯 git 操作如 `git push` 不受 `GH_HOST` 影响，跟 `git remote` 走）；默认 `github.com`。切到 GHES on-prem（`github.acme.com`）必须用 `GH_ENTERPRISE_TOKEN` 而非 `GH_TOKEN`；切到 GHEC 租户（`*.ghe.com`）用 `GH_TOKEN`。`--hostname` 不是全局 flag，只在 `auth` \u002F `api` \u002F `attestation` 等约 11 个子命令上存在；通用切换姿势是 `GH_HOST=... gh \u003Ccmd>` 或 `gh auth switch --hostname X`。`gh auth status` 默认枚举所有已认证 host，不是只校验当前。skill 不限制、不校验、不警告 host 值——用户负责确保目的地正确；跨 host 误调用 = 跨凭据泄漏（写错组织的 issue \u002F 错仓库开 PR \u002F 错 token 触发 GHES workflow）。\n\n## When to Use\n\n- 「找 X 相关的 repo」「search repos about Y」→ `find_repos.py`\n- 「摸清 X 领域全貌」「map out the field」→ `discover.py`（快）或 `explore.py`（有目的地多维度）\n- 「最近热门 \u002F trending」→ `trending.py`\n- 「这个 repo 怎么样 \u002F overview」→ `repo_summary.py`\n- 「跟 X 类似 \u002F alternatives」→ `find_similar.py`\n- 「找代码片段 \u002F where is pattern used」→ `code_search.py`\n- 「找 issue\u002FPR」→ `search_issues.py`\n- 「审计整个 org \u002F 按语言\u002F活跃度\u002F主题分组」→ `org_landscape.py`\n- 「建 repo \u002F 提 PR \u002F 改 label \u002F 跑 workflow」→ 直接 `gh`（命令索引见 references\u002F 下的 commands-* 系列，按类型查）；**写操作执行前必须明确目标\u002F影响\u002F最小数据并得到用户确认（见「安全边界」）**\n- 不要用脚本做：管理类写操作（创建\u002F修改\u002F删除）。\n\n## When to use which script — the deeper logic\n\n- **单维问题**（搜 repo \u002F 看 repo \u002F 找 issue）→ 单发脚本。`find_repos.py` 是默认起点。\n- **多词自由文本**：`find_repos` 默认跑**双 scope**（`in:readme` + 默认 scope）再 union，用「star 数 + 软 relevance 加成」排序——没有这个，高星通用 repo（如 ollama 之于 \"observability platform\"）会挤掉更对题的小项目。`--no-semantic` 关掉回到单搜索。\n- **稀疏结果**：`find_repos` 返回 \u003C5 且无 narrowing qualifier 时，stderr 会提示改用 `explore.py` 配显式 axes——概念型主题单轴搜覆盖不了。\n- **数据驱动拓主题**：`discover.py` 从 seed 结果自动挖 topics 再逐个搜。快、便宜，但质量取决于 seed 是否干净。适合没有清晰维度概念时。\n- **有目的地语义探索**（\"map multi-agent collaboration\"）→ `explore.py` + 内联 axes。agent 决定维度，脚本并行执行并输出软验证信号（awesome 交叉、跨轴计数、canonical 召回）。字段级探索用这个。\n- `discover` 机会主义快；`explore` 刻意广。默认决策：先 `find_repos`，稀疏或多维就升级 `explore`。\n\n## Quick start\n\n```bash\n# 搜索（多词自由文本自动双 scope + relevance）\npython scripts\u002Ffind_repos.py \"vector database\" --language python --min-stars 500\n\n# 自动拓主题（快）\npython scripts\u002Fdiscover.py \"agent framework\" --depth 6 --per-topic 5\n\n# 有目的地多维度探索（inline axes，agent 定维度）\npython scripts\u002Fexplore.py \"multi-agent\" \\\n    --axis \"framework|multi-agent framework in:readme; collaborative agents in:readme\" \\\n    --axis \"protocol|A2A; ANP; agent-to-agent\"\n\n# 时间窗 trending\npython scripts\u002Ftrending.py --window 7d --language rust\npython scripts\u002Ftrending.py --window 1m --topic llm --min-stars 100\n\n# 单发\npython scripts\u002Frepo_summary.py langchain-ai\u002Flangchain --format markdown\npython scripts\u002Ffind_similar.py vercel\u002Fnext.js --limit 20\npython scripts\u002Fcode_search.py \"def authenticate\" --language python\npython scripts\u002Fcode_search.py \"useEffect\" --org vercel --extension tsx\npython scripts\u002Fsearch_issues.py \"memory leak\" --repo langchain-ai\u002Flangchain\npython scripts\u002Fsearch_issues.py \"is:open is:issue label:bug\" --org langchain-ai\n\n# Org 审计\npython scripts\u002Forg_landscape.py vercel --group-by language\npython scripts\u002Forg_landscape.py langchain-ai --group-by activity\n```\n\n## Common options (多数脚本共享)\n\n- `--format {table,json,markdown}` — 默认 markdown。`json` 管道处理，`table` 窄终端。\n- `--limit N` \u002F `--min-stars N` — 上限 \u002F star 下限。\n- `--include-forks` \u002F `--include-archived` — 默认都排除，opt-in。\n- 时间过滤：`--pushed-since 30d`、`--created-since 1y`（后缀 d\u002Fw\u002Fm\u002Fy）。\n\n## find_repos.py 特定\n\n- `--semantic`（默认开）\u002F `--no-semantic`：多词自由文本无 narrowing 时跑双 scope + union + relevance 排序。`--no-semantic` 回到单搜索。\n- **narrowing qualifier 会关掉 dual-scope**：`--language`、`--topic`、`--owner`、`--org`、`--license`、`--pushed-since`、`--created-since`、`--max-stars` 任一出现 → 单搜索（否则 `in:readme` 会让 awesome-list 压过真实项目）。\n- `--max-stars` 也计入 narrowing（`stars:\u003C=N`）。\n- JSON 输出带 `_rel` 字段（0-3 relevance 分）。\n- 用户 `--owner` → `user:` qualifier；`--org` → `org:` qualifier（与 search_issues 一致）。\n\n## explore.py（\"map the field\" 模式）\n\n- **轴由 agent 定**，无维护 taxonomy 文件。`--axis \"name|q1; q2 OR q3\"`（`;` 或带空格的 `OR` 拆多角度，结果 union）。`--limit-per-axis` 默认 20。\n- **查询要具体**：`agent framework` 会被 100k+ 星通用 repo 淹没；`multi-agent framework in:readme` 更准。语义查询建议 `in:readme`。\n- **抽象\u002F多义主题必须拆轴，不能直接搜主题词**（见下方\"轴设计方法论\"，这是抽象主题能否可用的关键）。\n- **`--exclude TERM`（可重复，通用噪音过滤）**：匹配 fullName\u002Fdescription 子串，大小写不敏感。对抽象主题几乎必用：`--exclude awesome`（目录不是项目）、`--exclude tutorial`、`--exclude demo`、`--exclude osint` 等。脚本在后合并阶段统一过滤，跨所有轴、与查询写法无关——比在查询里拼 `-term` 可靠（实测 GitHub 的 `-term` 排除词经常失效，awesome-* 目录仍会混入）。\n- **awesome-* 目录自动标记 `☰list` 并重度降权（-1000，不删除）**：目录 vs 项目语义不同。探项目类主题时它们沉到所有真实项目之后（可能被 `--limit-per-axis` 挤出 top N）；**若主题本身是资源合集\u002Fawesome 目录**（\"awesome X 有哪些\"），别用 explore 轴——用 `find_repos.py \"awesome \u003Ctopic>\"` 直接搜目录。\n- **`--min-stars` 挡不住语义噪音**：它只过滤低星，高星通用仓库（dify\u002FOpenHands\u002Ftorvalds\u002Flinux 这种 readme 概念密度高的）照样进来。去噪靠**查询精确化 + --exclude**，不是抬高 min-stars。\n- **输出分层**：默认 stdout ≤ ~3KB——canonical anchors → 跨轴命中 → top 5\u002F轴；`--full` 把完整报告打到 stdout；完整报告**总是**写盘（`%TEMP%\u002Fgh-explore-{topic}-{YYYYMMDD-HHMMSS}.md`，`--output PATH` 改路径，`--output` 隐含 `--full`）。\n- **排序 relevance_score**：`_is_canonical` 100万 > `_backfilled` 10万 > `_in_awesome` 1万 > 跨轴数×1000 > log10(stars+1)×10，`_is_list`（awesome 目录）−1000 沉底。100 星 canonical 锚点永远压过 20 万星只提一嘴的通用 repo。\n- **信号 flag**：`★canonical`（代码内建的必出锚点集，multi-agent\u002Frag\u002Fagent 主题）、`↻Naxes`（N 轴都出现）、`✓awesome`（在 awesome list 里）、`☰list`（是 awesome 目录，不是项目）、`⚑backfilled`（anchor 缺失时用 core API 补拉）。\n- **`--awesome` 真实成本**（重要，配额敏感）：每个 slug 变体 1 次 `gh search` + 找到后 1 次 readme API。多词 topic 最多 ~8 个变体 → **最多 ~8 次 search + 1 次 readme**，不是 1-2 次。默认关闭；要交叉验证才开。\n- **canonical backfill 用 core API quota（5000\u002Fhr）**，不占 search quota（30\u002Fmin），search 限流后仍可用。\n- **canonical 锚点只覆盖热门主题**（multi-agent\u002Frag\u002Fagent）：抽象新概念主题（\"主动智能\"\"自反馈自优化\"）拿不到锚点验证，此时**轴设计的信噪比检查**就是唯一的质控手段——跑完看是否有轴被无关巨仓淹没，有就缩查询加排除。\n- **轴质量观察指标（explore 自动输出，供判断非定论）**：每轴自动算 3 个原始信号——`semantic_hit_rate`（repo 描述命中查询显著词的比例）、`list_dir_ratio`（awesome 目录占比）、`top3_giant`（top3 是否全是 5 万+ 巨仓），JSON 模式在 `axes[i].quality`，table 在轴名后标 `低命中`\u002F`☰d`\u002F`⇧巨仓`，markdown 在轴标题下加一行注释。**只观测不下结论**：语义主题（in:readme 召回）的命中率天然偏低，会被误伤，所以指标是给 agent 看的线索，不是自动 verdict，绝不自动改查询。\n\n### 轴设计方法论（抽象\u002F多义主题必读）\n\n抽象主题（人机协作、主动智能、自反馈自优化……）直接用主题词搜索必被泛词噪音淹没。通用拆法：\n\n1. **拆成 2-4 个\"可查询的具体语义单元\"**，不是搜主题词本身。例：`主动智能` → `proactive assistance` \u002F `anticipatory computing` \u002F `agentic OS` \u002F `autonomous agent operating system`。\n2. **每个轴给 1-3 个查询角度**，角度要带限定词避免裸宽词。裸 `proactive AI` 会被 100k+ 通用 repo 淹没；`proactive context-aware AI partner in:readme` 才能捞到 MineContext 这种真相关项目。\n3. **宽泛查询会退化为按 star 排序的宽匹配**：当轴查询太宽（如 `AI operating system in:readme`），GitHub 直接返回 torvalds\u002Flinux、vllm 这种巨仓——**信噪比检查的信号**：若某轴 top 全是明显无关的大仓库，说明查询太宽，缩到更具体语义。\n4. **用 `--exclude` 处理可枚举的噪音类别**：awesome、tutorial、demo、osint、course、example……抽象主题几乎必用。\n5. **min-stars 是最后手段**：只在低星噪音泛滥时抬它，别指望它去噪。\n6. **先小后大**：先跑 2 轴验证信噪比，确认轴方向对了再扩到 4 轴，避免 8 轴全被污染浪费配额。\n\n## 脚本输出 schema（`--format json` 通用）\n\n所有发现类脚本 `--format json` 返回**相同字段命名**（GitHub API 原生 camelCase，**不是** snake_case）。**不要猜字段——读契约的两种方式**：\n\n1. `python scripts\u002F\u003Cscript>.py --schema`（仅 3 个脚本支持：`find_repos` \u002F `explore` \u002F `repo_summary`，以及通过 `_lib.print_schema` 间接调）\n2. 直接看 `explore.schema.json` \u002F `repo.schema.json` \u002F `repo_summary.schema.json` 三个契约文件（位于脚本目录下的 schemas 子目录；其他 6 个脚本的输出结构以 `gh search` 原生 JSON 字段为准，参考 `references\u002Fcommands-search-format.md`）\n\n三个契约文件的**关键差异**（猜错必踩的坑）：\n\n| 脚本 | 输出位置 | 字段复数 | 最易踩 |\n|---|---|---|---|\n| find_repos 等发现类 | 顶层数组，每项一个 repo | `stargazersCount`\u002F`forksCount`（复数） | `fullName` 不是 `full_name` |\n| explore | 顶层 `{topic, axes:[...]}`，**repo 在 `axes[i].repos[j]`** | 复数 + 信号字段（`_is_canonical`\u002F`_is_list` 等） | 在顶层找 repo |\n| repo_summary | **嵌 `repo` 键下**（`d['repo']['stargazerCount']`） | `stargazerCount`\u002F`forkCount`（单数） | 顶层直接取字段 |\n\n> 各脚本完整参数以 `python scripts\u002F\u003Cname>.py --help` 为权威。管道要 JSON 必须显式 `--format json`。\n\n## 命令索引（references\u002F，按需查阅）\n\n管理类操作直接 `gh`，具体命令按类型查对应文件，不内联复制：\n\n| 类型 | 文件 | 覆盖 |\n|---|---|---|\n| 认证\u002F配置\u002F结构 | `references\u002Fcommands-auth-config.md` | 安装、auth、CLI 结构、config、环境变量、全局 flag |\n| 仓库\u002FIssue\u002FPR | `references\u002Fcommands-repo-issue-pr.md` | repo 全生命周期、issue、PR、常用开发流 |\n| 搜索\u002F格式化\u002FAPI | `references\u002Fcommands-search-format.md` | `gh search`、JSON\u002Fjq\u002F模板输出、`gh api` |\n| CI\u002FCD | `references\u002Fcommands-cicd.md` | run\u002Fworkflow\u002Fcache\u002Fsecret\u002Fvariable\u002Frelease |\n| 杂项 | `references\u002Fcommands-misc.md` | org、label、SSH\u002FGPG、gist、codespace、alias、extension、ruleset |\n\n## 搜索 gotchas（脚本已处理，agent 不必重踩）\n\n1. `gh search` 的 `OR` 不符合直觉——`\"A OR B\"` 返回 0 结果。用 `;` 或带空格 `OR` 拆多 query。\n2. 语义查询用 `in:readme`，description 太短。\n3. `topic:` 作为硬过滤不可靠（项目打标签不一致）；优先 `stars:>=`。\n4. GitHub 限流：认证 ~5000\u002Fhr API + search 30\u002Fmin。脚本默认 `--max-workers 2` 守住 30\u002Fmin；撞 403\u002F429 有重试但会慢。8 轴 × 3 角度 = 24+ 次调用，注意配额。\n5. `gh search repos` 的 JSON **没有 topics 字段**（只有 `gh repo view` 有）。`discover.py` 因此用 N+1 次 `repo view` 取 topics（只取前 10 个 seed）；`find_repos` 因此不做 self-echo 过滤。\n6. 更多结果 ≠ 完整结果：文本搜索漏知名项目（`prometheus` 不写 \"observability platform\"）。生态型问题直接上 `explore.py --awesome`。\n\n## 组装脚本（管道友好）\n\n所有脚本 `--format json` 输出合法 JSON，可链式：\n\n```bash\npython scripts\u002Fdiscover.py \"agent framework\" --format json \\\n  | python -c \"import json,sys; r=json.load(sys.stdin)['topics']; print('\\n'.join(t for t,v in r.items() if v))\"\npython scripts\u002Ftrending.py --window 30d --format json \\\n  | python -c \"import json,sys,datetime; d=json.load(sys.stdin); print(len(d), 'trending repos')\"\n```\n\n## Common Pitfalls\n\n1. **以为管道会自动 JSON**（`__init__.py` 旧 docstring 说 \"auto-select JSON when piped\"——**假话**）。实际默认恒 markdown，要 JSON 必须 `--format json`。写管道命令时显式加 `--format json`，否则得到 markdown 文本无法 json.loads。\n2. **explore 不传 `--axis`**：`die(\"Provide axes via --axis\")`。axes 是必须的，不是可选。\n3. **`--awesome` 成本低估**：多词 topic 会触发最多 ~8 次 `gh search` + 1 次 readme，配额紧张时慎用，或只对最终 topic 跑一次。\n4. **explore 查询太泛**：`agent framework` 直接被大 repo 淹没。多角度、带 `in:readme`、带主题词。\n5. **`gh search repos` JSON 字段是复数** `stargazersCount\u002FforksCount`；`gh repo view` 是单数 `stargazerCount\u002FforkCount`。手写 jq 时别混。\n6. **repo_summary 的 users 段**是 `mentionableUsers`（仓库可见的可 @ 成员），标题叫 \"Mentionable users\"——不是 \"被提及最多的用户\"，别误解成社区活跃度。\n7. **Windows 路径**：git-bash 下用 `C:\u002F...` 或 `\u002Fc\u002F...`；反斜杠结尾会转义错。\n\n## Verification Checklist\n\n- [ ] 用了正确的脚本（发现→脚本，管理→裸 gh）\n- [ ] 管道场景显式 `--format json`\n- [ ] explore 查询角度具体且带 `in:readme`（语义主题）\n- [ ] 配额敏感时 `--max-workers 2`、`--awesome` 只跑一次\n- [ ] org\u002Frepo 审计确认了过滤条件（fork\u002Farchived\u002Fstars）符合预期\n- [ ] 管理操作按类型查 references\u002F 下的 commands-* 系列（不内联复制，不误用脚本）\n- [ ] 发现类任务只用只读脚本，未触发任何远端写\n- [ ] 写操作前已向用户明确目标\u002F影响\u002F最小数据并获得确认\n- [ ] 认证诊断只用了 `gh auth status`，未回显任何 token\n",{"data":35,"body":38},{"name":4,"description":6,"version":36,"author":37,"license":26},"2.1.0","Fectivnfy112357",{"type":39,"children":40},"root",[41,50,57,95,146,152,676,682,805,811,958,964,1582,1588,1671,1677,1843,1849,2333,2340,2345,2483,2496,2528,2612,2624,2816,2839,2845,2857,3004,3010,3162,3168,3180,3313,3319,3508,3514,3635],{"type":42,"tag":43,"props":44,"children":46},"element","h1",{"id":45},"github-cli-gh-discovery-scripts",[47],{"type":48,"value":49},"text","GitHub CLI (gh) + Discovery Scripts",{"type":42,"tag":51,"props":52,"children":54},"h2",{"id":53},"overview",[55],{"type":48,"value":56},"Overview",{"type":42,"tag":58,"props":59,"children":60},"p",{},[61,63,70,72,78,80,86,88,93],{"type":48,"value":62},"两个层：",{"type":42,"tag":64,"props":65,"children":67},"code",{"className":66},[],[68],{"type":48,"value":69},"scripts\u002F",{"type":48,"value":71}," 里 9 个 Python 脚本负责",{"type":42,"tag":73,"props":74,"children":75},"strong",{},[76],{"type":48,"value":77},"搜索\u002F发现\u002F审计",{"type":48,"value":79},"（统一过滤 fork\u002Farchived、默认 star 下限、智能去重、relevance 排序、分层摘要+落盘），直接调用 ",{"type":42,"tag":64,"props":81,"children":83},{"className":82},[],[84],{"type":48,"value":85},"gh",{"type":48,"value":87}," 负责",{"type":42,"tag":73,"props":89,"children":90},{},[91],{"type":48,"value":92},"管理操作",{"type":48,"value":94},"（建 repo、提 PR、改 label、跑 workflow 等）。脚本已做搜索 gotchas 处理，发现类请求优先用脚本。",{"type":42,"tag":58,"props":96,"children":97},{},[98,100,106,108,113,115,121,123,129,131,136,138,144],{"type":48,"value":99},"所有脚本输出格式 ",{"type":42,"tag":64,"props":101,"children":103},{"className":102},[],[104],{"type":48,"value":105},"--format {table,json,markdown}",{"type":48,"value":107},"，",{"type":42,"tag":73,"props":109,"children":110},{},[111],{"type":48,"value":112},"默认 markdown",{"type":48,"value":114},"（分层摘要 + 落盘），",{"type":42,"tag":64,"props":116,"children":118},{"className":117},[],[119],{"type":48,"value":120},"json",{"type":48,"value":122}," 供管道处理，",{"type":42,"tag":64,"props":124,"children":126},{"className":125},[],[127],{"type":48,"value":128},"table",{"type":48,"value":130}," 窄终端 ASCII 视图。注意：",{"type":42,"tag":73,"props":132,"children":133},{},[134],{"type":48,"value":135},"不会",{"type":48,"value":137},"因为 stdout 被管道就自动切 JSON——要 JSON 必须显式 ",{"type":42,"tag":64,"props":139,"children":141},{"className":140},[],[142],{"type":48,"value":143},"--format json",{"type":48,"value":145},"（见 Common Pitfalls #1）。",{"type":42,"tag":51,"props":147,"children":149},{"id":148},"安全边界security-boundaries",[150],{"type":48,"value":151},"安全边界（Security boundaries）",{"type":42,"tag":153,"props":154,"children":155},"ul",{},[156,167,385,434,526],{"type":42,"tag":157,"props":158,"children":159},"li",{},[160,165],{"type":42,"tag":73,"props":161,"children":162},{},[163],{"type":48,"value":164},"默认只读",{"type":48,"value":166},"：9 个发现类脚本（find_repos \u002F discover \u002F explore \u002F trending \u002F repo_summary \u002F find_similar \u002F code_search \u002F search_issues \u002F org_landscape）只读，不改远端状态。",{"type":42,"tag":157,"props":168,"children":169},{},[170,175,177,190,192,198,200,206,208,213,215,220,222,227,229,234,236,241,243,248,250,256,258],{"type":42,"tag":73,"props":171,"children":172},{},[173],{"type":48,"value":174},"写操作需确认",{"type":48,"value":176},"（",{"type":42,"tag":73,"props":178,"children":179},{},[180,182,188],{"type":48,"value":181},"全 ",{"type":42,"tag":64,"props":183,"children":185},{"className":184},[],[186],{"type":48,"value":187},"commands-*.md",{"type":48,"value":189}," 适用",{"type":48,"value":191},"，含 ",{"type":42,"tag":64,"props":193,"children":195},{"className":194},[],[196],{"type":48,"value":197},"commands-auth-config.md",{"type":48,"value":199}," 与 ",{"type":42,"tag":64,"props":201,"children":203},{"className":202},[],[204],{"type":48,"value":205},"commands-search-format.md",{"type":48,"value":207},"）：管理类 ",{"type":42,"tag":64,"props":209,"children":211},{"className":210},[],[212],{"type":48,"value":85},{"type":48,"value":214}," 写命令会改变",{"type":42,"tag":73,"props":216,"children":217},{},[218],{"type":48,"value":219},"远端状态、本机凭据或配置",{"type":48,"value":221},"。执行前必须向用户明确：",{"type":42,"tag":73,"props":223,"children":224},{},[225],{"type":48,"value":226},"目标",{"type":48,"value":228},"（哪个 repo \u002F org \u002F 资源 \u002F host）、",{"type":42,"tag":73,"props":230,"children":231},{},[232],{"type":48,"value":233},"影响范围",{"type":48,"value":235},"（改什么、是否可逆、是否触发下游）、",{"type":42,"tag":73,"props":237,"children":238},{},[239],{"type":48,"value":240},"最小改动数据",{"type":48,"value":242},"，并得到",{"type":42,"tag":73,"props":244,"children":245},{},[246],{"type":48,"value":247},"明确确认",{"type":48,"value":249},"后再执行。未经确认绝不执行写操作。具体适用范围与例外见 ",{"type":42,"tag":251,"props":252,"children":254},"a",{"href":253},"references\u002FSECURITY-NOTES.md",[255],{"type":48,"value":253},{"type":48,"value":257},"。\n",{"type":42,"tag":153,"props":259,"children":260},{},[261,266,301,335],{"type":42,"tag":157,"props":262,"children":263},{},[264],{"type":48,"value":265},"远端写：create \u002F update \u002F delete \u002F close \u002F merge \u002F dispatch \u002F rerun \u002F cancel \u002F set-default \u002F fork \u002F deploy-key …",{"type":42,"tag":157,"props":267,"children":268},{},[269,271,276,278,284,286,292,294,299],{"type":48,"value":270},"凭据写（",{"type":42,"tag":64,"props":272,"children":274},{"className":273},[],[275],{"type":48,"value":197},{"type":48,"value":277},"）：",{"type":42,"tag":64,"props":279,"children":281},{"className":280},[],[282],{"type":48,"value":283},"gh auth login\u002Flogout\u002Fswitch\u002Fsetup-git\u002Frefresh --scopes …",{"type":48,"value":285},"——影响本机 git credential helper 与 token scopes，",{"type":42,"tag":64,"props":287,"children":289},{"className":288},[],[290],{"type":48,"value":291},"refresh --scopes",{"type":48,"value":293}," 是",{"type":42,"tag":73,"props":295,"children":296},{},[297],{"type":48,"value":298},"权限提升",{"type":48,"value":300},"。",{"type":42,"tag":157,"props":302,"children":303},{},[304,306,311,312,318,320,326,328,334],{"type":48,"value":305},"配置写（",{"type":42,"tag":64,"props":307,"children":309},{"className":308},[],[310],{"type":48,"value":197},{"type":48,"value":277},{"type":42,"tag":64,"props":313,"children":315},{"className":314},[],[316],{"type":48,"value":317},"gh config set …",{"type":48,"value":319}," \u002F ",{"type":42,"tag":64,"props":321,"children":323},{"className":322},[],[324],{"type":48,"value":325},"gh config clear-cache",{"type":48,"value":327},"——改 ",{"type":42,"tag":64,"props":329,"children":331},{"className":330},[],[332],{"type":48,"value":333},"~\u002F.config\u002Fgh\u002F",{"type":48,"value":300},{"type":42,"tag":157,"props":336,"children":337},{},[338,340,345,346,352,354,360,362,368,370,376,377,383],{"type":48,"value":339},"API mutation（",{"type":42,"tag":64,"props":341,"children":343},{"className":342},[],[344],{"type":48,"value":205},{"type":48,"value":277},{"type":42,"tag":64,"props":347,"children":349},{"className":348},[],[350],{"type":48,"value":351},"gh api --method POST|PUT|DELETE|PATCH …",{"type":48,"value":353},"；",{"type":42,"tag":64,"props":355,"children":357},{"className":356},[],[358],{"type":48,"value":359},"gh api graphql",{"type":48,"value":361}," 中含 ",{"type":42,"tag":64,"props":363,"children":365},{"className":364},[],[366],{"type":48,"value":367},"mutation",{"type":48,"value":369}," 的 query——可触达任意 GitHub 资源（含 admin endpoint），影响面比 ",{"type":42,"tag":64,"props":371,"children":373},{"className":372},[],[374],{"type":48,"value":375},"gh issue",{"type":48,"value":319},{"type":42,"tag":64,"props":378,"children":380},{"className":379},[],[381],{"type":48,"value":382},"gh pr",{"type":48,"value":384}," 子命令更广。",{"type":42,"tag":157,"props":386,"children":387},{},[388,393,395,401,403,409,411,417,418,424,426,432],{"type":42,"tag":73,"props":389,"children":390},{},[391],{"type":48,"value":392},"禁止回显 token",{"type":48,"value":394},"：认证诊断只用 ",{"type":42,"tag":64,"props":396,"children":398},{"className":397},[],[399],{"type":48,"value":400},"gh auth status",{"type":48,"value":402},"（不回显 token）。禁用 ",{"type":42,"tag":64,"props":404,"children":406},{"className":405},[],[407],{"type":48,"value":408},"gh auth token",{"type":48,"value":410},"、",{"type":42,"tag":64,"props":412,"children":414},{"className":413},[],[415],{"type":48,"value":416},"gh auth status --show-token",{"type":48,"value":410},{"type":42,"tag":64,"props":419,"children":421},{"className":420},[],[422],{"type":48,"value":423},"--with-token",{"type":48,"value":425}," 注入；",{"type":42,"tag":64,"props":427,"children":429},{"className":428},[],[430],{"type":48,"value":431},"GH_TOKEN",{"type":48,"value":433}," 仅用于自动化（CI），不得打印到 transcript。",{"type":42,"tag":157,"props":435,"children":436},{},[437,442,444,450,452,458,460,466,467,473,474,480,481,487,488,494,495,501,503,516,518,524],{"type":42,"tag":73,"props":438,"children":439},{},[440],{"type":48,"value":441},"错误脱敏（honest scope）",{"type":48,"value":443},"：9 个发现脚本内部走 ",{"type":42,"tag":64,"props":445,"children":447},{"className":446},[],[448],{"type":48,"value":449},"_lib.warn\u002Fdie()",{"type":48,"value":451}," 的 ",{"type":42,"tag":64,"props":453,"children":455},{"className":454},[],[456],{"type":48,"value":457},"redact_secrets()",{"type":48,"value":459}," 路径，自动遮 ",{"type":42,"tag":64,"props":461,"children":463},{"className":462},[],[464],{"type":48,"value":465},"ghp_*",{"type":48,"value":319},{"type":42,"tag":64,"props":468,"children":470},{"className":469},[],[471],{"type":48,"value":472},"github_pat_*",{"type":48,"value":319},{"type":42,"tag":64,"props":475,"children":477},{"className":476},[],[478],{"type":48,"value":479},"Bearer *",{"type":48,"value":319},{"type":42,"tag":64,"props":482,"children":484},{"className":483},[],[485],{"type":48,"value":486},"token=*",{"type":48,"value":319},{"type":42,"tag":64,"props":489,"children":491},{"className":490},[],[492],{"type":48,"value":493},"GH_TOKEN=*",{"type":48,"value":319},{"type":42,"tag":64,"props":496,"children":498},{"className":497},[],[499],{"type":48,"value":500},"GITHUB_TOKEN=*",{"type":48,"value":502}," 形态。",{"type":42,"tag":73,"props":504,"children":505},{},[506,508,514],{"type":48,"value":507},"但 agent 在 Bash 工具里直接跑 ",{"type":42,"tag":64,"props":509,"children":511},{"className":510},[],[512],{"type":48,"value":513},"gh …",{"type":48,"value":515}," 时，stderr 不经过 Python wrapper，原样进 transcript",{"type":48,"value":517},"——分享前手动管道 ",{"type":42,"tag":64,"props":519,"children":521},{"className":520},[],[522],{"type":48,"value":523},"gh \u003Ccmd> 2>&1 | python scripts\u002Fredact_stderr.py",{"type":48,"value":525},"。脱敏是 best-effort，非常规 token 形态仍可能漏出。",{"type":42,"tag":157,"props":527,"children":528},{},[529,540,542,547,549,554,556,562,564,569,571,577,579,585,587,593,595,601,603,608,610,616,618,623,624,630,632,638,639,645,646,652,654,660,662,668,669,674],{"type":42,"tag":73,"props":530,"children":531},{},[532,538],{"type":42,"tag":64,"props":533,"children":535},{"className":534},[],[536],{"type":48,"value":537},"GH_HOST",{"type":48,"value":539}," \u002F GitHub Enterprise 风险",{"type":48,"value":541},"：",{"type":42,"tag":64,"props":543,"children":545},{"className":544},[],[546],{"type":48,"value":537},{"type":48,"value":548}," 会切换所有 ",{"type":42,"tag":64,"props":550,"children":552},{"className":551},[],[553],{"type":48,"value":85},{"type":48,"value":555}," 子命令的 API 流量目的地（纯 git 操作如 ",{"type":42,"tag":64,"props":557,"children":559},{"className":558},[],[560],{"type":48,"value":561},"git push",{"type":48,"value":563}," 不受 ",{"type":42,"tag":64,"props":565,"children":567},{"className":566},[],[568],{"type":48,"value":537},{"type":48,"value":570}," 影响，跟 ",{"type":42,"tag":64,"props":572,"children":574},{"className":573},[],[575],{"type":48,"value":576},"git remote",{"type":48,"value":578}," 走）；默认 ",{"type":42,"tag":64,"props":580,"children":582},{"className":581},[],[583],{"type":48,"value":584},"github.com",{"type":48,"value":586},"。切到 GHES on-prem（",{"type":42,"tag":64,"props":588,"children":590},{"className":589},[],[591],{"type":48,"value":592},"github.acme.com",{"type":48,"value":594},"）必须用 ",{"type":42,"tag":64,"props":596,"children":598},{"className":597},[],[599],{"type":48,"value":600},"GH_ENTERPRISE_TOKEN",{"type":48,"value":602}," 而非 ",{"type":42,"tag":64,"props":604,"children":606},{"className":605},[],[607],{"type":48,"value":431},{"type":48,"value":609},"；切到 GHEC 租户（",{"type":42,"tag":64,"props":611,"children":613},{"className":612},[],[614],{"type":48,"value":615},"*.ghe.com",{"type":48,"value":617},"）用 ",{"type":42,"tag":64,"props":619,"children":621},{"className":620},[],[622],{"type":48,"value":431},{"type":48,"value":300},{"type":42,"tag":64,"props":625,"children":627},{"className":626},[],[628],{"type":48,"value":629},"--hostname",{"type":48,"value":631}," 不是全局 flag，只在 ",{"type":42,"tag":64,"props":633,"children":635},{"className":634},[],[636],{"type":48,"value":637},"auth",{"type":48,"value":319},{"type":42,"tag":64,"props":640,"children":642},{"className":641},[],[643],{"type":48,"value":644},"api",{"type":48,"value":319},{"type":42,"tag":64,"props":647,"children":649},{"className":648},[],[650],{"type":48,"value":651},"attestation",{"type":48,"value":653}," 等约 11 个子命令上存在；通用切换姿势是 ",{"type":42,"tag":64,"props":655,"children":657},{"className":656},[],[658],{"type":48,"value":659},"GH_HOST=... gh \u003Ccmd>",{"type":48,"value":661}," 或 ",{"type":42,"tag":64,"props":663,"children":665},{"className":664},[],[666],{"type":48,"value":667},"gh auth switch --hostname X",{"type":48,"value":300},{"type":42,"tag":64,"props":670,"children":672},{"className":671},[],[673],{"type":48,"value":400},{"type":48,"value":675}," 默认枚举所有已认证 host，不是只校验当前。skill 不限制、不校验、不警告 host 值——用户负责确保目的地正确；跨 host 误调用 = 跨凭据泄漏（写错组织的 issue \u002F 错仓库开 PR \u002F 错 token 触发 GHES workflow）。",{"type":42,"tag":51,"props":677,"children":679},{"id":678},"when-to-use",[680],{"type":48,"value":681},"When to Use",{"type":42,"tag":153,"props":683,"children":684},{},[685,696,717,728,739,750,761,772,783,800],{"type":42,"tag":157,"props":686,"children":687},{},[688,690],{"type":48,"value":689},"「找 X 相关的 repo」「search repos about Y」→ ",{"type":42,"tag":64,"props":691,"children":693},{"className":692},[],[694],{"type":48,"value":695},"find_repos.py",{"type":42,"tag":157,"props":697,"children":698},{},[699,701,707,709,715],{"type":48,"value":700},"「摸清 X 领域全貌」「map out the field」→ ",{"type":42,"tag":64,"props":702,"children":704},{"className":703},[],[705],{"type":48,"value":706},"discover.py",{"type":48,"value":708},"（快）或 ",{"type":42,"tag":64,"props":710,"children":712},{"className":711},[],[713],{"type":48,"value":714},"explore.py",{"type":48,"value":716},"（有目的地多维度）",{"type":42,"tag":157,"props":718,"children":719},{},[720,722],{"type":48,"value":721},"「最近热门 \u002F trending」→ ",{"type":42,"tag":64,"props":723,"children":725},{"className":724},[],[726],{"type":48,"value":727},"trending.py",{"type":42,"tag":157,"props":729,"children":730},{},[731,733],{"type":48,"value":732},"「这个 repo 怎么样 \u002F overview」→ ",{"type":42,"tag":64,"props":734,"children":736},{"className":735},[],[737],{"type":48,"value":738},"repo_summary.py",{"type":42,"tag":157,"props":740,"children":741},{},[742,744],{"type":48,"value":743},"「跟 X 类似 \u002F alternatives」→ ",{"type":42,"tag":64,"props":745,"children":747},{"className":746},[],[748],{"type":48,"value":749},"find_similar.py",{"type":42,"tag":157,"props":751,"children":752},{},[753,755],{"type":48,"value":754},"「找代码片段 \u002F where is pattern used」→ ",{"type":42,"tag":64,"props":756,"children":758},{"className":757},[],[759],{"type":48,"value":760},"code_search.py",{"type":42,"tag":157,"props":762,"children":763},{},[764,766],{"type":48,"value":765},"「找 issue\u002FPR」→ ",{"type":42,"tag":64,"props":767,"children":769},{"className":768},[],[770],{"type":48,"value":771},"search_issues.py",{"type":42,"tag":157,"props":773,"children":774},{},[775,777],{"type":48,"value":776},"「审计整个 org \u002F 按语言\u002F活跃度\u002F主题分组」→ ",{"type":42,"tag":64,"props":778,"children":780},{"className":779},[],[781],{"type":48,"value":782},"org_landscape.py",{"type":42,"tag":157,"props":784,"children":785},{},[786,788,793,795],{"type":48,"value":787},"「建 repo \u002F 提 PR \u002F 改 label \u002F 跑 workflow」→ 直接 ",{"type":42,"tag":64,"props":789,"children":791},{"className":790},[],[792],{"type":48,"value":85},{"type":48,"value":794},"（命令索引见 references\u002F 下的 commands-* 系列，按类型查）；",{"type":42,"tag":73,"props":796,"children":797},{},[798],{"type":48,"value":799},"写操作执行前必须明确目标\u002F影响\u002F最小数据并得到用户确认（见「安全边界」）",{"type":42,"tag":157,"props":801,"children":802},{},[803],{"type":48,"value":804},"不要用脚本做：管理类写操作（创建\u002F修改\u002F删除）。",{"type":42,"tag":51,"props":806,"children":808},{"id":807},"when-to-use-which-script-the-deeper-logic",[809],{"type":48,"value":810},"When to use which script — the deeper logic",{"type":42,"tag":153,"props":812,"children":813},{},[814,831,870,893,909,926],{"type":42,"tag":157,"props":815,"children":816},{},[817,822,824,829],{"type":42,"tag":73,"props":818,"children":819},{},[820],{"type":48,"value":821},"单维问题",{"type":48,"value":823},"（搜 repo \u002F 看 repo \u002F 找 issue）→ 单发脚本。",{"type":42,"tag":64,"props":825,"children":827},{"className":826},[],[828],{"type":48,"value":695},{"type":48,"value":830}," 是默认起点。",{"type":42,"tag":157,"props":832,"children":833},{},[834,839,840,846,848,853,854,860,862,868],{"type":42,"tag":73,"props":835,"children":836},{},[837],{"type":48,"value":838},"多词自由文本",{"type":48,"value":541},{"type":42,"tag":64,"props":841,"children":843},{"className":842},[],[844],{"type":48,"value":845},"find_repos",{"type":48,"value":847}," 默认跑",{"type":42,"tag":73,"props":849,"children":850},{},[851],{"type":48,"value":852},"双 scope",{"type":48,"value":176},{"type":42,"tag":64,"props":855,"children":857},{"className":856},[],[858],{"type":48,"value":859},"in:readme",{"type":48,"value":861}," + 默认 scope）再 union，用「star 数 + 软 relevance 加成」排序——没有这个，高星通用 repo（如 ollama 之于 \"observability platform\"）会挤掉更对题的小项目。",{"type":42,"tag":64,"props":863,"children":865},{"className":864},[],[866],{"type":48,"value":867},"--no-semantic",{"type":48,"value":869}," 关掉回到单搜索。",{"type":42,"tag":157,"props":871,"children":872},{},[873,878,879,884,886,891],{"type":42,"tag":73,"props":874,"children":875},{},[876],{"type":48,"value":877},"稀疏结果",{"type":48,"value":541},{"type":42,"tag":64,"props":880,"children":882},{"className":881},[],[883],{"type":48,"value":845},{"type":48,"value":885}," 返回 \u003C5 且无 narrowing qualifier 时，stderr 会提示改用 ",{"type":42,"tag":64,"props":887,"children":889},{"className":888},[],[890],{"type":48,"value":714},{"type":48,"value":892}," 配显式 axes——概念型主题单轴搜覆盖不了。",{"type":42,"tag":157,"props":894,"children":895},{},[896,901,902,907],{"type":42,"tag":73,"props":897,"children":898},{},[899],{"type":48,"value":900},"数据驱动拓主题",{"type":48,"value":541},{"type":42,"tag":64,"props":903,"children":905},{"className":904},[],[906],{"type":48,"value":706},{"type":48,"value":908}," 从 seed 结果自动挖 topics 再逐个搜。快、便宜，但质量取决于 seed 是否干净。适合没有清晰维度概念时。",{"type":42,"tag":157,"props":910,"children":911},{},[912,917,919,924],{"type":42,"tag":73,"props":913,"children":914},{},[915],{"type":48,"value":916},"有目的地语义探索",{"type":48,"value":918},"（\"map multi-agent collaboration\"）→ ",{"type":42,"tag":64,"props":920,"children":922},{"className":921},[],[923],{"type":48,"value":714},{"type":48,"value":925}," + 内联 axes。agent 决定维度，脚本并行执行并输出软验证信号（awesome 交叉、跨轴计数、canonical 召回）。字段级探索用这个。",{"type":42,"tag":157,"props":927,"children":928},{},[929,935,937,943,945,950,952,957],{"type":42,"tag":64,"props":930,"children":932},{"className":931},[],[933],{"type":48,"value":934},"discover",{"type":48,"value":936}," 机会主义快；",{"type":42,"tag":64,"props":938,"children":940},{"className":939},[],[941],{"type":48,"value":942},"explore",{"type":48,"value":944}," 刻意广。默认决策：先 ",{"type":42,"tag":64,"props":946,"children":948},{"className":947},[],[949],{"type":48,"value":845},{"type":48,"value":951},"，稀疏或多维就升级 ",{"type":42,"tag":64,"props":953,"children":955},{"className":954},[],[956],{"type":48,"value":942},{"type":48,"value":300},{"type":42,"tag":51,"props":959,"children":961},{"id":960},"quick-start",[962],{"type":48,"value":963},"Quick start",{"type":42,"tag":965,"props":966,"children":971},"pre",{"className":967,"code":968,"language":969,"meta":970,"style":970},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# 搜索（多词自由文本自动双 scope + relevance）\npython scripts\u002Ffind_repos.py \"vector database\" --language python --min-stars 500\n\n# 自动拓主题（快）\npython scripts\u002Fdiscover.py \"agent framework\" --depth 6 --per-topic 5\n\n# 有目的地多维度探索（inline axes，agent 定维度）\npython scripts\u002Fexplore.py \"multi-agent\" \\\n    --axis \"framework|multi-agent framework in:readme; collaborative agents in:readme\" \\\n    --axis \"protocol|A2A; ANP; agent-to-agent\"\n\n# 时间窗 trending\npython scripts\u002Ftrending.py --window 7d --language rust\npython scripts\u002Ftrending.py --window 1m --topic llm --min-stars 100\n\n# 单发\npython scripts\u002Frepo_summary.py langchain-ai\u002Flangchain --format markdown\npython scripts\u002Ffind_similar.py vercel\u002Fnext.js --limit 20\npython scripts\u002Fcode_search.py \"def authenticate\" --language python\npython scripts\u002Fcode_search.py \"useEffect\" --org vercel --extension tsx\npython scripts\u002Fsearch_issues.py \"memory leak\" --repo langchain-ai\u002Flangchain\npython scripts\u002Fsearch_issues.py \"is:open is:issue label:bug\" --org langchain-ai\n\n# Org 审计\npython scripts\u002Forg_landscape.py vercel --group-by language\npython scripts\u002Forg_landscape.py langchain-ai --group-by activity\n","bash","",[972],{"type":42,"tag":64,"props":973,"children":974},{"__ignoreMap":970},[975,987,1039,1049,1058,1103,1111,1120,1152,1178,1200,1208,1217,1249,1289,1297,1306,1334,1362,1397,1442,1478,1512,1520,1529,1556],{"type":42,"tag":976,"props":977,"children":980},"span",{"class":978,"line":979},"line",1,[981],{"type":42,"tag":976,"props":982,"children":984},{"style":983},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[985],{"type":48,"value":986},"# 搜索（多词自由文本自动双 scope + relevance）\n",{"type":42,"tag":976,"props":988,"children":989},{"class":978,"line":27},[990,996,1002,1008,1013,1018,1023,1028,1033],{"type":42,"tag":976,"props":991,"children":993},{"style":992},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[994],{"type":48,"value":995},"python",{"type":42,"tag":976,"props":997,"children":999},{"style":998},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[1000],{"type":48,"value":1001}," scripts\u002Ffind_repos.py",{"type":42,"tag":976,"props":1003,"children":1005},{"style":1004},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[1006],{"type":48,"value":1007}," \"",{"type":42,"tag":976,"props":1009,"children":1010},{"style":998},[1011],{"type":48,"value":1012},"vector database",{"type":42,"tag":976,"props":1014,"children":1015},{"style":1004},[1016],{"type":48,"value":1017},"\"",{"type":42,"tag":976,"props":1019,"children":1020},{"style":998},[1021],{"type":48,"value":1022}," --language",{"type":42,"tag":976,"props":1024,"children":1025},{"style":998},[1026],{"type":48,"value":1027}," python",{"type":42,"tag":976,"props":1029,"children":1030},{"style":998},[1031],{"type":48,"value":1032}," --min-stars",{"type":42,"tag":976,"props":1034,"children":1036},{"style":1035},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[1037],{"type":48,"value":1038}," 500\n",{"type":42,"tag":976,"props":1040,"children":1042},{"class":978,"line":1041},3,[1043],{"type":42,"tag":976,"props":1044,"children":1046},{"emptyLinePlaceholder":1045},true,[1047],{"type":48,"value":1048},"\n",{"type":42,"tag":976,"props":1050,"children":1052},{"class":978,"line":1051},4,[1053],{"type":42,"tag":976,"props":1054,"children":1055},{"style":983},[1056],{"type":48,"value":1057},"# 自动拓主题（快）\n",{"type":42,"tag":976,"props":1059,"children":1060},{"class":978,"line":23},[1061,1065,1070,1074,1079,1083,1088,1093,1098],{"type":42,"tag":976,"props":1062,"children":1063},{"style":992},[1064],{"type":48,"value":995},{"type":42,"tag":976,"props":1066,"children":1067},{"style":998},[1068],{"type":48,"value":1069}," scripts\u002Fdiscover.py",{"type":42,"tag":976,"props":1071,"children":1072},{"style":1004},[1073],{"type":48,"value":1007},{"type":42,"tag":976,"props":1075,"children":1076},{"style":998},[1077],{"type":48,"value":1078},"agent framework",{"type":42,"tag":976,"props":1080,"children":1081},{"style":1004},[1082],{"type":48,"value":1017},{"type":42,"tag":976,"props":1084,"children":1085},{"style":998},[1086],{"type":48,"value":1087}," --depth",{"type":42,"tag":976,"props":1089,"children":1090},{"style":1035},[1091],{"type":48,"value":1092}," 6",{"type":42,"tag":976,"props":1094,"children":1095},{"style":998},[1096],{"type":48,"value":1097}," --per-topic",{"type":42,"tag":976,"props":1099,"children":1100},{"style":1035},[1101],{"type":48,"value":1102}," 5\n",{"type":42,"tag":976,"props":1104,"children":1106},{"class":978,"line":1105},6,[1107],{"type":42,"tag":976,"props":1108,"children":1109},{"emptyLinePlaceholder":1045},[1110],{"type":48,"value":1048},{"type":42,"tag":976,"props":1112,"children":1114},{"class":978,"line":1113},7,[1115],{"type":42,"tag":976,"props":1116,"children":1117},{"style":983},[1118],{"type":48,"value":1119},"# 有目的地多维度探索（inline axes，agent 定维度）\n",{"type":42,"tag":976,"props":1121,"children":1123},{"class":978,"line":1122},8,[1124,1128,1133,1137,1142,1146],{"type":42,"tag":976,"props":1125,"children":1126},{"style":992},[1127],{"type":48,"value":995},{"type":42,"tag":976,"props":1129,"children":1130},{"style":998},[1131],{"type":48,"value":1132}," scripts\u002Fexplore.py",{"type":42,"tag":976,"props":1134,"children":1135},{"style":1004},[1136],{"type":48,"value":1007},{"type":42,"tag":976,"props":1138,"children":1139},{"style":998},[1140],{"type":48,"value":1141},"multi-agent",{"type":42,"tag":976,"props":1143,"children":1144},{"style":1004},[1145],{"type":48,"value":1017},{"type":42,"tag":976,"props":1147,"children":1149},{"style":1148},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[1150],{"type":48,"value":1151}," \\\n",{"type":42,"tag":976,"props":1153,"children":1155},{"class":978,"line":1154},9,[1156,1161,1165,1170,1174],{"type":42,"tag":976,"props":1157,"children":1158},{"style":998},[1159],{"type":48,"value":1160},"    --axis",{"type":42,"tag":976,"props":1162,"children":1163},{"style":1004},[1164],{"type":48,"value":1007},{"type":42,"tag":976,"props":1166,"children":1167},{"style":998},[1168],{"type":48,"value":1169},"framework|multi-agent framework in:readme; collaborative agents in:readme",{"type":42,"tag":976,"props":1171,"children":1172},{"style":1004},[1173],{"type":48,"value":1017},{"type":42,"tag":976,"props":1175,"children":1176},{"style":1148},[1177],{"type":48,"value":1151},{"type":42,"tag":976,"props":1179,"children":1181},{"class":978,"line":1180},10,[1182,1186,1190,1195],{"type":42,"tag":976,"props":1183,"children":1184},{"style":998},[1185],{"type":48,"value":1160},{"type":42,"tag":976,"props":1187,"children":1188},{"style":1004},[1189],{"type":48,"value":1007},{"type":42,"tag":976,"props":1191,"children":1192},{"style":998},[1193],{"type":48,"value":1194},"protocol|A2A; ANP; agent-to-agent",{"type":42,"tag":976,"props":1196,"children":1197},{"style":1004},[1198],{"type":48,"value":1199},"\"\n",{"type":42,"tag":976,"props":1201,"children":1203},{"class":978,"line":1202},11,[1204],{"type":42,"tag":976,"props":1205,"children":1206},{"emptyLinePlaceholder":1045},[1207],{"type":48,"value":1048},{"type":42,"tag":976,"props":1209,"children":1211},{"class":978,"line":1210},12,[1212],{"type":42,"tag":976,"props":1213,"children":1214},{"style":983},[1215],{"type":48,"value":1216},"# 时间窗 trending\n",{"type":42,"tag":976,"props":1218,"children":1220},{"class":978,"line":1219},13,[1221,1225,1230,1235,1240,1244],{"type":42,"tag":976,"props":1222,"children":1223},{"style":992},[1224],{"type":48,"value":995},{"type":42,"tag":976,"props":1226,"children":1227},{"style":998},[1228],{"type":48,"value":1229}," scripts\u002Ftrending.py",{"type":42,"tag":976,"props":1231,"children":1232},{"style":998},[1233],{"type":48,"value":1234}," --window",{"type":42,"tag":976,"props":1236,"children":1237},{"style":998},[1238],{"type":48,"value":1239}," 7d",{"type":42,"tag":976,"props":1241,"children":1242},{"style":998},[1243],{"type":48,"value":1022},{"type":42,"tag":976,"props":1245,"children":1246},{"style":998},[1247],{"type":48,"value":1248}," rust\n",{"type":42,"tag":976,"props":1250,"children":1252},{"class":978,"line":1251},14,[1253,1257,1261,1265,1270,1275,1280,1284],{"type":42,"tag":976,"props":1254,"children":1255},{"style":992},[1256],{"type":48,"value":995},{"type":42,"tag":976,"props":1258,"children":1259},{"style":998},[1260],{"type":48,"value":1229},{"type":42,"tag":976,"props":1262,"children":1263},{"style":998},[1264],{"type":48,"value":1234},{"type":42,"tag":976,"props":1266,"children":1267},{"style":998},[1268],{"type":48,"value":1269}," 1m",{"type":42,"tag":976,"props":1271,"children":1272},{"style":998},[1273],{"type":48,"value":1274}," --topic",{"type":42,"tag":976,"props":1276,"children":1277},{"style":998},[1278],{"type":48,"value":1279}," llm",{"type":42,"tag":976,"props":1281,"children":1282},{"style":998},[1283],{"type":48,"value":1032},{"type":42,"tag":976,"props":1285,"children":1286},{"style":1035},[1287],{"type":48,"value":1288}," 100\n",{"type":42,"tag":976,"props":1290,"children":1292},{"class":978,"line":1291},15,[1293],{"type":42,"tag":976,"props":1294,"children":1295},{"emptyLinePlaceholder":1045},[1296],{"type":48,"value":1048},{"type":42,"tag":976,"props":1298,"children":1300},{"class":978,"line":1299},16,[1301],{"type":42,"tag":976,"props":1302,"children":1303},{"style":983},[1304],{"type":48,"value":1305},"# 单发\n",{"type":42,"tag":976,"props":1307,"children":1309},{"class":978,"line":1308},17,[1310,1314,1319,1324,1329],{"type":42,"tag":976,"props":1311,"children":1312},{"style":992},[1313],{"type":48,"value":995},{"type":42,"tag":976,"props":1315,"children":1316},{"style":998},[1317],{"type":48,"value":1318}," scripts\u002Frepo_summary.py",{"type":42,"tag":976,"props":1320,"children":1321},{"style":998},[1322],{"type":48,"value":1323}," langchain-ai\u002Flangchain",{"type":42,"tag":976,"props":1325,"children":1326},{"style":998},[1327],{"type":48,"value":1328}," --format",{"type":42,"tag":976,"props":1330,"children":1331},{"style":998},[1332],{"type":48,"value":1333}," markdown\n",{"type":42,"tag":976,"props":1335,"children":1337},{"class":978,"line":1336},18,[1338,1342,1347,1352,1357],{"type":42,"tag":976,"props":1339,"children":1340},{"style":992},[1341],{"type":48,"value":995},{"type":42,"tag":976,"props":1343,"children":1344},{"style":998},[1345],{"type":48,"value":1346}," scripts\u002Ffind_similar.py",{"type":42,"tag":976,"props":1348,"children":1349},{"style":998},[1350],{"type":48,"value":1351}," vercel\u002Fnext.js",{"type":42,"tag":976,"props":1353,"children":1354},{"style":998},[1355],{"type":48,"value":1356}," --limit",{"type":42,"tag":976,"props":1358,"children":1359},{"style":1035},[1360],{"type":48,"value":1361}," 20\n",{"type":42,"tag":976,"props":1363,"children":1365},{"class":978,"line":1364},19,[1366,1370,1375,1379,1384,1388,1392],{"type":42,"tag":976,"props":1367,"children":1368},{"style":992},[1369],{"type":48,"value":995},{"type":42,"tag":976,"props":1371,"children":1372},{"style":998},[1373],{"type":48,"value":1374}," scripts\u002Fcode_search.py",{"type":42,"tag":976,"props":1376,"children":1377},{"style":1004},[1378],{"type":48,"value":1007},{"type":42,"tag":976,"props":1380,"children":1381},{"style":998},[1382],{"type":48,"value":1383},"def authenticate",{"type":42,"tag":976,"props":1385,"children":1386},{"style":1004},[1387],{"type":48,"value":1017},{"type":42,"tag":976,"props":1389,"children":1390},{"style":998},[1391],{"type":48,"value":1022},{"type":42,"tag":976,"props":1393,"children":1394},{"style":998},[1395],{"type":48,"value":1396}," python\n",{"type":42,"tag":976,"props":1398,"children":1400},{"class":978,"line":1399},20,[1401,1405,1409,1413,1418,1422,1427,1432,1437],{"type":42,"tag":976,"props":1402,"children":1403},{"style":992},[1404],{"type":48,"value":995},{"type":42,"tag":976,"props":1406,"children":1407},{"style":998},[1408],{"type":48,"value":1374},{"type":42,"tag":976,"props":1410,"children":1411},{"style":1004},[1412],{"type":48,"value":1007},{"type":42,"tag":976,"props":1414,"children":1415},{"style":998},[1416],{"type":48,"value":1417},"useEffect",{"type":42,"tag":976,"props":1419,"children":1420},{"style":1004},[1421],{"type":48,"value":1017},{"type":42,"tag":976,"props":1423,"children":1424},{"style":998},[1425],{"type":48,"value":1426}," --org",{"type":42,"tag":976,"props":1428,"children":1429},{"style":998},[1430],{"type":48,"value":1431}," vercel",{"type":42,"tag":976,"props":1433,"children":1434},{"style":998},[1435],{"type":48,"value":1436}," --extension",{"type":42,"tag":976,"props":1438,"children":1439},{"style":998},[1440],{"type":48,"value":1441}," tsx\n",{"type":42,"tag":976,"props":1443,"children":1445},{"class":978,"line":1444},21,[1446,1450,1455,1459,1464,1468,1473],{"type":42,"tag":976,"props":1447,"children":1448},{"style":992},[1449],{"type":48,"value":995},{"type":42,"tag":976,"props":1451,"children":1452},{"style":998},[1453],{"type":48,"value":1454}," scripts\u002Fsearch_issues.py",{"type":42,"tag":976,"props":1456,"children":1457},{"style":1004},[1458],{"type":48,"value":1007},{"type":42,"tag":976,"props":1460,"children":1461},{"style":998},[1462],{"type":48,"value":1463},"memory leak",{"type":42,"tag":976,"props":1465,"children":1466},{"style":1004},[1467],{"type":48,"value":1017},{"type":42,"tag":976,"props":1469,"children":1470},{"style":998},[1471],{"type":48,"value":1472}," --repo",{"type":42,"tag":976,"props":1474,"children":1475},{"style":998},[1476],{"type":48,"value":1477}," langchain-ai\u002Flangchain\n",{"type":42,"tag":976,"props":1479,"children":1481},{"class":978,"line":1480},22,[1482,1486,1490,1494,1499,1503,1507],{"type":42,"tag":976,"props":1483,"children":1484},{"style":992},[1485],{"type":48,"value":995},{"type":42,"tag":976,"props":1487,"children":1488},{"style":998},[1489],{"type":48,"value":1454},{"type":42,"tag":976,"props":1491,"children":1492},{"style":1004},[1493],{"type":48,"value":1007},{"type":42,"tag":976,"props":1495,"children":1496},{"style":998},[1497],{"type":48,"value":1498},"is:open is:issue label:bug",{"type":42,"tag":976,"props":1500,"children":1501},{"style":1004},[1502],{"type":48,"value":1017},{"type":42,"tag":976,"props":1504,"children":1505},{"style":998},[1506],{"type":48,"value":1426},{"type":42,"tag":976,"props":1508,"children":1509},{"style":998},[1510],{"type":48,"value":1511}," langchain-ai\n",{"type":42,"tag":976,"props":1513,"children":1515},{"class":978,"line":1514},23,[1516],{"type":42,"tag":976,"props":1517,"children":1518},{"emptyLinePlaceholder":1045},[1519],{"type":48,"value":1048},{"type":42,"tag":976,"props":1521,"children":1523},{"class":978,"line":1522},24,[1524],{"type":42,"tag":976,"props":1525,"children":1526},{"style":983},[1527],{"type":48,"value":1528},"# Org 审计\n",{"type":42,"tag":976,"props":1530,"children":1532},{"class":978,"line":1531},25,[1533,1537,1542,1546,1551],{"type":42,"tag":976,"props":1534,"children":1535},{"style":992},[1536],{"type":48,"value":995},{"type":42,"tag":976,"props":1538,"children":1539},{"style":998},[1540],{"type":48,"value":1541}," scripts\u002Forg_landscape.py",{"type":42,"tag":976,"props":1543,"children":1544},{"style":998},[1545],{"type":48,"value":1431},{"type":42,"tag":976,"props":1547,"children":1548},{"style":998},[1549],{"type":48,"value":1550}," --group-by",{"type":42,"tag":976,"props":1552,"children":1553},{"style":998},[1554],{"type":48,"value":1555}," language\n",{"type":42,"tag":976,"props":1557,"children":1559},{"class":978,"line":1558},26,[1560,1564,1568,1573,1577],{"type":42,"tag":976,"props":1561,"children":1562},{"style":992},[1563],{"type":48,"value":995},{"type":42,"tag":976,"props":1565,"children":1566},{"style":998},[1567],{"type":48,"value":1541},{"type":42,"tag":976,"props":1569,"children":1570},{"style":998},[1571],{"type":48,"value":1572}," langchain-ai",{"type":42,"tag":976,"props":1574,"children":1575},{"style":998},[1576],{"type":48,"value":1550},{"type":42,"tag":976,"props":1578,"children":1579},{"style":998},[1580],{"type":48,"value":1581}," activity\n",{"type":42,"tag":51,"props":1583,"children":1585},{"id":1584},"common-options-多数脚本共享",[1586],{"type":48,"value":1587},"Common options (多数脚本共享)",{"type":42,"tag":153,"props":1589,"children":1590},{},[1591,1615,1633,1651],{"type":42,"tag":157,"props":1592,"children":1593},{},[1594,1599,1601,1606,1608,1613],{"type":42,"tag":64,"props":1595,"children":1597},{"className":1596},[],[1598],{"type":48,"value":105},{"type":48,"value":1600}," — 默认 markdown。",{"type":42,"tag":64,"props":1602,"children":1604},{"className":1603},[],[1605],{"type":48,"value":120},{"type":48,"value":1607}," 管道处理，",{"type":42,"tag":64,"props":1609,"children":1611},{"className":1610},[],[1612],{"type":48,"value":128},{"type":48,"value":1614}," 窄终端。",{"type":42,"tag":157,"props":1616,"children":1617},{},[1618,1624,1625,1631],{"type":42,"tag":64,"props":1619,"children":1621},{"className":1620},[],[1622],{"type":48,"value":1623},"--limit N",{"type":48,"value":319},{"type":42,"tag":64,"props":1626,"children":1628},{"className":1627},[],[1629],{"type":48,"value":1630},"--min-stars N",{"type":48,"value":1632}," — 上限 \u002F star 下限。",{"type":42,"tag":157,"props":1634,"children":1635},{},[1636,1642,1643,1649],{"type":42,"tag":64,"props":1637,"children":1639},{"className":1638},[],[1640],{"type":48,"value":1641},"--include-forks",{"type":48,"value":319},{"type":42,"tag":64,"props":1644,"children":1646},{"className":1645},[],[1647],{"type":48,"value":1648},"--include-archived",{"type":48,"value":1650}," — 默认都排除，opt-in。",{"type":42,"tag":157,"props":1652,"children":1653},{},[1654,1656,1662,1663,1669],{"type":48,"value":1655},"时间过滤：",{"type":42,"tag":64,"props":1657,"children":1659},{"className":1658},[],[1660],{"type":48,"value":1661},"--pushed-since 30d",{"type":48,"value":410},{"type":42,"tag":64,"props":1664,"children":1666},{"className":1665},[],[1667],{"type":48,"value":1668},"--created-since 1y",{"type":48,"value":1670},"（后缀 d\u002Fw\u002Fm\u002Fy）。",{"type":42,"tag":51,"props":1672,"children":1674},{"id":1673},"find_repospy-特定",[1675],{"type":48,"value":1676},"find_repos.py 特定",{"type":42,"tag":153,"props":1678,"children":1679},{},[1680,1705,1778,1796,1809],{"type":42,"tag":157,"props":1681,"children":1682},{},[1683,1689,1691,1696,1698,1703],{"type":42,"tag":64,"props":1684,"children":1686},{"className":1685},[],[1687],{"type":48,"value":1688},"--semantic",{"type":48,"value":1690},"（默认开）\u002F ",{"type":42,"tag":64,"props":1692,"children":1694},{"className":1693},[],[1695],{"type":48,"value":867},{"type":48,"value":1697},"：多词自由文本无 narrowing 时跑双 scope + union + relevance 排序。",{"type":42,"tag":64,"props":1699,"children":1701},{"className":1700},[],[1702],{"type":48,"value":867},{"type":48,"value":1704}," 回到单搜索。",{"type":42,"tag":157,"props":1706,"children":1707},{},[1708,1713,1714,1720,1721,1727,1728,1734,1735,1741,1742,1748,1749,1755,1756,1762,1763,1769,1771,1776],{"type":42,"tag":73,"props":1709,"children":1710},{},[1711],{"type":48,"value":1712},"narrowing qualifier 会关掉 dual-scope",{"type":48,"value":541},{"type":42,"tag":64,"props":1715,"children":1717},{"className":1716},[],[1718],{"type":48,"value":1719},"--language",{"type":48,"value":410},{"type":42,"tag":64,"props":1722,"children":1724},{"className":1723},[],[1725],{"type":48,"value":1726},"--topic",{"type":48,"value":410},{"type":42,"tag":64,"props":1729,"children":1731},{"className":1730},[],[1732],{"type":48,"value":1733},"--owner",{"type":48,"value":410},{"type":42,"tag":64,"props":1736,"children":1738},{"className":1737},[],[1739],{"type":48,"value":1740},"--org",{"type":48,"value":410},{"type":42,"tag":64,"props":1743,"children":1745},{"className":1744},[],[1746],{"type":48,"value":1747},"--license",{"type":48,"value":410},{"type":42,"tag":64,"props":1750,"children":1752},{"className":1751},[],[1753],{"type":48,"value":1754},"--pushed-since",{"type":48,"value":410},{"type":42,"tag":64,"props":1757,"children":1759},{"className":1758},[],[1760],{"type":48,"value":1761},"--created-since",{"type":48,"value":410},{"type":42,"tag":64,"props":1764,"children":1766},{"className":1765},[],[1767],{"type":48,"value":1768},"--max-stars",{"type":48,"value":1770}," 任一出现 → 单搜索（否则 ",{"type":42,"tag":64,"props":1772,"children":1774},{"className":1773},[],[1775],{"type":48,"value":859},{"type":48,"value":1777}," 会让 awesome-list 压过真实项目）。",{"type":42,"tag":157,"props":1779,"children":1780},{},[1781,1786,1788,1794],{"type":42,"tag":64,"props":1782,"children":1784},{"className":1783},[],[1785],{"type":48,"value":1768},{"type":48,"value":1787}," 也计入 narrowing（",{"type":42,"tag":64,"props":1789,"children":1791},{"className":1790},[],[1792],{"type":48,"value":1793},"stars:\u003C=N",{"type":48,"value":1795},"）。",{"type":42,"tag":157,"props":1797,"children":1798},{},[1799,1801,1807],{"type":48,"value":1800},"JSON 输出带 ",{"type":42,"tag":64,"props":1802,"children":1804},{"className":1803},[],[1805],{"type":48,"value":1806},"_rel",{"type":48,"value":1808}," 字段（0-3 relevance 分）。",{"type":42,"tag":157,"props":1810,"children":1811},{},[1812,1814,1819,1821,1827,1829,1834,1835,1841],{"type":48,"value":1813},"用户 ",{"type":42,"tag":64,"props":1815,"children":1817},{"className":1816},[],[1818],{"type":48,"value":1733},{"type":48,"value":1820}," → ",{"type":42,"tag":64,"props":1822,"children":1824},{"className":1823},[],[1825],{"type":48,"value":1826},"user:",{"type":48,"value":1828}," qualifier；",{"type":42,"tag":64,"props":1830,"children":1832},{"className":1831},[],[1833],{"type":48,"value":1740},{"type":48,"value":1820},{"type":42,"tag":64,"props":1836,"children":1838},{"className":1837},[],[1839],{"type":48,"value":1840},"org:",{"type":48,"value":1842}," qualifier（与 search_issues 一致）。",{"type":42,"tag":51,"props":1844,"children":1846},{"id":1845},"explorepymap-the-field-模式",[1847],{"type":48,"value":1848},"explore.py（\"map the field\" 模式）",{"type":42,"tag":153,"props":1850,"children":1851},{},[1852,1893,1923,1933,1994,2037,2060,2114,2155,2203,2234,2244,2261],{"type":42,"tag":157,"props":1853,"children":1854},{},[1855,1860,1862,1868,1869,1875,1877,1883,1885,1891],{"type":42,"tag":73,"props":1856,"children":1857},{},[1858],{"type":48,"value":1859},"轴由 agent 定",{"type":48,"value":1861},"，无维护 taxonomy 文件。",{"type":42,"tag":64,"props":1863,"children":1865},{"className":1864},[],[1866],{"type":48,"value":1867},"--axis \"name|q1; q2 OR q3\"",{"type":48,"value":176},{"type":42,"tag":64,"props":1870,"children":1872},{"className":1871},[],[1873],{"type":48,"value":1874},";",{"type":48,"value":1876}," 或带空格的 ",{"type":42,"tag":64,"props":1878,"children":1880},{"className":1879},[],[1881],{"type":48,"value":1882},"OR",{"type":48,"value":1884}," 拆多角度，结果 union）。",{"type":42,"tag":64,"props":1886,"children":1888},{"className":1887},[],[1889],{"type":48,"value":1890},"--limit-per-axis",{"type":48,"value":1892}," 默认 20。",{"type":42,"tag":157,"props":1894,"children":1895},{},[1896,1901,1902,1907,1909,1915,1917,1922],{"type":42,"tag":73,"props":1897,"children":1898},{},[1899],{"type":48,"value":1900},"查询要具体",{"type":48,"value":541},{"type":42,"tag":64,"props":1903,"children":1905},{"className":1904},[],[1906],{"type":48,"value":1078},{"type":48,"value":1908}," 会被 100k+ 星通用 repo 淹没；",{"type":42,"tag":64,"props":1910,"children":1912},{"className":1911},[],[1913],{"type":48,"value":1914},"multi-agent framework in:readme",{"type":48,"value":1916}," 更准。语义查询建议 ",{"type":42,"tag":64,"props":1918,"children":1920},{"className":1919},[],[1921],{"type":48,"value":859},{"type":48,"value":300},{"type":42,"tag":157,"props":1924,"children":1925},{},[1926,1931],{"type":42,"tag":73,"props":1927,"children":1928},{},[1929],{"type":48,"value":1930},"抽象\u002F多义主题必须拆轴，不能直接搜主题词",{"type":48,"value":1932},"（见下方\"轴设计方法论\"，这是抽象主题能否可用的关键）。",{"type":42,"tag":157,"props":1934,"children":1935},{},[1936,1947,1949,1955,1957,1963,1964,1970,1971,1977,1979,1985,1987,1992],{"type":42,"tag":73,"props":1937,"children":1938},{},[1939,1945],{"type":42,"tag":64,"props":1940,"children":1942},{"className":1941},[],[1943],{"type":48,"value":1944},"--exclude TERM",{"type":48,"value":1946},"（可重复，通用噪音过滤）",{"type":48,"value":1948},"：匹配 fullName\u002Fdescription 子串，大小写不敏感。对抽象主题几乎必用：",{"type":42,"tag":64,"props":1950,"children":1952},{"className":1951},[],[1953],{"type":48,"value":1954},"--exclude awesome",{"type":48,"value":1956},"（目录不是项目）、",{"type":42,"tag":64,"props":1958,"children":1960},{"className":1959},[],[1961],{"type":48,"value":1962},"--exclude tutorial",{"type":48,"value":410},{"type":42,"tag":64,"props":1965,"children":1967},{"className":1966},[],[1968],{"type":48,"value":1969},"--exclude demo",{"type":48,"value":410},{"type":42,"tag":64,"props":1972,"children":1974},{"className":1973},[],[1975],{"type":48,"value":1976},"--exclude osint",{"type":48,"value":1978}," 等。脚本在后合并阶段统一过滤，跨所有轴、与查询写法无关——比在查询里拼 ",{"type":42,"tag":64,"props":1980,"children":1982},{"className":1981},[],[1983],{"type":48,"value":1984},"-term",{"type":48,"value":1986}," 可靠（实测 GitHub 的 ",{"type":42,"tag":64,"props":1988,"children":1990},{"className":1989},[],[1991],{"type":48,"value":1984},{"type":48,"value":1993}," 排除词经常失效，awesome-* 目录仍会混入）。",{"type":42,"tag":157,"props":1995,"children":1996},{},[1997,1999,2005,2007,2013,2015,2020,2022,2027,2029,2035],{"type":48,"value":1998},"*",{"type":42,"tag":2000,"props":2001,"children":2002},"em",{},[2003],{"type":48,"value":2004},"awesome-",{"type":48,"value":2006}," 目录自动标记 ",{"type":42,"tag":64,"props":2008,"children":2010},{"className":2009},[],[2011],{"type":48,"value":2012},"☰list",{"type":48,"value":2014}," 并重度降权（-1000，不删除）**：目录 vs 项目语义不同。探项目类主题时它们沉到所有真实项目之后（可能被 ",{"type":42,"tag":64,"props":2016,"children":2018},{"className":2017},[],[2019],{"type":48,"value":1890},{"type":48,"value":2021}," 挤出 top N）；",{"type":42,"tag":73,"props":2023,"children":2024},{},[2025],{"type":48,"value":2026},"若主题本身是资源合集\u002Fawesome 目录",{"type":48,"value":2028},"（\"awesome X 有哪些\"），别用 explore 轴——用 ",{"type":42,"tag":64,"props":2030,"children":2032},{"className":2031},[],[2033],{"type":48,"value":2034},"find_repos.py \"awesome \u003Ctopic>\"",{"type":48,"value":2036}," 直接搜目录。",{"type":42,"tag":157,"props":2038,"children":2039},{},[2040,2051,2053,2058],{"type":42,"tag":73,"props":2041,"children":2042},{},[2043,2049],{"type":42,"tag":64,"props":2044,"children":2046},{"className":2045},[],[2047],{"type":48,"value":2048},"--min-stars",{"type":48,"value":2050}," 挡不住语义噪音",{"type":48,"value":2052},"：它只过滤低星，高星通用仓库（dify\u002FOpenHands\u002Ftorvalds\u002Flinux 这种 readme 概念密度高的）照样进来。去噪靠",{"type":42,"tag":73,"props":2054,"children":2055},{},[2056],{"type":48,"value":2057},"查询精确化 + --exclude",{"type":48,"value":2059},"，不是抬高 min-stars。",{"type":42,"tag":157,"props":2061,"children":2062},{},[2063,2068,2070,2076,2078,2083,2085,2091,2092,2098,2100,2106,2108,2113],{"type":42,"tag":73,"props":2064,"children":2065},{},[2066],{"type":48,"value":2067},"输出分层",{"type":48,"value":2069},"：默认 stdout ≤ ~3KB——canonical anchors → 跨轴命中 → top 5\u002F轴；",{"type":42,"tag":64,"props":2071,"children":2073},{"className":2072},[],[2074],{"type":48,"value":2075},"--full",{"type":48,"value":2077}," 把完整报告打到 stdout；完整报告",{"type":42,"tag":73,"props":2079,"children":2080},{},[2081],{"type":48,"value":2082},"总是",{"type":48,"value":2084},"写盘（",{"type":42,"tag":64,"props":2086,"children":2088},{"className":2087},[],[2089],{"type":48,"value":2090},"%TEMP%\u002Fgh-explore-{topic}-{YYYYMMDD-HHMMSS}.md",{"type":48,"value":107},{"type":42,"tag":64,"props":2093,"children":2095},{"className":2094},[],[2096],{"type":48,"value":2097},"--output PATH",{"type":48,"value":2099}," 改路径，",{"type":42,"tag":64,"props":2101,"children":2103},{"className":2102},[],[2104],{"type":48,"value":2105},"--output",{"type":48,"value":2107}," 隐含 ",{"type":42,"tag":64,"props":2109,"children":2111},{"className":2110},[],[2112],{"type":48,"value":2075},{"type":48,"value":1795},{"type":42,"tag":157,"props":2115,"children":2116},{},[2117,2122,2123,2129,2131,2137,2139,2145,2147,2153],{"type":42,"tag":73,"props":2118,"children":2119},{},[2120],{"type":48,"value":2121},"排序 relevance_score",{"type":48,"value":541},{"type":42,"tag":64,"props":2124,"children":2126},{"className":2125},[],[2127],{"type":48,"value":2128},"_is_canonical",{"type":48,"value":2130}," 100万 > ",{"type":42,"tag":64,"props":2132,"children":2134},{"className":2133},[],[2135],{"type":48,"value":2136},"_backfilled",{"type":48,"value":2138}," 10万 > ",{"type":42,"tag":64,"props":2140,"children":2142},{"className":2141},[],[2143],{"type":48,"value":2144},"_in_awesome",{"type":48,"value":2146}," 1万 > 跨轴数×1000 > log10(stars+1)×10，",{"type":42,"tag":64,"props":2148,"children":2150},{"className":2149},[],[2151],{"type":48,"value":2152},"_is_list",{"type":48,"value":2154},"（awesome 目录）−1000 沉底。100 星 canonical 锚点永远压过 20 万星只提一嘴的通用 repo。",{"type":42,"tag":157,"props":2156,"children":2157},{},[2158,2163,2164,2170,2172,2178,2180,2186,2188,2193,2195,2201],{"type":42,"tag":73,"props":2159,"children":2160},{},[2161],{"type":48,"value":2162},"信号 flag",{"type":48,"value":541},{"type":42,"tag":64,"props":2165,"children":2167},{"className":2166},[],[2168],{"type":48,"value":2169},"★canonical",{"type":48,"value":2171},"（代码内建的必出锚点集，multi-agent\u002Frag\u002Fagent 主题）、",{"type":42,"tag":64,"props":2173,"children":2175},{"className":2174},[],[2176],{"type":48,"value":2177},"↻Naxes",{"type":48,"value":2179},"（N 轴都出现）、",{"type":42,"tag":64,"props":2181,"children":2183},{"className":2182},[],[2184],{"type":48,"value":2185},"✓awesome",{"type":48,"value":2187},"（在 awesome list 里）、",{"type":42,"tag":64,"props":2189,"children":2191},{"className":2190},[],[2192],{"type":48,"value":2012},{"type":48,"value":2194},"（是 awesome 目录，不是项目）、",{"type":42,"tag":64,"props":2196,"children":2198},{"className":2197},[],[2199],{"type":48,"value":2200},"⚑backfilled",{"type":48,"value":2202},"（anchor 缺失时用 core API 补拉）。",{"type":42,"tag":157,"props":2204,"children":2205},{},[2206,2217,2219,2225,2227,2232],{"type":42,"tag":73,"props":2207,"children":2208},{},[2209,2215],{"type":42,"tag":64,"props":2210,"children":2212},{"className":2211},[],[2213],{"type":48,"value":2214},"--awesome",{"type":48,"value":2216}," 真实成本",{"type":48,"value":2218},"（重要，配额敏感）：每个 slug 变体 1 次 ",{"type":42,"tag":64,"props":2220,"children":2222},{"className":2221},[],[2223],{"type":48,"value":2224},"gh search",{"type":48,"value":2226}," + 找到后 1 次 readme API。多词 topic 最多 ~8 个变体 → ",{"type":42,"tag":73,"props":2228,"children":2229},{},[2230],{"type":48,"value":2231},"最多 ~8 次 search + 1 次 readme",{"type":48,"value":2233},"，不是 1-2 次。默认关闭；要交叉验证才开。",{"type":42,"tag":157,"props":2235,"children":2236},{},[2237,2242],{"type":42,"tag":73,"props":2238,"children":2239},{},[2240],{"type":48,"value":2241},"canonical backfill 用 core API quota（5000\u002Fhr）",{"type":48,"value":2243},"，不占 search quota（30\u002Fmin），search 限流后仍可用。",{"type":42,"tag":157,"props":2245,"children":2246},{},[2247,2252,2254,2259],{"type":42,"tag":73,"props":2248,"children":2249},{},[2250],{"type":48,"value":2251},"canonical 锚点只覆盖热门主题",{"type":48,"value":2253},"（multi-agent\u002Frag\u002Fagent）：抽象新概念主题（\"主动智能\"\"自反馈自优化\"）拿不到锚点验证，此时",{"type":42,"tag":73,"props":2255,"children":2256},{},[2257],{"type":48,"value":2258},"轴设计的信噪比检查",{"type":48,"value":2260},"就是唯一的质控手段——跑完看是否有轴被无关巨仓淹没，有就缩查询加排除。",{"type":42,"tag":157,"props":2262,"children":2263},{},[2264,2269,2271,2277,2279,2285,2287,2293,2295,2301,2303,2309,2311,2317,2318,2324,2326,2331],{"type":42,"tag":73,"props":2265,"children":2266},{},[2267],{"type":48,"value":2268},"轴质量观察指标（explore 自动输出，供判断非定论）",{"type":48,"value":2270},"：每轴自动算 3 个原始信号——",{"type":42,"tag":64,"props":2272,"children":2274},{"className":2273},[],[2275],{"type":48,"value":2276},"semantic_hit_rate",{"type":48,"value":2278},"（repo 描述命中查询显著词的比例）、",{"type":42,"tag":64,"props":2280,"children":2282},{"className":2281},[],[2283],{"type":48,"value":2284},"list_dir_ratio",{"type":48,"value":2286},"（awesome 目录占比）、",{"type":42,"tag":64,"props":2288,"children":2290},{"className":2289},[],[2291],{"type":48,"value":2292},"top3_giant",{"type":48,"value":2294},"（top3 是否全是 5 万+ 巨仓），JSON 模式在 ",{"type":42,"tag":64,"props":2296,"children":2298},{"className":2297},[],[2299],{"type":48,"value":2300},"axes[i].quality",{"type":48,"value":2302},"，table 在轴名后标 ",{"type":42,"tag":64,"props":2304,"children":2306},{"className":2305},[],[2307],{"type":48,"value":2308},"低命中",{"type":48,"value":2310},"\u002F",{"type":42,"tag":64,"props":2312,"children":2314},{"className":2313},[],[2315],{"type":48,"value":2316},"☰d",{"type":48,"value":2310},{"type":42,"tag":64,"props":2319,"children":2321},{"className":2320},[],[2322],{"type":48,"value":2323},"⇧巨仓",{"type":48,"value":2325},"，markdown 在轴标题下加一行注释。",{"type":42,"tag":73,"props":2327,"children":2328},{},[2329],{"type":48,"value":2330},"只观测不下结论",{"type":48,"value":2332},"：语义主题（in:readme 召回）的命中率天然偏低，会被误伤，所以指标是给 agent 看的线索，不是自动 verdict，绝不自动改查询。",{"type":42,"tag":2334,"props":2335,"children":2337},"h3",{"id":2336},"轴设计方法论抽象多义主题必读",[2338],{"type":48,"value":2339},"轴设计方法论（抽象\u002F多义主题必读）",{"type":42,"tag":58,"props":2341,"children":2342},{},[2343],{"type":48,"value":2344},"抽象主题（人机协作、主动智能、自反馈自优化……）直接用主题词搜索必被泛词噪音淹没。通用拆法：",{"type":42,"tag":2346,"props":2347,"children":2348},"ol",{},[2349,2394,2420,2445,2463,2473],{"type":42,"tag":157,"props":2350,"children":2351},{},[2352,2357,2359,2365,2366,2372,2373,2379,2380,2386,2387,2393],{"type":42,"tag":73,"props":2353,"children":2354},{},[2355],{"type":48,"value":2356},"拆成 2-4 个\"可查询的具体语义单元\"",{"type":48,"value":2358},"，不是搜主题词本身。例：",{"type":42,"tag":64,"props":2360,"children":2362},{"className":2361},[],[2363],{"type":48,"value":2364},"主动智能",{"type":48,"value":1820},{"type":42,"tag":64,"props":2367,"children":2369},{"className":2368},[],[2370],{"type":48,"value":2371},"proactive assistance",{"type":48,"value":319},{"type":42,"tag":64,"props":2374,"children":2376},{"className":2375},[],[2377],{"type":48,"value":2378},"anticipatory computing",{"type":48,"value":319},{"type":42,"tag":64,"props":2381,"children":2383},{"className":2382},[],[2384],{"type":48,"value":2385},"agentic OS",{"type":48,"value":319},{"type":42,"tag":64,"props":2388,"children":2390},{"className":2389},[],[2391],{"type":48,"value":2392},"autonomous agent operating system",{"type":48,"value":300},{"type":42,"tag":157,"props":2395,"children":2396},{},[2397,2402,2404,2410,2412,2418],{"type":42,"tag":73,"props":2398,"children":2399},{},[2400],{"type":48,"value":2401},"每个轴给 1-3 个查询角度",{"type":48,"value":2403},"，角度要带限定词避免裸宽词。裸 ",{"type":42,"tag":64,"props":2405,"children":2407},{"className":2406},[],[2408],{"type":48,"value":2409},"proactive AI",{"type":48,"value":2411}," 会被 100k+ 通用 repo 淹没；",{"type":42,"tag":64,"props":2413,"children":2415},{"className":2414},[],[2416],{"type":48,"value":2417},"proactive context-aware AI partner in:readme",{"type":48,"value":2419}," 才能捞到 MineContext 这种真相关项目。",{"type":42,"tag":157,"props":2421,"children":2422},{},[2423,2428,2430,2436,2438,2443],{"type":42,"tag":73,"props":2424,"children":2425},{},[2426],{"type":48,"value":2427},"宽泛查询会退化为按 star 排序的宽匹配",{"type":48,"value":2429},"：当轴查询太宽（如 ",{"type":42,"tag":64,"props":2431,"children":2433},{"className":2432},[],[2434],{"type":48,"value":2435},"AI operating system in:readme",{"type":48,"value":2437},"），GitHub 直接返回 torvalds\u002Flinux、vllm 这种巨仓——",{"type":42,"tag":73,"props":2439,"children":2440},{},[2441],{"type":48,"value":2442},"信噪比检查的信号",{"type":48,"value":2444},"：若某轴 top 全是明显无关的大仓库，说明查询太宽，缩到更具体语义。",{"type":42,"tag":157,"props":2446,"children":2447},{},[2448,2461],{"type":42,"tag":73,"props":2449,"children":2450},{},[2451,2453,2459],{"type":48,"value":2452},"用 ",{"type":42,"tag":64,"props":2454,"children":2456},{"className":2455},[],[2457],{"type":48,"value":2458},"--exclude",{"type":48,"value":2460}," 处理可枚举的噪音类别",{"type":48,"value":2462},"：awesome、tutorial、demo、osint、course、example……抽象主题几乎必用。",{"type":42,"tag":157,"props":2464,"children":2465},{},[2466,2471],{"type":42,"tag":73,"props":2467,"children":2468},{},[2469],{"type":48,"value":2470},"min-stars 是最后手段",{"type":48,"value":2472},"：只在低星噪音泛滥时抬它，别指望它去噪。",{"type":42,"tag":157,"props":2474,"children":2475},{},[2476,2481],{"type":42,"tag":73,"props":2477,"children":2478},{},[2479],{"type":48,"value":2480},"先小后大",{"type":48,"value":2482},"：先跑 2 轴验证信噪比，确认轴方向对了再扩到 4 轴，避免 8 轴全被污染浪费配额。",{"type":42,"tag":51,"props":2484,"children":2486},{"id":2485},"脚本输出-schema-format-json-通用",[2487,2489,2494],{"type":48,"value":2488},"脚本输出 schema（",{"type":42,"tag":64,"props":2490,"children":2492},{"className":2491},[],[2493],{"type":48,"value":143},{"type":48,"value":2495}," 通用）",{"type":42,"tag":58,"props":2497,"children":2498},{},[2499,2501,2506,2508,2513,2515,2520,2522,2527],{"type":48,"value":2500},"所有发现类脚本 ",{"type":42,"tag":64,"props":2502,"children":2504},{"className":2503},[],[2505],{"type":48,"value":143},{"type":48,"value":2507}," 返回",{"type":42,"tag":73,"props":2509,"children":2510},{},[2511],{"type":48,"value":2512},"相同字段命名",{"type":48,"value":2514},"（GitHub API 原生 camelCase，",{"type":42,"tag":73,"props":2516,"children":2517},{},[2518],{"type":48,"value":2519},"不是",{"type":48,"value":2521}," snake_case）。",{"type":42,"tag":73,"props":2523,"children":2524},{},[2525],{"type":48,"value":2526},"不要猜字段——读契约的两种方式",{"type":48,"value":541},{"type":42,"tag":2346,"props":2529,"children":2530},{},[2531,2570],{"type":42,"tag":157,"props":2532,"children":2533},{},[2534,2540,2542,2547,2548,2553,2554,2560,2562,2568],{"type":42,"tag":64,"props":2535,"children":2537},{"className":2536},[],[2538],{"type":48,"value":2539},"python scripts\u002F\u003Cscript>.py --schema",{"type":48,"value":2541},"（仅 3 个脚本支持：",{"type":42,"tag":64,"props":2543,"children":2545},{"className":2544},[],[2546],{"type":48,"value":845},{"type":48,"value":319},{"type":42,"tag":64,"props":2549,"children":2551},{"className":2550},[],[2552],{"type":48,"value":942},{"type":48,"value":319},{"type":42,"tag":64,"props":2555,"children":2557},{"className":2556},[],[2558],{"type":48,"value":2559},"repo_summary",{"type":48,"value":2561},"，以及通过 ",{"type":42,"tag":64,"props":2563,"children":2565},{"className":2564},[],[2566],{"type":48,"value":2567},"_lib.print_schema",{"type":48,"value":2569}," 间接调）",{"type":42,"tag":157,"props":2571,"children":2572},{},[2573,2575,2581,2582,2588,2589,2595,2597,2602,2604,2610],{"type":48,"value":2574},"直接看 ",{"type":42,"tag":64,"props":2576,"children":2578},{"className":2577},[],[2579],{"type":48,"value":2580},"explore.schema.json",{"type":48,"value":319},{"type":42,"tag":64,"props":2583,"children":2585},{"className":2584},[],[2586],{"type":48,"value":2587},"repo.schema.json",{"type":48,"value":319},{"type":42,"tag":64,"props":2590,"children":2592},{"className":2591},[],[2593],{"type":48,"value":2594},"repo_summary.schema.json",{"type":48,"value":2596}," 三个契约文件（位于脚本目录下的 schemas 子目录；其他 6 个脚本的输出结构以 ",{"type":42,"tag":64,"props":2598,"children":2600},{"className":2599},[],[2601],{"type":48,"value":2224},{"type":48,"value":2603}," 原生 JSON 字段为准，参考 ",{"type":42,"tag":64,"props":2605,"children":2607},{"className":2606},[],[2608],{"type":48,"value":2609},"references\u002Fcommands-search-format.md",{"type":48,"value":2611},"）",{"type":42,"tag":58,"props":2613,"children":2614},{},[2615,2617,2622],{"type":48,"value":2616},"三个契约文件的",{"type":42,"tag":73,"props":2618,"children":2619},{},[2620],{"type":48,"value":2621},"关键差异",{"type":48,"value":2623},"（猜错必踩的坑）：",{"type":42,"tag":128,"props":2625,"children":2626},{},[2627,2656],{"type":42,"tag":2628,"props":2629,"children":2630},"thead",{},[2631],{"type":42,"tag":2632,"props":2633,"children":2634},"tr",{},[2635,2641,2646,2651],{"type":42,"tag":2636,"props":2637,"children":2638},"th",{},[2639],{"type":48,"value":2640},"脚本",{"type":42,"tag":2636,"props":2642,"children":2643},{},[2644],{"type":48,"value":2645},"输出位置",{"type":42,"tag":2636,"props":2647,"children":2648},{},[2649],{"type":48,"value":2650},"字段复数",{"type":42,"tag":2636,"props":2652,"children":2653},{},[2654],{"type":48,"value":2655},"最易踩",{"type":42,"tag":2657,"props":2658,"children":2659},"tbody",{},[2660,2709,2762],{"type":42,"tag":2632,"props":2661,"children":2662},{},[2663,2669,2674,2692],{"type":42,"tag":2664,"props":2665,"children":2666},"td",{},[2667],{"type":48,"value":2668},"find_repos 等发现类",{"type":42,"tag":2664,"props":2670,"children":2671},{},[2672],{"type":48,"value":2673},"顶层数组，每项一个 repo",{"type":42,"tag":2664,"props":2675,"children":2676},{},[2677,2683,2684,2690],{"type":42,"tag":64,"props":2678,"children":2680},{"className":2679},[],[2681],{"type":48,"value":2682},"stargazersCount",{"type":48,"value":2310},{"type":42,"tag":64,"props":2685,"children":2687},{"className":2686},[],[2688],{"type":48,"value":2689},"forksCount",{"type":48,"value":2691},"（复数）",{"type":42,"tag":2664,"props":2693,"children":2694},{},[2695,2701,2703],{"type":42,"tag":64,"props":2696,"children":2698},{"className":2697},[],[2699],{"type":48,"value":2700},"fullName",{"type":48,"value":2702}," 不是 ",{"type":42,"tag":64,"props":2704,"children":2706},{"className":2705},[],[2707],{"type":48,"value":2708},"full_name",{"type":42,"tag":2632,"props":2710,"children":2711},{},[2712,2716,2739,2757],{"type":42,"tag":2664,"props":2713,"children":2714},{},[2715],{"type":48,"value":942},{"type":42,"tag":2664,"props":2717,"children":2718},{},[2719,2721,2727,2728],{"type":48,"value":2720},"顶层 ",{"type":42,"tag":64,"props":2722,"children":2724},{"className":2723},[],[2725],{"type":48,"value":2726},"{topic, axes:[...]}",{"type":48,"value":107},{"type":42,"tag":73,"props":2729,"children":2730},{},[2731,2733],{"type":48,"value":2732},"repo 在 ",{"type":42,"tag":64,"props":2734,"children":2736},{"className":2735},[],[2737],{"type":48,"value":2738},"axes[i].repos[j]",{"type":42,"tag":2664,"props":2740,"children":2741},{},[2742,2744,2749,2750,2755],{"type":48,"value":2743},"复数 + 信号字段（",{"type":42,"tag":64,"props":2745,"children":2747},{"className":2746},[],[2748],{"type":48,"value":2128},{"type":48,"value":2310},{"type":42,"tag":64,"props":2751,"children":2753},{"className":2752},[],[2754],{"type":48,"value":2152},{"type":48,"value":2756}," 等）",{"type":42,"tag":2664,"props":2758,"children":2759},{},[2760],{"type":48,"value":2761},"在顶层找 repo",{"type":42,"tag":2632,"props":2763,"children":2764},{},[2765,2769,2793,2811],{"type":42,"tag":2664,"props":2766,"children":2767},{},[2768],{"type":48,"value":2559},{"type":42,"tag":2664,"props":2770,"children":2771},{},[2772,2785,2786,2792],{"type":42,"tag":73,"props":2773,"children":2774},{},[2775,2777,2783],{"type":48,"value":2776},"嵌 ",{"type":42,"tag":64,"props":2778,"children":2780},{"className":2779},[],[2781],{"type":48,"value":2782},"repo",{"type":48,"value":2784}," 键下",{"type":48,"value":176},{"type":42,"tag":64,"props":2787,"children":2789},{"className":2788},[],[2790],{"type":48,"value":2791},"d['repo']['stargazerCount']",{"type":48,"value":2611},{"type":42,"tag":2664,"props":2794,"children":2795},{},[2796,2802,2803,2809],{"type":42,"tag":64,"props":2797,"children":2799},{"className":2798},[],[2800],{"type":48,"value":2801},"stargazerCount",{"type":48,"value":2310},{"type":42,"tag":64,"props":2804,"children":2806},{"className":2805},[],[2807],{"type":48,"value":2808},"forkCount",{"type":48,"value":2810},"（单数）",{"type":42,"tag":2664,"props":2812,"children":2813},{},[2814],{"type":48,"value":2815},"顶层直接取字段",{"type":42,"tag":2817,"props":2818,"children":2819},"blockquote",{},[2820],{"type":42,"tag":58,"props":2821,"children":2822},{},[2823,2825,2831,2833,2838],{"type":48,"value":2824},"各脚本完整参数以 ",{"type":42,"tag":64,"props":2826,"children":2828},{"className":2827},[],[2829],{"type":48,"value":2830},"python scripts\u002F\u003Cname>.py --help",{"type":48,"value":2832}," 为权威。管道要 JSON 必须显式 ",{"type":42,"tag":64,"props":2834,"children":2836},{"className":2835},[],[2837],{"type":48,"value":143},{"type":48,"value":300},{"type":42,"tag":51,"props":2840,"children":2842},{"id":2841},"命令索引references按需查阅",[2843],{"type":48,"value":2844},"命令索引（references\u002F，按需查阅）",{"type":42,"tag":58,"props":2846,"children":2847},{},[2848,2850,2855],{"type":48,"value":2849},"管理类操作直接 ",{"type":42,"tag":64,"props":2851,"children":2853},{"className":2852},[],[2854],{"type":48,"value":85},{"type":48,"value":2856},"，具体命令按类型查对应文件，不内联复制：",{"type":42,"tag":128,"props":2858,"children":2859},{},[2860,2881],{"type":42,"tag":2628,"props":2861,"children":2862},{},[2863],{"type":42,"tag":2632,"props":2864,"children":2865},{},[2866,2871,2876],{"type":42,"tag":2636,"props":2867,"children":2868},{},[2869],{"type":48,"value":2870},"类型",{"type":42,"tag":2636,"props":2872,"children":2873},{},[2874],{"type":48,"value":2875},"文件",{"type":42,"tag":2636,"props":2877,"children":2878},{},[2879],{"type":48,"value":2880},"覆盖",{"type":42,"tag":2657,"props":2882,"children":2883},{},[2884,2906,2928,2960,2982],{"type":42,"tag":2632,"props":2885,"children":2886},{},[2887,2892,2901],{"type":42,"tag":2664,"props":2888,"children":2889},{},[2890],{"type":48,"value":2891},"认证\u002F配置\u002F结构",{"type":42,"tag":2664,"props":2893,"children":2894},{},[2895],{"type":42,"tag":64,"props":2896,"children":2898},{"className":2897},[],[2899],{"type":48,"value":2900},"references\u002Fcommands-auth-config.md",{"type":42,"tag":2664,"props":2902,"children":2903},{},[2904],{"type":48,"value":2905},"安装、auth、CLI 结构、config、环境变量、全局 flag",{"type":42,"tag":2632,"props":2907,"children":2908},{},[2909,2914,2923],{"type":42,"tag":2664,"props":2910,"children":2911},{},[2912],{"type":48,"value":2913},"仓库\u002FIssue\u002FPR",{"type":42,"tag":2664,"props":2915,"children":2916},{},[2917],{"type":42,"tag":64,"props":2918,"children":2920},{"className":2919},[],[2921],{"type":48,"value":2922},"references\u002Fcommands-repo-issue-pr.md",{"type":42,"tag":2664,"props":2924,"children":2925},{},[2926],{"type":48,"value":2927},"repo 全生命周期、issue、PR、常用开发流",{"type":42,"tag":2632,"props":2929,"children":2930},{},[2931,2936,2944],{"type":42,"tag":2664,"props":2932,"children":2933},{},[2934],{"type":48,"value":2935},"搜索\u002F格式化\u002FAPI",{"type":42,"tag":2664,"props":2937,"children":2938},{},[2939],{"type":42,"tag":64,"props":2940,"children":2942},{"className":2941},[],[2943],{"type":48,"value":2609},{"type":42,"tag":2664,"props":2945,"children":2946},{},[2947,2952,2954],{"type":42,"tag":64,"props":2948,"children":2950},{"className":2949},[],[2951],{"type":48,"value":2224},{"type":48,"value":2953},"、JSON\u002Fjq\u002F模板输出、",{"type":42,"tag":64,"props":2955,"children":2957},{"className":2956},[],[2958],{"type":48,"value":2959},"gh api",{"type":42,"tag":2632,"props":2961,"children":2962},{},[2963,2968,2977],{"type":42,"tag":2664,"props":2964,"children":2965},{},[2966],{"type":48,"value":2967},"CI\u002FCD",{"type":42,"tag":2664,"props":2969,"children":2970},{},[2971],{"type":42,"tag":64,"props":2972,"children":2974},{"className":2973},[],[2975],{"type":48,"value":2976},"references\u002Fcommands-cicd.md",{"type":42,"tag":2664,"props":2978,"children":2979},{},[2980],{"type":48,"value":2981},"run\u002Fworkflow\u002Fcache\u002Fsecret\u002Fvariable\u002Frelease",{"type":42,"tag":2632,"props":2983,"children":2984},{},[2985,2990,2999],{"type":42,"tag":2664,"props":2986,"children":2987},{},[2988],{"type":48,"value":2989},"杂项",{"type":42,"tag":2664,"props":2991,"children":2992},{},[2993],{"type":42,"tag":64,"props":2994,"children":2996},{"className":2995},[],[2997],{"type":48,"value":2998},"references\u002Fcommands-misc.md",{"type":42,"tag":2664,"props":3000,"children":3001},{},[3002],{"type":48,"value":3003},"org、label、SSH\u002FGPG、gist、codespace、alias、extension、ruleset",{"type":42,"tag":51,"props":3005,"children":3007},{"id":3006},"搜索-gotchas脚本已处理agent-不必重踩",[3008],{"type":48,"value":3009},"搜索 gotchas（脚本已处理，agent 不必重踩）",{"type":42,"tag":2346,"props":3011,"children":3012},{},[3013,3051,3063,3081,3094,3142],{"type":42,"tag":157,"props":3014,"children":3015},{},[3016,3021,3022,3027,3029,3035,3037,3042,3044,3049],{"type":42,"tag":64,"props":3017,"children":3019},{"className":3018},[],[3020],{"type":48,"value":2224},{"type":48,"value":451},{"type":42,"tag":64,"props":3023,"children":3025},{"className":3024},[],[3026],{"type":48,"value":1882},{"type":48,"value":3028}," 不符合直觉——",{"type":42,"tag":64,"props":3030,"children":3032},{"className":3031},[],[3033],{"type":48,"value":3034},"\"A OR B\"",{"type":48,"value":3036}," 返回 0 结果。用 ",{"type":42,"tag":64,"props":3038,"children":3040},{"className":3039},[],[3041],{"type":48,"value":1874},{"type":48,"value":3043}," 或带空格 ",{"type":42,"tag":64,"props":3045,"children":3047},{"className":3046},[],[3048],{"type":48,"value":1882},{"type":48,"value":3050}," 拆多 query。",{"type":42,"tag":157,"props":3052,"children":3053},{},[3054,3056,3061],{"type":48,"value":3055},"语义查询用 ",{"type":42,"tag":64,"props":3057,"children":3059},{"className":3058},[],[3060],{"type":48,"value":859},{"type":48,"value":3062},"，description 太短。",{"type":42,"tag":157,"props":3064,"children":3065},{},[3066,3072,3074,3080],{"type":42,"tag":64,"props":3067,"children":3069},{"className":3068},[],[3070],{"type":48,"value":3071},"topic:",{"type":48,"value":3073}," 作为硬过滤不可靠（项目打标签不一致）；优先 ",{"type":42,"tag":64,"props":3075,"children":3077},{"className":3076},[],[3078],{"type":48,"value":3079},"stars:>=",{"type":48,"value":300},{"type":42,"tag":157,"props":3082,"children":3083},{},[3084,3086,3092],{"type":48,"value":3085},"GitHub 限流：认证 ~5000\u002Fhr API + search 30\u002Fmin。脚本默认 ",{"type":42,"tag":64,"props":3087,"children":3089},{"className":3088},[],[3090],{"type":48,"value":3091},"--max-workers 2",{"type":48,"value":3093}," 守住 30\u002Fmin；撞 403\u002F429 有重试但会慢。8 轴 × 3 角度 = 24+ 次调用，注意配额。",{"type":42,"tag":157,"props":3095,"children":3096},{},[3097,3103,3105,3110,3112,3118,3120,3125,3127,3133,3135,3140],{"type":42,"tag":64,"props":3098,"children":3100},{"className":3099},[],[3101],{"type":48,"value":3102},"gh search repos",{"type":48,"value":3104}," 的 JSON ",{"type":42,"tag":73,"props":3106,"children":3107},{},[3108],{"type":48,"value":3109},"没有 topics 字段",{"type":48,"value":3111},"（只有 ",{"type":42,"tag":64,"props":3113,"children":3115},{"className":3114},[],[3116],{"type":48,"value":3117},"gh repo view",{"type":48,"value":3119}," 有）。",{"type":42,"tag":64,"props":3121,"children":3123},{"className":3122},[],[3124],{"type":48,"value":706},{"type":48,"value":3126}," 因此用 N+1 次 ",{"type":42,"tag":64,"props":3128,"children":3130},{"className":3129},[],[3131],{"type":48,"value":3132},"repo view",{"type":48,"value":3134}," 取 topics（只取前 10 个 seed）；",{"type":42,"tag":64,"props":3136,"children":3138},{"className":3137},[],[3139],{"type":48,"value":845},{"type":48,"value":3141}," 因此不做 self-echo 过滤。",{"type":42,"tag":157,"props":3143,"children":3144},{},[3145,3147,3153,3155,3161],{"type":48,"value":3146},"更多结果 ≠ 完整结果：文本搜索漏知名项目（",{"type":42,"tag":64,"props":3148,"children":3150},{"className":3149},[],[3151],{"type":48,"value":3152},"prometheus",{"type":48,"value":3154}," 不写 \"observability platform\"）。生态型问题直接上 ",{"type":42,"tag":64,"props":3156,"children":3158},{"className":3157},[],[3159],{"type":48,"value":3160},"explore.py --awesome",{"type":48,"value":300},{"type":42,"tag":51,"props":3163,"children":3165},{"id":3164},"组装脚本管道友好",[3166],{"type":48,"value":3167},"组装脚本（管道友好）",{"type":42,"tag":58,"props":3169,"children":3170},{},[3171,3173,3178],{"type":48,"value":3172},"所有脚本 ",{"type":42,"tag":64,"props":3174,"children":3176},{"className":3175},[],[3177],{"type":48,"value":143},{"type":48,"value":3179}," 输出合法 JSON，可链式：",{"type":42,"tag":965,"props":3181,"children":3183},{"className":967,"code":3182,"language":969,"meta":970,"style":970},"python scripts\u002Fdiscover.py \"agent framework\" --format json \\\n  | python -c \"import json,sys; r=json.load(sys.stdin)['topics']; print('\\n'.join(t for t,v in r.items() if v))\"\npython scripts\u002Ftrending.py --window 30d --format json \\\n  | python -c \"import json,sys,datetime; d=json.load(sys.stdin); print(len(d), 'trending repos')\"\n",[3184],{"type":42,"tag":64,"props":3185,"children":3186},{"__ignoreMap":970},[3187,3223,3253,3285],{"type":42,"tag":976,"props":3188,"children":3189},{"class":978,"line":979},[3190,3194,3198,3202,3206,3210,3214,3219],{"type":42,"tag":976,"props":3191,"children":3192},{"style":992},[3193],{"type":48,"value":995},{"type":42,"tag":976,"props":3195,"children":3196},{"style":998},[3197],{"type":48,"value":1069},{"type":42,"tag":976,"props":3199,"children":3200},{"style":1004},[3201],{"type":48,"value":1007},{"type":42,"tag":976,"props":3203,"children":3204},{"style":998},[3205],{"type":48,"value":1078},{"type":42,"tag":976,"props":3207,"children":3208},{"style":1004},[3209],{"type":48,"value":1017},{"type":42,"tag":976,"props":3211,"children":3212},{"style":998},[3213],{"type":48,"value":1328},{"type":42,"tag":976,"props":3215,"children":3216},{"style":998},[3217],{"type":48,"value":3218}," json",{"type":42,"tag":976,"props":3220,"children":3221},{"style":1148},[3222],{"type":48,"value":1151},{"type":42,"tag":976,"props":3224,"children":3225},{"class":978,"line":27},[3226,3231,3235,3240,3244,3249],{"type":42,"tag":976,"props":3227,"children":3228},{"style":1004},[3229],{"type":48,"value":3230},"  |",{"type":42,"tag":976,"props":3232,"children":3233},{"style":992},[3234],{"type":48,"value":1027},{"type":42,"tag":976,"props":3236,"children":3237},{"style":998},[3238],{"type":48,"value":3239}," -c",{"type":42,"tag":976,"props":3241,"children":3242},{"style":1004},[3243],{"type":48,"value":1007},{"type":42,"tag":976,"props":3245,"children":3246},{"style":998},[3247],{"type":48,"value":3248},"import json,sys; r=json.load(sys.stdin)['topics']; print('\\n'.join(t for t,v in r.items() if v))",{"type":42,"tag":976,"props":3250,"children":3251},{"style":1004},[3252],{"type":48,"value":1199},{"type":42,"tag":976,"props":3254,"children":3255},{"class":978,"line":1041},[3256,3260,3264,3268,3273,3277,3281],{"type":42,"tag":976,"props":3257,"children":3258},{"style":992},[3259],{"type":48,"value":995},{"type":42,"tag":976,"props":3261,"children":3262},{"style":998},[3263],{"type":48,"value":1229},{"type":42,"tag":976,"props":3265,"children":3266},{"style":998},[3267],{"type":48,"value":1234},{"type":42,"tag":976,"props":3269,"children":3270},{"style":998},[3271],{"type":48,"value":3272}," 30d",{"type":42,"tag":976,"props":3274,"children":3275},{"style":998},[3276],{"type":48,"value":1328},{"type":42,"tag":976,"props":3278,"children":3279},{"style":998},[3280],{"type":48,"value":3218},{"type":42,"tag":976,"props":3282,"children":3283},{"style":1148},[3284],{"type":48,"value":1151},{"type":42,"tag":976,"props":3286,"children":3287},{"class":978,"line":1051},[3288,3292,3296,3300,3304,3309],{"type":42,"tag":976,"props":3289,"children":3290},{"style":1004},[3291],{"type":48,"value":3230},{"type":42,"tag":976,"props":3293,"children":3294},{"style":992},[3295],{"type":48,"value":1027},{"type":42,"tag":976,"props":3297,"children":3298},{"style":998},[3299],{"type":48,"value":3239},{"type":42,"tag":976,"props":3301,"children":3302},{"style":1004},[3303],{"type":48,"value":1007},{"type":42,"tag":976,"props":3305,"children":3306},{"style":998},[3307],{"type":48,"value":3308},"import json,sys,datetime; d=json.load(sys.stdin); print(len(d), 'trending repos')",{"type":42,"tag":976,"props":3310,"children":3311},{"style":1004},[3312],{"type":48,"value":1199},{"type":42,"tag":51,"props":3314,"children":3316},{"id":3315},"common-pitfalls",[3317],{"type":48,"value":3318},"Common Pitfalls",{"type":42,"tag":2346,"props":3320,"children":3321},{},[3322,3360,3383,3405,3428,3465,3483],{"type":42,"tag":157,"props":3323,"children":3324},{},[3325,3330,3331,3337,3339,3344,3346,3351,3353,3358],{"type":42,"tag":73,"props":3326,"children":3327},{},[3328],{"type":48,"value":3329},"以为管道会自动 JSON",{"type":48,"value":176},{"type":42,"tag":64,"props":3332,"children":3334},{"className":3333},[],[3335],{"type":48,"value":3336},"__init__.py",{"type":48,"value":3338}," 旧 docstring 说 \"auto-select JSON when piped\"——",{"type":42,"tag":73,"props":3340,"children":3341},{},[3342],{"type":48,"value":3343},"假话",{"type":48,"value":3345},"）。实际默认恒 markdown，要 JSON 必须 ",{"type":42,"tag":64,"props":3347,"children":3349},{"className":3348},[],[3350],{"type":48,"value":143},{"type":48,"value":3352},"。写管道命令时显式加 ",{"type":42,"tag":64,"props":3354,"children":3356},{"className":3355},[],[3357],{"type":48,"value":143},{"type":48,"value":3359},"，否则得到 markdown 文本无法 json.loads。",{"type":42,"tag":157,"props":3361,"children":3362},{},[3363,3374,3375,3381],{"type":42,"tag":73,"props":3364,"children":3365},{},[3366,3368],{"type":48,"value":3367},"explore 不传 ",{"type":42,"tag":64,"props":3369,"children":3371},{"className":3370},[],[3372],{"type":48,"value":3373},"--axis",{"type":48,"value":541},{"type":42,"tag":64,"props":3376,"children":3378},{"className":3377},[],[3379],{"type":48,"value":3380},"die(\"Provide axes via --axis\")",{"type":48,"value":3382},"。axes 是必须的，不是可选。",{"type":42,"tag":157,"props":3384,"children":3385},{},[3386,3396,3398,3403],{"type":42,"tag":73,"props":3387,"children":3388},{},[3389,3394],{"type":42,"tag":64,"props":3390,"children":3392},{"className":3391},[],[3393],{"type":48,"value":2214},{"type":48,"value":3395}," 成本低估",{"type":48,"value":3397},"：多词 topic 会触发最多 ~8 次 ",{"type":42,"tag":64,"props":3399,"children":3401},{"className":3400},[],[3402],{"type":48,"value":2224},{"type":48,"value":3404}," + 1 次 readme，配额紧张时慎用，或只对最终 topic 跑一次。",{"type":42,"tag":157,"props":3406,"children":3407},{},[3408,3413,3414,3419,3421,3426],{"type":42,"tag":73,"props":3409,"children":3410},{},[3411],{"type":48,"value":3412},"explore 查询太泛",{"type":48,"value":541},{"type":42,"tag":64,"props":3415,"children":3417},{"className":3416},[],[3418],{"type":48,"value":1078},{"type":48,"value":3420}," 直接被大 repo 淹没。多角度、带 ",{"type":42,"tag":64,"props":3422,"children":3424},{"className":3423},[],[3425],{"type":48,"value":859},{"type":48,"value":3427},"、带主题词。",{"type":42,"tag":157,"props":3429,"children":3430},{},[3431,3441,3443,3449,3450,3455,3457,3463],{"type":42,"tag":73,"props":3432,"children":3433},{},[3434,3439],{"type":42,"tag":64,"props":3435,"children":3437},{"className":3436},[],[3438],{"type":48,"value":3102},{"type":48,"value":3440}," JSON 字段是复数",{"type":48,"value":3442}," ",{"type":42,"tag":64,"props":3444,"children":3446},{"className":3445},[],[3447],{"type":48,"value":3448},"stargazersCount\u002FforksCount",{"type":48,"value":353},{"type":42,"tag":64,"props":3451,"children":3453},{"className":3452},[],[3454],{"type":48,"value":3117},{"type":48,"value":3456}," 是单数 ",{"type":42,"tag":64,"props":3458,"children":3460},{"className":3459},[],[3461],{"type":48,"value":3462},"stargazerCount\u002FforkCount",{"type":48,"value":3464},"。手写 jq 时别混。",{"type":42,"tag":157,"props":3466,"children":3467},{},[3468,3473,3475,3481],{"type":42,"tag":73,"props":3469,"children":3470},{},[3471],{"type":48,"value":3472},"repo_summary 的 users 段",{"type":48,"value":3474},"是 ",{"type":42,"tag":64,"props":3476,"children":3478},{"className":3477},[],[3479],{"type":48,"value":3480},"mentionableUsers",{"type":48,"value":3482},"（仓库可见的可 @ 成员），标题叫 \"Mentionable users\"——不是 \"被提及最多的用户\"，别误解成社区活跃度。",{"type":42,"tag":157,"props":3484,"children":3485},{},[3486,3491,3493,3499,3500,3506],{"type":42,"tag":73,"props":3487,"children":3488},{},[3489],{"type":48,"value":3490},"Windows 路径",{"type":48,"value":3492},"：git-bash 下用 ",{"type":42,"tag":64,"props":3494,"children":3496},{"className":3495},[],[3497],{"type":48,"value":3498},"C:\u002F...",{"type":48,"value":661},{"type":42,"tag":64,"props":3501,"children":3503},{"className":3502},[],[3504],{"type":48,"value":3505},"\u002Fc\u002F...",{"type":48,"value":3507},"；反斜杠结尾会转义错。",{"type":42,"tag":51,"props":3509,"children":3511},{"id":3510},"verification-checklist",[3512],{"type":48,"value":3513},"Verification Checklist",{"type":42,"tag":153,"props":3515,"children":3518},{"className":3516},[3517],"contains-task-list",[3519,3531,3545,3561,3583,3592,3601,3610,3619],{"type":42,"tag":157,"props":3520,"children":3523},{"className":3521},[3522],"task-list-item",[3524,3529],{"type":42,"tag":3525,"props":3526,"children":3528},"input",{"disabled":1045,"type":3527},"checkbox",[],{"type":48,"value":3530}," 用了正确的脚本（发现→脚本，管理→裸 gh）",{"type":42,"tag":157,"props":3532,"children":3534},{"className":3533},[3522],[3535,3538,3540],{"type":42,"tag":3525,"props":3536,"children":3537},{"disabled":1045,"type":3527},[],{"type":48,"value":3539}," 管道场景显式 ",{"type":42,"tag":64,"props":3541,"children":3543},{"className":3542},[],[3544],{"type":48,"value":143},{"type":42,"tag":157,"props":3546,"children":3548},{"className":3547},[3522],[3549,3552,3554,3559],{"type":42,"tag":3525,"props":3550,"children":3551},{"disabled":1045,"type":3527},[],{"type":48,"value":3553}," explore 查询角度具体且带 ",{"type":42,"tag":64,"props":3555,"children":3557},{"className":3556},[],[3558],{"type":48,"value":859},{"type":48,"value":3560},"（语义主题）",{"type":42,"tag":157,"props":3562,"children":3564},{"className":3563},[3522],[3565,3568,3570,3575,3576,3581],{"type":42,"tag":3525,"props":3566,"children":3567},{"disabled":1045,"type":3527},[],{"type":48,"value":3569}," 配额敏感时 ",{"type":42,"tag":64,"props":3571,"children":3573},{"className":3572},[],[3574],{"type":48,"value":3091},{"type":48,"value":410},{"type":42,"tag":64,"props":3577,"children":3579},{"className":3578},[],[3580],{"type":48,"value":2214},{"type":48,"value":3582}," 只跑一次",{"type":42,"tag":157,"props":3584,"children":3586},{"className":3585},[3522],[3587,3590],{"type":42,"tag":3525,"props":3588,"children":3589},{"disabled":1045,"type":3527},[],{"type":48,"value":3591}," org\u002Frepo 审计确认了过滤条件（fork\u002Farchived\u002Fstars）符合预期",{"type":42,"tag":157,"props":3593,"children":3595},{"className":3594},[3522],[3596,3599],{"type":42,"tag":3525,"props":3597,"children":3598},{"disabled":1045,"type":3527},[],{"type":48,"value":3600}," 管理操作按类型查 references\u002F 下的 commands-* 系列（不内联复制，不误用脚本）",{"type":42,"tag":157,"props":3602,"children":3604},{"className":3603},[3522],[3605,3608],{"type":42,"tag":3525,"props":3606,"children":3607},{"disabled":1045,"type":3527},[],{"type":48,"value":3609}," 发现类任务只用只读脚本，未触发任何远端写",{"type":42,"tag":157,"props":3611,"children":3613},{"className":3612},[3522],[3614,3617],{"type":42,"tag":3525,"props":3615,"children":3616},{"disabled":1045,"type":3527},[],{"type":48,"value":3618}," 写操作前已向用户明确目标\u002F影响\u002F最小数据并获得确认",{"type":42,"tag":157,"props":3620,"children":3622},{"className":3621},[3522],[3623,3626,3628,3633],{"type":42,"tag":3525,"props":3624,"children":3625},{"disabled":1045,"type":3527},[],{"type":48,"value":3627}," 认证诊断只用了 ",{"type":42,"tag":64,"props":3629,"children":3631},{"className":3630},[],[3632],{"type":48,"value":400},{"type":48,"value":3634},"，未回显任何 token",{"type":42,"tag":3636,"props":3637,"children":3638},"style",{},[3639],{"type":48,"value":3640},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":3642,"total":1122},[3643,3659,3671,3677,3688,3704,3718],{"slug":3644,"name":3644,"fn":3645,"description":3646,"org":3647,"tags":3648,"stars":23,"repoUrl":24,"updatedAt":3658},"article2tasks","convert articles into Dida365 tasks","将技术周报（批量）或单篇文章整理为滴答清单待办事项，自动分类到已有清单并打标签，全程通过 MCP 写入，跨平台无需任何本地脚本。当用户提供周报内容、文章链接，或提及「周报」「文章汇总」「添加到滴答」时，使用此技能。",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3649,3652,3655],{"name":3650,"slug":3651,"type":16},"Content Creation","content-creation",{"name":3653,"slug":3654,"type":16},"MCP","mcp",{"name":3656,"slug":3657,"type":16},"Task Management","task-management","2026-08-18T03:49:38.751656",{"slug":3660,"name":3660,"fn":3661,"description":3662,"org":3663,"tags":3664,"stars":23,"repoUrl":24,"updatedAt":3670},"dida365","manage Dida365 tasks and habits","Manage 滴答清单 (Dida365 China) tasks, lists, habits, focus records and countdowns through the official Dida365 MCP server at mcp.dida365.com. Use when the user asks to check, plan, create, update, complete or review tasks and habits on dida365.com, or asks about focus history and countdowns.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3665,3666,3669],{"name":3653,"slug":3654,"type":16},{"name":3667,"slug":3668,"type":16},"Scheduling","scheduling",{"name":3656,"slug":3657,"type":16},"2026-08-18T03:49:37.126385",{"slug":4,"name":4,"fn":5,"description":6,"org":3672,"tags":3673,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3674,3675,3676],{"name":21,"slug":22,"type":16},{"name":18,"slug":19,"type":16},{"name":14,"slug":15,"type":16},{"slug":3678,"name":3678,"fn":3679,"description":3680,"org":3681,"tags":3682,"stars":23,"repoUrl":24,"updatedAt":3687},"mcp-server-patterns","design and debug MCP servers","Reference patterns for designing, evaluating, integrating, and debugging MCP servers. Use this Skill whenever the task involves deciding whether to add an MCP server, reviewing a server design, integrating one into a workflow, or diagnosing why one fails.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3683,3686],{"name":3684,"slug":3685,"type":16},"Architecture","architecture",{"name":3653,"slug":3654,"type":16},"2026-08-18T03:49:42.711595",{"slug":3689,"name":3689,"fn":3690,"description":3691,"org":3692,"tags":3693,"stars":23,"repoUrl":24,"updatedAt":3703},"minimax-code-trajectory","visualize MiniMax code session trajectories","Inspect or visualize privacy-aware timelines for local MiniMax Code sessions. Use when the user asks to show, draw, open, review, or diagnose a task trajectory, summarize tool or token activity, inspect compaction or failure events, or compare recent session metadata without opening raw ledger files.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3694,3697,3700],{"name":3695,"slug":3696,"type":16},"Debugging","debugging",{"name":3698,"slug":3699,"type":16},"Observability","observability",{"name":3701,"slug":3702,"type":16},"Tracing","tracing","2026-08-18T03:49:38.218712",{"slug":3705,"name":3705,"fn":3706,"description":3707,"org":3708,"tags":3709,"stars":23,"repoUrl":24,"updatedAt":3717},"search-first","enforce search-before-edit code workflows","Enforce a search-before-edit workflow for code changes. Use this Skill whenever a task involves changing code, tracing behavior, or understanding an unfamiliar area, so the agent searches and reads the relevant files before proposing or implementing edits.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3710,3713,3714],{"name":3711,"slug":3712,"type":16},"Best Practices","best-practices",{"name":21,"slug":22,"type":16},{"name":3715,"slug":3716,"type":16},"Engineering","engineering","2026-08-18T03:49:37.673989",{"slug":3719,"name":3719,"fn":3720,"description":3721,"org":3722,"tags":3723,"stars":23,"repoUrl":24,"updatedAt":3727},"ticktick","manage TickTick tasks and habits","Manage TickTick (international, ticktick.com) tasks, lists, habits, focus records and countdowns through the official TickTick MCP server at mcp.ticktick.com. Use when the user asks to check, plan, create, update, complete or review tasks and habits on TickTick, or asks about focus history and countdowns.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3724,3725,3726],{"name":3653,"slug":3654,"type":16},{"name":3667,"slug":3668,"type":16},{"name":3656,"slug":3657,"type":16},"2026-08-18T03:49:42.187465",{"items":3729,"total":3930},[3730,3754,3770,3789,3804,3824,3842,3860,3875,3891,3910,3920],{"slug":3731,"name":3731,"fn":3732,"description":3733,"org":3734,"tags":3735,"stars":3751,"repoUrl":3752,"updatedAt":3753},"android-native-dev","develop Android native applications","Android native application development and UI design guide. Covers Material Design 3, Kotlin\u002FCompose development, project configuration, accessibility, and build troubleshooting. Read this before Android native application development.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3736,3739,3742,3745,3748],{"name":3737,"slug":3738,"type":16},"Accessibility","accessibility",{"name":3740,"slug":3741,"type":16},"Android","android",{"name":3743,"slug":3744,"type":16},"Kotlin","kotlin",{"name":3746,"slug":3747,"type":16},"Mobile","mobile",{"name":3749,"slug":3750,"type":16},"UI Components","ui-components",13030,"https:\u002F\u002Fgithub.com\u002FMiniMax-AI\u002Fskills","2026-07-13T06:16:54.247834",{"slug":3755,"name":3755,"fn":3756,"description":3757,"org":3758,"tags":3759,"stars":3751,"repoUrl":3752,"updatedAt":3769},"buddy-sings","generate singing performances for AI companions","Use when user wants their Claude Code pet (\u002Fbuddy) to sing a song. Triggers on any request that combines the concept of their Claude Code buddy, pet, or companion with singing or music. Supports multilingual triggers — match equivalent phrases in any language.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3760,3763,3766],{"name":3761,"slug":3762,"type":16},"Agents","agents",{"name":3764,"slug":3765,"type":16},"Audio","audio",{"name":3767,"slug":3768,"type":16},"Creative","creative","2026-07-13T06:16:35.130644",{"slug":3771,"name":3771,"fn":3772,"description":3773,"org":3774,"tags":3775,"stars":3751,"repoUrl":3752,"updatedAt":3788},"color-font-skill","select color palettes and font pairings","Choose presentation-ready color palettes and font pairings for PPT\u002Fdesign tasks. Use when users ask for visual theme choices, brand-safe palettes, or font recommendations. Triggers include: 配色, 色板, 字体, color palette, font, PPT配色, 字体搭配.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3776,3779,3782,3785],{"name":3777,"slug":3778,"type":16},"Design","design",{"name":3780,"slug":3781,"type":16},"Presentations","presentations",{"name":3783,"slug":3784,"type":16},"Themes","themes",{"name":3786,"slug":3787,"type":16},"Typography","typography","2026-07-13T06:17:02.785587",{"slug":3790,"name":3790,"fn":3791,"description":3792,"org":3793,"tags":3794,"stars":3751,"repoUrl":3752,"updatedAt":3803},"design-style-skill","select visual design systems for presentations","Select a consistent visual design system for PPT slides using radius\u002Fspacing style recipes. Use when users ask for overall style direction or component styling consistency. Includes Sharp\u002FSoft\u002FRounded\u002FPill recipes, component mappings, typography\u002Fspacing rules, and mixing guidance. Triggers: 风格, style, radius, spacing, 圆角, 间距, PPT风格, 视觉风格, design style, component style.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3795,3796,3799,3802],{"name":3777,"slug":3778,"type":16},{"name":3797,"slug":3798,"type":16},"Design System","design-system",{"name":3800,"slug":3801,"type":16},"PowerPoint","powerpoint",{"name":3780,"slug":3781,"type":16},"2026-07-13T06:17:10.398389",{"slug":3805,"name":3805,"fn":3806,"description":3807,"org":3808,"tags":3809,"stars":3751,"repoUrl":3752,"updatedAt":3823},"flutter-dev","build cross-platform apps with Flutter","Flutter cross-platform development guide covering widget patterns, Riverpod\u002FBloc state management, GoRouter navigation, performance optimization, and platform-specific implementations. Includes const optimization, responsive layouts, testing strategies, and DevTools profiling.\nUse when: building Flutter apps, implementing state management (Riverpod\u002FBloc), setting up GoRouter navigation, creating custom widgets, optimizing performance, writing widget tests, cross-platform development.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3810,3813,3816,3817,3820],{"name":3811,"slug":3812,"type":16},"Dart","dart",{"name":3814,"slug":3815,"type":16},"Flutter","flutter",{"name":3746,"slug":3747,"type":16},{"name":3818,"slug":3819,"type":16},"Performance","performance",{"name":3821,"slug":3822,"type":16},"State Management","state-management","2026-07-13T06:16:36.626679",{"slug":3825,"name":3825,"fn":3826,"description":3827,"org":3828,"tags":3829,"stars":3751,"repoUrl":3752,"updatedAt":3841},"frontend-dev","build visually striking frontend web pages","Full-stack frontend development combining premium UI design, cinematic animations,\nAI-generated media assets, persuasive copywriting, and visual art. Builds complete,\nvisually striking web pages with real media, advanced motion, and compelling copy.\nUse when: building landing pages, marketing sites, product pages, dashboards,\ngenerating media assets (image\u002Fvideo\u002Faudio\u002Fmusic), writing conversion copy,\ncreating generative art, or implementing cinematic scroll animations.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3830,3833,3834,3835,3838],{"name":3831,"slug":3832,"type":16},"Animation","animation",{"name":3767,"slug":3768,"type":16},{"name":3777,"slug":3778,"type":16},{"name":3836,"slug":3837,"type":16},"Frontend","frontend",{"name":3839,"slug":3840,"type":16},"Web Development","web-development","2026-07-13T06:16:39.108827",{"slug":3843,"name":3843,"fn":3844,"description":3845,"org":3846,"tags":3847,"stars":3751,"repoUrl":3752,"updatedAt":3859},"fullstack-dev","build full-stack web applications","Full-stack backend architecture and frontend-backend integration guide.\nTRIGGER when: building a full-stack app, creating REST API with frontend, scaffolding backend service,\nbuilding todo app, building CRUD app, building real-time app, building chat app,\nExpress + React, Next.js API, Node.js backend, Python backend, Go backend,\ndesigning service layers, implementing error handling, managing config\u002Fauth,\nsetting up API clients, implementing auth flows, handling file uploads,\nadding real-time features (SSE\u002FWebSocket), hardening for production.\nDO NOT TRIGGER when: pure frontend UI work, pure CSS\u002Fstyling, database schema only.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3848,3851,3852,3855,3858],{"name":3849,"slug":3850,"type":16},"Backend","backend",{"name":3836,"slug":3837,"type":16},{"name":3853,"slug":3854,"type":16},"Full-stack","full-stack",{"name":3856,"slug":3857,"type":16},"REST API","rest-api",{"name":3839,"slug":3840,"type":16},"2026-07-13T06:16:43.219005",{"slug":3861,"name":3861,"fn":3862,"description":3863,"org":3864,"tags":3865,"stars":3751,"repoUrl":3752,"updatedAt":3874},"gif-sticker-maker","create animated GIF stickers from photos","Convert photos (people, pets, objects, logos) into 4 animated GIF stickers with captions.\nUse when: user wants to create cartoon stickers, GIF expressions, emoji packs, animated avatars,\nor convert photos to Funko Pop \u002F Pop Mart blind box style animations.\nTriggers: sticker, GIF, cartoon, emoji, expression pack, avatar animation.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3866,3867,3868,3871],{"name":3831,"slug":3832,"type":16},{"name":3767,"slug":3768,"type":16},{"name":3869,"slug":3870,"type":16},"Images","images",{"name":3872,"slug":3873,"type":16},"Media","media","2026-07-13T06:16:51.74461",{"slug":3876,"name":3876,"fn":3877,"description":3878,"org":3879,"tags":3880,"stars":3751,"repoUrl":3752,"updatedAt":3890},"ios-application-dev","develop iOS applications with SwiftUI and UIKit","iOS application development guide covering UIKit, SnapKit, and SwiftUI. Includes touch targets, safe areas, navigation patterns, Dynamic Type, Dark Mode, accessibility, collection views, common UI components, and SwiftUI design guidelines. For detailed references on specific topics, see the reference files.\nUse when: developing iOS apps, implementing UI, reviewing iOS code, working with UIKit\u002FSnapKit\u002FSwiftUI layouts, building iPhone interfaces, Swift mobile development, Apple HIG compliance, iOS accessibility implementation.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3881,3882,3885,3886,3889],{"name":3737,"slug":3738,"type":16},{"name":3883,"slug":3884,"type":16},"iOS","ios",{"name":3746,"slug":3747,"type":16},{"name":3887,"slug":3888,"type":16},"SwiftUI","swiftui",{"name":3749,"slug":3750,"type":16},"2026-07-13T06:16:55.686092",{"slug":3892,"name":3892,"fn":3893,"description":3894,"org":3895,"tags":3896,"stars":3751,"repoUrl":3752,"updatedAt":3909},"minimax-docx","create and edit DOCX documents","Professional DOCX document creation, editing, and formatting using OpenXML SDK (.NET). Three pipelines: (A) create new documents from scratch, (B) fill\u002Fedit content in existing documents, (C) apply template formatting with XSD validation gate-check. MUST use this skill whenever the user wants to produce, modify, or format a Word document — including when they say \"write a report\", \"draft a proposal\", \"make a contract\", \"fill in this form\", \"reformat to match this template\", or any task whose final output is a .docx file. Even if the user doesn't mention \"docx\" explicitly, if the task implies a printable\u002Fformal document, use this skill.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3897,3900,3903,3906],{"name":3898,"slug":3899,"type":16},"Documents","documents",{"name":3901,"slug":3902,"type":16},"DOCX","docx",{"name":3904,"slug":3905,"type":16},"Office","office",{"name":3907,"slug":3908,"type":16},"Templates","templates","2026-07-13T06:16:40.461868",{"slug":3911,"name":3911,"fn":3912,"description":3913,"org":3914,"tags":3915,"stars":3751,"repoUrl":3752,"updatedAt":3919},"minimax-music-gen","generate music and audio tracks","Use when user wants to generate music, songs, or audio tracks. Triggers on any request involving music creation, song writing, lyrics generation, audio production, or covers. Also triggers when user provides lyrics and wants them turned into a song, or describes a mood\u002Fscene and wants background music. Supports multilingual triggers — match equivalent phrases in any language. Do NOT use for music playback of existing files, music theory questions, or music recommendation without generation.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3916,3917,3918],{"name":3764,"slug":3765,"type":16},{"name":3767,"slug":3768,"type":16},{"name":3872,"slug":3873,"type":16},"2026-07-13T06:16:50.381758",{"slug":3921,"name":3921,"fn":3922,"description":3923,"org":3924,"tags":3925,"stars":3751,"repoUrl":3752,"updatedAt":3929},"minimax-music-playlist","generate personalized music playlists","Generate personalized music playlists by analyzing the user's music taste and generation feedback history. Triggers on any request involving playlist generation, music taste profiling, or personalized music recommendations. Supports multilingual triggers — match equivalent phrases in any language.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3926,3927,3928],{"name":3764,"slug":3765,"type":16},{"name":3767,"slug":3768,"type":16},{"name":3872,"slug":3873,"type":16},"2026-07-13T06:16:57.002997",56]