- 人工智能
- RAG
- Agent 记忆
- MCP 服务
- 知识管理
【免费下载链接】gbrain
Garry's Opinionated OpenClaw/Hermes Agent Brain
本指南基于 gbrain 仓库 plugin/skills/concept-synthesis/SKILL.md 展开,讲解如何用五阶段流水线把 ingestion 管道(signal-detector、idea-ingest、voice-note-ingest)日积月累产生的大量原始概念 stub,去重、打分、分层、综合、聚类,最终产出 T1 Canon → T4 Riff 四层分级的知识地图,并配一套可逆的 Phase 5 精选淘汰(cull)机制。读完你将掌握:Jaccard/语义去重与合并时间线的具体做法、六轴评分 rubric 的加权规则与硬性门槛、merge-with-backlinks 的可逆合并管线,以及如何在 gbrain CLI(
query/search/get/put/delete/restore/revert/history)上落地整套流程。
这个技能解决什么问题
gbrain 的多个摄取技能会把"用户提到的每一个想法"都建成一个概念页面:
- skills/signal-detector/SKILL.md —— 从文本渠道生成原始概念 stub(它区分"用户原创思考 →
originals/"与"引用的世界概念 →concepts/",并强调用用户原话捕获); - skills/voice-note-ingest/SKILL.md —— 音频渠道同理;
- skills/idea-ingest/SKILL.md —— 链接/文章渠道同理。
数月之后,concepts/下会出现:
- 数千个 stub 页面,其中大量重复或近似重复;
- 时间线重复——同一个来源在多个概念页里反复出现;
- 没有综合——只有"用户在某个日期提过 X",没有思想演进;
- 没有分层——所有概念平铺,无轻重缓急;
- 没有聚类——相关想法彼此没有链接。
concept-synthesis 的任务,就是把这份"原材料"变成一份策展过的知识指纹(curated intellectual fingerprint)。它的核心承诺是:Phases 1–4 只做"向上合并",永不删除;Phase 5 才是精选淘汰,且每一步破坏性操作都可逆。
五阶段架构总览
技能本体是 Markdown 形式的 Agent 指令,Agent 调用 gbrain 既有操作 + LLM 多轮完成流水线:
Phase 1: Dedup + merge(确定性) N stubs → ~N/4 个 canonical concepts ├── Jaccard 去重(标题 + 首段的词重叠度) ├── 子串去重("founder mode" vs "founder mode vs manager mode") ├── 语义去重(LLM 判断:"这是不是同一个想法?") └── 把重复页的时间线 + 别名合并进 canonical 页 Phase 2: Score + tier(确定性 + 启发式) 每个 canonical concept → 打分并分级 ├── Frequency:引用该概念的独立来源数 ├── Timespan:首次提及 → 末次提及的天数 ├── Breadth:出现的不同月份数 ├── Engagement:概念来源的平均互动量(若有) └── Tier: T1 Canon | T2 Developing | T3 Speculative | T4 Riff Phase 3: Synthesize(LLM,仅 T1+T2) T1 + T2 → 富综合 ├── Evolution narrative:想法如何随时间变得锋利 ├── Best articulation:互动最高或最精确的原话引用 ├── Related concepts:到其他概念的交叉链接 ├── Context:想法诞生/演进时正在发生什么 └── Counter-positions:这个想法反对什么 Phase 4: Cluster + map(LLM) 全部分层概念 → 知识集群 ├── 把相关概念归入领域(LLM 自动命名) ├── 生成集群摘要页 ├── 构建主 concepts/README.md 完整地图 └── 识别思想谱系(概念 A → 演化为概念 B) Phase 5: Curation cull(rubric + 可逆合并) 每个概念 → 硬性判定: ELITE | KEEP | MERGE/REWRITE | DELETE ├── 六轴 rubric(substance 权重 2x,packaging 权重 1x)+ 最低 substance 门槛 ├── Grounding 标签(VERIFIED / OPINION / NEEDS_SOURCE / UNSAFE) ├── 集群预算 + 声誉风险门 ├── 带 backlinks 合并进集群 canonical(完全可逆) └── merge_count / independent_sources → 涌现式层级提升Phase 1 的合并预估是"N stubs → 约 N/4 个 canonical concepts",这是对去重收益的经验估算:四分之三的 stub 会在合并后消失,但它们的信号(时间线、别名、来源)会被保留,而不是被丢弃。
调用方式:Agent 如何执行
技能本身是 Agent 指令,不提供独立二进制。执行时的标准流程:
# 1. 列出全部概念页 gbrain query "type:concept" --limit 10000 --json # 2. Phase 1 去重 —— Agent 本地应用 Jaccard + 子串, # 再用 LLM 识别语义重复。 # 3. Phase 2 分级 —— Agent 依据 frequency / timespan / breadth # 给每个 canonical 概念打分,并把 tier 写进 frontmatter。 # 4. Phase 3 综合 —— 对每个 T1/T2,Agent 读取时间线 # + 关联来源页,通过 put_page 把综合段落写回概念页。 # 5. Phase 4 聚类 —— Agent 读取分层后的概念列表, # 写出 concepts/README.md 完整知识地图。这些命令与 gbrain CLI 的实际实现一致:query是核心检索命令(见 src/cli.ts 中op.name === 'query'的分支处理),search、get、put、delete、restore、revert、history共同构成页面读写与版本恢复的完整闭环(restore同时出现在 sources 子命令与备份恢复路径中,见 src/commands/backup.ts)。
值得一提的检索细节:gbrain query支持salience(重要度,基于emotional_weight与活跃 takes)与recency(新鲜度,按前缀衰减,concepts/、originals/等前缀是 evergreen 不衰减)两个正交轴,未显式传参时会用正则启发式自动判定。概念综合阶段检索相关上下文时,可按需显式传salience/recency,详见 skills/conventions/salience-and-recency.md。
输出格式一:综合后的概念页
T1 Canon —— 完整综合
--- title: "concept name" type: concept tier: 1 tier_label: "Canon" mention_count: 18 distinct_months: 8 first_mention: "YYYY-MM-DD" last_mention: "YYYY-MM-DD" composite_score: 78.4 aliases: ["alternate phrasing 1", "alternate phrasing 2"] related: ["sibling-concept-1", "sibling-concept-2"] --- # concept name **Tier 1 — Canon** | 18 mentions across 8 months ## Synthesis [2-4 段叙事:想法如何演进、在用户世界观中意味着什么、为何重要。第三人称分析性语气。] ## Best Articulation > "来自来源的原话引用——这个想法最精确或互动最高的表达。" — Date ## Evolution | Period | Expression | Signal | |--------|-----------|--------| | YYYY-MM | "首次表达" | 首次使用——愿景框架 | | YYYY-MM | "变得锋利" | 反模式浮现 | | YYYY-MM | "巅峰形态" | 最干净的表达 | ## Related Concepts - sibling concept — 关系描述 - sibling concept — 关系描述 ## Timeline [完整去重后的时间线:条目、引文、来源链接]要点拆解:
- frontmatter 是机器可读的分层依据:
tier(数值)+tier_label(人类可读)双字段;mention_count/distinct_months/first_mention/last_mention是 Phase 2 打分的直接落盘;composite_score是加权综合分;aliases保存去重时吸收的别名供搜索命中;related是 Phase 3 的交叉链接。 ## Best Articulation必须是逐字引用,而非转述。这与 skills/conventions/quality.md 的引用铁律一脉相承:每个事实都要带[Source: ...]行内引用,且引用优先级最高的是用户直接陈述("User's direct statements (highest authority)")。## Evolution表格是"思想演进"的证据载体,每一行都必须能在既有 brain 页面上验证,绝不允许幻觉日期或引文。
T3 / T4 —— 只保留 stub,不做 LLM 综合
--- title: "concept name" type: concept tier: 4 tier_label: "Riff" mention_count: 1 --- # concept name **Tier 4 — Riff** | 1 mention > "Quote from the source" — Date这是预算纪律的落点:T3/T4 只保留原始引文 + 层级标记,不消耗 API 预算做综合。只有 T1/T2 才值得 LLM 综合——这正是反模式清单里"对 T3/T4 跑综合 = 浪费 API 预算"的正面对照。
输出格式二:集群地图 concepts/README.md
# Intellectual Universe ## Canon (T1) — N concepts The permanent intellectual fingerprint. Ideas that recur across years. ### [Cluster Name] - concept-slug — one-line characterization - ... ### [Other Cluster] - ... ## Developing (T2) — N concepts Sharpening. Might become canon. ## Speculative (T3) — N concepts Testing in public. ## Stats - Total concepts: N - T1 Canon: N - T2 Developing: N - T3 Speculative: N - T4 Riff: N - Earliest source: YYYY-MM-DD - Latest source: YYYY-MM-DD集群地图是全流程的"对外门面":## Stats区块给出全语料的分层快照,Earliest/Latest source帮助判断语料的时间跨度。集群命名规则见下文反模式——"Generic cluster names (Various Topics)" 是明令禁止的反模式:如果你无法给集群命名,说明这个集群不是真实的。
Phase 5:Curation cull —— keep/delete/merge 评分细则
Phases 1–4 只向上合并、永不删除。数月之后,空洞的 stub 会稀释真正在复利累积的概念。Phase 5 就是清理:给每个概念一个硬性判定,按节奏(cadence)或按需运行,且每一步破坏性操作都可逆。
运行前务必遵循 skills/conventions/test-before-bulk.md:先清理 3–5 个集群做试点,读真实输出,确认无误后再跑全量。该约定文档记录了渐进式批量纪律(10 → 100 → 500 → full 四级拉升,每轮都要做 count-before/count-after 校验、2% 错误率上限、随机抽检),正是为 Phase 5 这类"可能写出上百页"的批量操作准备的。
核心问题
如果用户两年后冷启动翻到这个概念,它会让一个想法更锋利、或播下一颗新种子——还是会被当作填充物划过?
划过(Scroll-past)= DELETE。
六轴评分(每轴 1–5 分)
三个substance(实质)轴权重2x,三个packaging/fit(包装与适配)轴权重1x。实质扛起概念,包装赢得表面积。
SUBSTANCE(2x 权重):
| 轴 | 1 | 3 | 5 |
|---|---|---|---|
| Insight & tension—— 承载真正的智力负荷:机制、非显而易见的因果、反转、隐藏成本 | 陈词滥调("创业很难") | 有特定视角的熟悉想法 | 可复用的具名机制 |
| Originality & surprise—— 反转预期的全新框架,而非人人会写的俗套 | 幸运饼干式格言("自律胜过动机") | 透过用户视角的已知想法 | 感觉新铸且可移植的框架 |
| Specificity & completeness—— 自包含的主张/机制/区分,有具体细节,而非缺少上下文才能理解的碎片 | 含糊或残缺 | 完整但普通 | 具体、有证据、完全自足 |
PACKAGING & FIT(1x 权重):
| 轴 | 1 | 3 | 5 |
|---|---|---|---|
| Voltage & wit—— 语言中的电荷:锐利转折、压缩、落地的一句 | 平淡 / 教科书式 | 干净 | 可引用、有爆发力 |
| Representative—— 听起来像用户,或连接到用户已记录的世界观 | 任何账号都写得出来 | 与用户视角兼容 | 不折不扣的用户指纹 |
| Powerful & legible—— 可用的弹药(文章段落、演讲金句、会议框架)AND 能传递用户到底是谁 | 惰性琐事 | 稍加打磨可用 | 可直接部署 + 让别人更懂用户 |
评分 → 判定
加权分 = (Insight + Originality + Specificity) × 2 + (Voltage + Representative + Powerful) × 1。满分 45,换算为百分比。
| 加权 % | 判定 | 必须同时满足的门槛 |
|---|---|---|
| ≥85% | ELITE—— 保留 + 标记复用 | 无任何轴 < 3;至少两个 5 分,且至少一个落在 SUBSTANCE 轴上 |
| 75–84% | KEEP | (Insight ≥ 4 或 Originality ≥ 4) 且 Specificity ≥ 3 且 (Representative ≥ 3 或 Powerful ≥ 4) |
| 55–74% | MERGE/REWRITE 或弱保留 | 好想法配差身体 → 并入集群 canonical 或重写为自包含。仅当出处罕见或填补覆盖空白时按原样保留,否则 DELETE。 |
| <55% | DELETE | — |
最低 substance 门槛(覆盖百分比):只要 Insight < 3 或 Originality < 3,概念永远不能是 KEEP 或 ELITE。风格不能为空洞的想法买单。
MERGE/REWRITE 是真实的第三种判定,不是托词。许多 stub 是"活跃的想法被困在虚弱的身体里"——把它们并入集群 canonical 或重写为独立页。使用条件:Insight ≥ 3 但 Specificity 或 Voltage 拖低了分数。
硬性 DELETE 触发(命中任一即删,无论分数)
- 幸运饼干式重述(Fortune-cookie restatement)——真实但没说任何贺卡之外的东西;空话,无机制。
- 碎片(Fragment)——依赖不可得的上下文,不自包含(除非出处罕见,且即便如此也仅在可理解 + 有用时保留)。
- 乱码提取(Mangled extraction)——转录乱码、句中截断、语无伦次,或把 chunk 标题伪装成概念。
- 离题琐事(Off-mission trivia)——准确但与你构建、相信或可能使用的任何东西都无关。
- 集群内重复(Duplicate within cluster)——通不过下述"操作性重复测试"。
- 无依据的事实断言(Unsupported factual claim)——错误或未注明来源却被当作事实陈述的事实/历史/因果断言(见 grounding 标签)。软化或删除。
Grounding 标签(仅限事实型概念)——贴标签,而非只扣分
任何事实、历史、科学或因果主张都要过一遍真值核查,并在 frontmatter 中打上grounding:标签:
- VERIFIED—— 准确 + 有来源 → 可保留并部署。
- OPINION—— 明确框定为用户的观点/论点 → 没问题。
- NEEDS_SOURCE—— 看似合理但以事实口吻未注明来源 → 仅当改写为观点/主张后保留。
- UNSAFE—— 错误,或"犀利但为假" → DELETE 或软化。
不要存储自信的虚假陈述——一旦部署,它们只会让别人更不理解用户。引用规范遵循 skills/conventions/quality.md(其"Source precedence"把用户直接陈述列为最高权威,冲突时"note the contradiction with both citations",而不是悄悄二选一)。
声誉风险门(Reputational-risk gate)
一个犀利但可能误代表用户的概念——让用户听起来残忍、轻视他人、或持有一个他们并不持有的立场——是负债,不是弹药。即使 Voltage 高分也要标记为重写或删除。Powerful 意味着"使用后无反弹"。
集群预算("规模化后的陈词滥调"问题)
当大量概念来自同一来源或共享同一想法时,评估集合而非逐一评估。每个语义集群的默认预算:
- 1 个 canonical 概念(机制最锋利的陈述)——永远保留。
- +1–2 个仅当各自贡献了不同的机制、具体例子、不同的情绪调性、新受众或用户独有的措辞。
- 超过 3 个仅当与进行中的项目绑定。
集群内其余一切 → MERGE(优先,见下)或 DELETE。四十个同一主题的近似 stub → 一个 canonical 机制概念,可能再加一句好句子。其余向上合并。
操作性重复测试
不要凭肉眼判断"% 重叠"。把候选与集群内最佳既有概念对比,问:它是否新增了机制、例子、情绪调性、受众或用户专属措辞?没有 → MERGE(并入并保留信号)或 DELETE。有 → 它新增的东西就是保留它的理由。
硬性 KEEP 覆盖(挽救低分——但有底线)
每个覆盖仅当概念可理解且潜在有用时生效:
- 独有声音(Singular voice)——捕捉到只有用户会说的话。声音胜过打磨,但声音不能胜过连贯。
- 对进行中项目承重(Load-bearing for an active project)——直接支撑已知论点或进行中的工作。
- 罕见出处(Rare provenance)——无法再生的真实引文/时刻(一次会议、用户自己的笔记),且携带可恢复的意义。没有内容的"关于那个 AI 东西的精彩观点"不符合条件。
Merge-with-backlinks(可逆 —— 什么都不会被销毁)
对冗余集群,清理是反向的:不要删尾,把尾部向上合并进 canonical 头部,让合并账本(merge ledger)成为显著性(salience)指标。一个想法被独立地重新推导 N 次不是膨胀——是语料在 N 个不同语境里标记"这个很重要"。删除重复会扔掉这个信号;合并则捕获它。
每次合并都会在 canonical 上长出三个 frontmatter 字段 + 一个正文区块:
merge_count(int)——吸收的页面原始数量,含同源重复提取。independent_sources(int)——集群提取自的不同来源数。这才是真正的显著性指标——当单一来源被反复重新提取时,原始 merge_count 会虚高,independent_sources 正是解药。backlinks({source, angle, date}列表)——每个被吸收页的来源 + 它带来的特定角度。所有框架都存活,只是不再是独立的顶层页面。## Facets(正文)——canonical 机制置顶,然后每个被吸收页一行"as seen in {source}: {angle}"。概念变成多角度的,而不是冗余的。
合并质量门(拒绝不完整合并):仅当 (a)## Facets区块为每个被吸收页各有一行(来源 + 特定角度),且 (b) 每条backlinks都有 source + angle + date 时,合并才会写入。空 facets 或悬空条目 = 拒绝合并并标记该集群人工复核。不允许半吊子合并。
区分度守卫是硬性否决(HARD VETO),不是建议。两个看起来像重复的概念,除非 LLM 评审肯定性地确认它们陈述的是同一机制,否则不合并。默认是不合并;评审必须"挣得"这次合并,且其 yes/no + 理由按集群记录。不同的机制/例子/调性 → 各自保留 canonical。相似性提出候选,判断力定夺。
寻找合并候选 —— 用定性波段,不用数值截断。不要硬编码相似度阈值:gbrain search返回的是混合(RRF 融合)分数,不是原始余弦相似度,任何钉死的数字都会随语料与搜索模式漂移而失效。定性工作法:搜索每个概念的标题 + 首段,当另一个概念出现在结果列表顶部、且与其余结果有明显分数差距时,把它当作合并候选。共享词汇但不共享机制的概念会落在列表中部——那正是区分度守卫发挥作用的地带。在全量执行前,先在自己语料的分布上做校准。
合并机制(渐进式、完全可逆)
# 0. 盘点要清理的分层 gbrain query "type:concept" --limit 10000 --json # 1. 探测合并候选(互相出现在列表顶部) gbrain search "concept title + first paragraph" --limit 10 # 2. 在触碰之前,把被吸收页原样归档到 _merged/ 下 # (在其 frontmatter 中加 merged_into: <canonical-slug>)。 # _merged/ 树就是撤销按钮。 gbrain get concepts/absorbed-stub gbrain put concepts/_merged/cluster-name/absorbed-stub # 3. 生长 canonical 头部:merge_count、independent_sources、 # backlinks 和 ## Facets 区块 gbrain put concepts/canonical-slug # 4. 软删除被吸收的原页(在 purge 前可恢复) gbrain delete concepts/absorbed-stub # 撤销路径:gbrain restore <slug>(purge 窗口内)、 # _merged/ 副本(purge 后仍存活)、以及每页版本历史: gbrain history concepts/canonical-slug gbrain revert concepts/canonical-slug <version_id>增量提交。清理期间没有任何东西被硬删除:_merged/树 + 软删除 + 页面历史让每一步都可逆。
合并账本 → 涌现式层级提升
把independent_sources喂回 Phase 2 的 Frequency 轴。当 canonical 概念的independent_sources越过语料直方图的自然间隙——看分布,别硬编码整数——它就是层级提升候选(T4→T3、T3→T2、T2→T1 复核)。没有体积上限:一个不断吸收合并的概念应该长得肥胖。层级边界因此是涌现的而非手绘的——语料在告诉你:一个反复出现的思想已经挣得了自己的层级。
质量门
去重质量
- 不应存在两个概念页是"换种说法的同一个想法"。
- 别名保留在 frontmatter 中供搜索命中。
- 运行
gbrain query "type:concept"抽查数量下降。
层级质量
- T1 应该让人感觉"对,那确实是我反复使用的框架之一"——可识别、反复出现、锋利。
- T2 应该让人感觉"我在打磨这个;它越来越清晰了"。
- 无概念应处于 T1 却 < 4 个月跨度或 < 6 次提及。
- 无概念应处于 T4 却 > 3 个月跨度。
综合质量
- 捕捉演进,而非重复。
- 使用逐字引文,而非转述(对应 skills/conventions/quality.md 的引用铁律)。
- 链接到相关概念(Markdown 链接,非 wiki 链接)。
- 不幻觉来源或日期。
清理质量
- 当概念持有集群中唯一的机制陈述时,不得删除它——canonical 必须在每次清理中存活。
- 每次合并都通过合并质量门:
## Facets已填充 +backlinks条目完整。无半吊子合并。 - 区分度守卫的判定按集群记录;任何合并写入前,评审必须大声说过 yes。
- 没有 UNSAFE 标签的主张以事实口吻存活。
- 每个被吸收页在被软删除前都有逐字的
_merged/副本。
Cron 集成:按节奏跑,而非每次信号都跑
这是重活。按节奏运行,而非跟随每个信号:
- 在大批摄取批次完成后(signal-detector 爆发、archive crawler 运行等)。
- 每周 cron做新晋升 T1/T2 概念的增量综合。
- 语料显著漂移时手动触发全量重新综合。
- Phase 5 清理比综合跑得少——月度,或当一次大摄取波明显推高 stub 数量时。永远先 test-before-bulk(先试点 3–5 个集群,见 skills/conventions/test-before-bulk.md)。
反模式清单
- ❌ 对 T3/T4 跑综合——浪费 API 预算在可能永远不会变得锋利的思想上。
- ❌ 幻觉引文或日期。时间线必须能在既有 brain 页面上验证。
- ❌ 通用集群名("Various Topics")。如果你无法命名集群,集群就不是真的。
- ❌ 在没有新来源素材的情况下重复综合已综合的 T1。尊重幂等性。
- ❌ 为合并候选硬编码数值相似度截断。搜索分数是语料与模式相对的;用定性波段,让区分度守卫定夺。
- ❌ 仅凭相似度合并。共享词汇 ≠ 共享机制;区分度守卫是硬性否决,不是建议。
- ❌ 删除冗余概念而非向上合并。删除会扔掉驱动层级提升的频率信号。
- ❌ 因为措辞漂亮就保留空洞概念。最低 substance 门槛正是为此存在。
- ❌ 清理期间硬删除。归档到
_merged/+ 软删除;让每条撤销路径存活。 - ❌ 未先做 3–5 个集群试点就全量清理(见 skills/conventions/test-before-bulk.md)。
归档位置与关联技能
输出文件按主主题规则归档在concepts/下,遵循 skills/_brain-filing-rules.md("Reusable framework/thesis →concepts/—— 它是心智模型";sources/仅用于原始数据与批量导入;回链铁律要求每次提及带 brain 页的实体都建立双向回链)。合成输出是 sui generis 例外:仅限一对一来源 + 特定读者的个人化产物才用media/<format>/前缀路径。
本技能与摄取侧的三个上游技能组成完整闭环:
- skills/signal-detector/SKILL.md —— 文本渠道创建原始概念 stub;
- skills/voice-note-ingest/SKILL.md —— 音频渠道;
- skills/idea-ingest/SKILL.md —— 链接/文章渠道。
契约(Contract)与一致性
技能 frontmatter 声明mutating: true、writes_pages: true、writes_to: [concepts/],并保证:
- 路由匹配 frontmatter 中的 canonical 触发器(如 "concept synthesis"、"canon vs riff"、"cull my concepts");
- 输出写入
writes_to:列出的目录(适用时); - 遵循引用的约定(quality.md、brain-first.md、_brain-filing-rules.md);
- 隐私契约保持:无真实姓名、无 fork 专属文件系统路径字面量、无上游 fork 引用。
全文的契约细节在正文各节已完整展开,frontmatter 的triggers列表(含 "synthesize my concepts"、"find patterns across my notes"、"trace idea evolution"、"which concepts to keep" 等)为 Agent 路由提供入口。技能输出形状在正文("Output" 部分)内联说明,该契约由test/skills-conformance.test.ts一致性测试校验。
- 人工智能
- RAG
- Agent 记忆
- MCP 服务
- 知识管理
【免费下载链接】gbrain
Garry's Opinionated OpenClaw/Hermes Agent Brain
相关推荐
gbrain concept-synthesis:把数千条概念存根提炼成分层知识图谱的完整实战指南
gbrain concept synthesis:把数千条概念存根提炼成分层知识图谱的完整实战指南 本文围绕 gbrain 插件变体 gbrain coding
人工智能RAGAgent 记忆MCP 服务知识管理gbrain concept-synthesis 技能实战指南:从原始概念草稿到分级知识地图与可逆精选修剪
gbrain concept synthesis 技能实战指南:从原始概念草稿到分级知识地图与可逆精选修剪 本指南以仓库中的 skills/concept sy
人工智能RAGAgent 记忆MCP 服务知识管理大麦抢票工具实测:Selenium 与 Appium 双端自动化购票上手指南
大麦抢票工具实测:Selenium 与 Appium 双端自动化购票上手指南 上一场演出开票,我手已经悬在"立即购买"上方,等选完城市、场次、票价,页面已经翻成
GUI 自动化RPA
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考