fe5505343e
- 通过悟空(dws CLI)拉取dc战略问题研究院+创新组两个群的消息(377条) - 提取190个飞书链接、18个文件附件 - 下载HTML/MD/XLSX等报告文件到output/downloaded-files/ - 构建知识图谱(JSON+HTML可视化) - 生成Obsidian知识库(28个页面,7大主题) - 生成花园世界全量汇总报告 - 所有脚本路径改为相对路径,便于迁移
1306 lines
49 KiB
HTML
1306 lines
49 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="zh-CN">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>game-analyst-agent 工具说明书 — 战略研究部</title>
|
||
<style>
|
||
:root {
|
||
--primary: #1a2744;
|
||
--accent: #2563b0;
|
||
--bg: #f3f5f8;
|
||
--card: #ffffff;
|
||
--text: #2d3436;
|
||
--muted: #6b7280;
|
||
--border: #e2e8f0;
|
||
--ok: #059669;
|
||
--ok-bg: #ecfdf5;
|
||
--ok-bdr: #a7f3d0;
|
||
--warn: #d97706;
|
||
--warn-bg: #fffbeb;
|
||
--warn-bdr: #fcd34d;
|
||
--danger: #dc2626;
|
||
--danger-bg:#fff5f5;
|
||
--danger-bdr:#fca5a5;
|
||
--info: #2563b0;
|
||
--info-bg: #eff6ff;
|
||
--info-bdr: #bfdbfe;
|
||
--purple: #7c3aed;
|
||
--purple-bg:#f5f3ff;
|
||
--purple-bdr:#ddd6fe;
|
||
}
|
||
|
||
* { margin: 0; padding: 0; box-sizing: border-box; }
|
||
body {
|
||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI",
|
||
"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
|
||
background: var(--bg);
|
||
color: var(--text);
|
||
line-height: 1.8;
|
||
font-size: 15px;
|
||
}
|
||
|
||
.page { max-width: 1120px; margin: 0 auto; padding: 48px 32px 96px; }
|
||
|
||
.page-header {
|
||
background: var(--card);
|
||
border-radius: 10px;
|
||
padding: 36px 40px 28px;
|
||
margin-bottom: 8px;
|
||
border-bottom: 4px solid var(--accent);
|
||
box-shadow: 0 1px 6px rgba(0,0,0,.05);
|
||
}
|
||
.page-header .doc-type {
|
||
display: inline-block;
|
||
font-size: .72em;
|
||
font-weight: 700;
|
||
text-transform: uppercase;
|
||
letter-spacing: 1px;
|
||
color: var(--accent);
|
||
background: var(--info-bg);
|
||
border: 1px solid var(--info-bdr);
|
||
padding: 3px 12px;
|
||
border-radius: 12px;
|
||
margin-bottom: 14px;
|
||
}
|
||
.page-header h1 {
|
||
font-size: 1.7em;
|
||
color: var(--primary);
|
||
line-height: 1.4;
|
||
margin-bottom: 12px;
|
||
font-weight: 800;
|
||
}
|
||
.page-header .sub {
|
||
font-size: .93em;
|
||
color: var(--muted);
|
||
margin-bottom: 16px;
|
||
line-height: 1.55;
|
||
}
|
||
.meta {
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
gap: 8px 20px;
|
||
font-size: .78em;
|
||
color: var(--muted);
|
||
padding: 12px 0 0;
|
||
border-top: 1px solid var(--border);
|
||
}
|
||
.meta span::before { content: attr(data-label) "\FF1A"; font-weight: 600; color: var(--primary); }
|
||
|
||
.section {
|
||
background: var(--card);
|
||
border-radius: 10px;
|
||
padding: 34px 38px;
|
||
margin-bottom: 20px;
|
||
box-shadow: 0 1px 8px rgba(0,0,0,.05);
|
||
border-left: 5px solid var(--accent);
|
||
}
|
||
.section.ok { border-left-color: var(--ok); }
|
||
.section.warn { border-left-color: var(--warn); }
|
||
.section.danger { border-left-color: var(--danger); }
|
||
.section.info { border-left-color: var(--info); }
|
||
.section.purple { border-left-color: var(--purple); }
|
||
.section.gray { border-left-color: var(--border); }
|
||
|
||
.sec-intro {
|
||
font-size: .92em;
|
||
color: var(--muted);
|
||
margin: 6px 0 20px;
|
||
line-height: 1.6;
|
||
}
|
||
|
||
h2 {
|
||
font-size: 1.26em;
|
||
color: var(--primary);
|
||
margin-bottom: 6px;
|
||
padding-bottom: 10px;
|
||
border-bottom: 2px solid var(--border);
|
||
}
|
||
h3 { font-size: 1.04em; color: var(--accent); margin: 22px 0 10px; }
|
||
h4 { font-size: .96em; font-weight: 700; margin: 14px 0 6px; color: var(--primary); }
|
||
p { margin-bottom: 10px; }
|
||
ul, ol { margin: 6px 0 12px 22px; }
|
||
li { margin-bottom: 5px; }
|
||
strong { color: var(--primary); }
|
||
code {
|
||
background: #edf2f7;
|
||
padding: 1px 6px;
|
||
border-radius: 4px;
|
||
font-size: .86em;
|
||
font-family: "SF Mono", Consolas, "Courier New", monospace;
|
||
}
|
||
|
||
.callout {
|
||
padding: 14px 18px;
|
||
border-radius: 0 8px 8px 0;
|
||
margin: 14px 0;
|
||
font-size: .92em;
|
||
line-height: 1.65;
|
||
}
|
||
.callout-info { background: var(--info-bg); border-left: 4px solid var(--info); }
|
||
.callout-ok { background: var(--ok-bg); border-left: 4px solid var(--ok); }
|
||
.callout-warn { background: var(--warn-bg); border-left: 4px solid var(--warn); }
|
||
.callout-danger { background: var(--danger-bg); border-left: 4px solid var(--danger); }
|
||
.callout-purple { background: var(--purple-bg); border-left: 4px solid var(--purple); }
|
||
.callout-title { font-weight: 700; margin-bottom: 5px; color: var(--primary); }
|
||
|
||
.status {
|
||
display: inline-block;
|
||
padding: 3px 12px;
|
||
border-radius: 12px;
|
||
font-size: .76em;
|
||
font-weight: 700;
|
||
margin-right: 5px;
|
||
white-space: nowrap;
|
||
}
|
||
.status-ok { background: #d1fae5; color: #065f46; }
|
||
.status-warn { background: #fef3c7; color: #92400e; }
|
||
.status-danger { background: #fee2e2; color: #991b1b; }
|
||
.status-info { background: #dbeafe; color: #1e40af; }
|
||
.status-purple { background: var(--purple-bg); color: #5b21b6; }
|
||
.status-gray { background: #f3f4f6; color: #374151; }
|
||
|
||
.card {
|
||
background: var(--card);
|
||
border-radius: 9px;
|
||
padding: 20px 18px;
|
||
border: 1px solid var(--border);
|
||
box-shadow: 0 1px 4px rgba(0,0,0,.04);
|
||
}
|
||
.card.ok { border-top: 3px solid var(--ok); }
|
||
.card.warn { border-top: 3px solid var(--warn); }
|
||
.card.danger { border-top: 3px solid var(--danger); }
|
||
.card.info { border-top: 3px solid var(--info); }
|
||
.card.purple { border-top: 3px solid var(--purple); }
|
||
.card-label {
|
||
font-size: .72em;
|
||
font-weight: 700;
|
||
text-transform: uppercase;
|
||
letter-spacing: .8px;
|
||
color: var(--muted);
|
||
margin-bottom: 8px;
|
||
}
|
||
.card-text { font-size: .9em; line-height: 1.55; color: var(--primary); font-weight: 500; }
|
||
|
||
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 14px 0; }
|
||
.grid-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; margin: 14px 0; }
|
||
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 14px 0; }
|
||
@media (max-width: 900px) { .grid-4 { grid-template-columns: 1fr 1fr; } }
|
||
@media (max-width: 700px) { .grid-2, .grid-3 { grid-template-columns: 1fr; } }
|
||
|
||
.table-wrap { overflow-x: auto; margin: 14px 0 18px; border-radius: 8px; border: 1px solid var(--border); }
|
||
table { width: 100%; border-collapse: collapse; font-size: .87em; }
|
||
thead { background: #f0f4f8; }
|
||
th {
|
||
padding: 10px 13px;
|
||
text-align: left;
|
||
font-weight: 600;
|
||
color: var(--primary);
|
||
border-bottom: 2px solid var(--border);
|
||
}
|
||
td { padding: 9px 13px; border-bottom: 1px solid var(--border); vertical-align: top; }
|
||
tbody tr:nth-child(even) { background: #f8fafb; }
|
||
tbody tr:hover { background: #eef1f6; }
|
||
|
||
.action-list {
|
||
background: var(--ok-bg);
|
||
border: 2px solid var(--ok-bdr);
|
||
border-radius: 12px;
|
||
padding: 24px 28px;
|
||
margin: 16px 0;
|
||
}
|
||
.action-list-title {
|
||
font-weight: 700;
|
||
font-size: 1em;
|
||
color: var(--ok);
|
||
margin-bottom: 14px;
|
||
}
|
||
.action-item {
|
||
display: flex;
|
||
align-items: flex-start;
|
||
gap: 10px;
|
||
padding: 9px 0;
|
||
border-bottom: 1px solid var(--ok-bdr);
|
||
}
|
||
.action-item:last-child { border: none; }
|
||
.step-num {
|
||
min-width: 24px;
|
||
height: 24px;
|
||
background: var(--ok);
|
||
color: #fff;
|
||
border-radius: 50%;
|
||
font-size: .78em;
|
||
font-weight: 700;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
margin-top: 1px;
|
||
flex-shrink: 0;
|
||
}
|
||
.action-text { font-size: .9em; line-height: 1.55; }
|
||
|
||
.flow-block {
|
||
background: #f8fafd;
|
||
border: 1px solid var(--border);
|
||
border-radius: 8px;
|
||
padding: 18px 22px;
|
||
margin: 14px 0;
|
||
font-family: "SF Mono", Consolas, "Courier New", monospace;
|
||
font-size: .84em;
|
||
line-height: 1.9;
|
||
overflow-x: auto;
|
||
white-space: pre;
|
||
color: var(--primary);
|
||
}
|
||
|
||
.toc {
|
||
background: var(--card);
|
||
border-radius: 10px;
|
||
padding: 24px 32px;
|
||
margin-bottom: 20px;
|
||
box-shadow: 0 1px 8px rgba(0,0,0,.05);
|
||
border: 1px solid var(--border);
|
||
}
|
||
.toc h3 { margin-top: 0; font-size: .95em; color: var(--primary); }
|
||
.toc ul, .toc ol { margin-left: 18px; list-style: none; }
|
||
.toc li { margin-bottom: 4px; font-size: .9em; }
|
||
.toc a { color: var(--accent); text-decoration: none; }
|
||
.toc a:hover { text-decoration: underline; }
|
||
|
||
footer {
|
||
margin-top: 64px;
|
||
padding-top: 20px;
|
||
border-top: 1px solid var(--border);
|
||
text-align: center;
|
||
color: var(--muted);
|
||
font-size: .79em;
|
||
line-height: 2;
|
||
}
|
||
|
||
@media (max-width: 768px) {
|
||
.page { padding: 20px 16px 60px; }
|
||
.page-header { padding: 24px 20px 18px; }
|
||
.page-header h1 { font-size: 1.35em; }
|
||
.section { padding: 22px 20px; }
|
||
.meta { gap: 6px 14px; }
|
||
}
|
||
|
||
@media print {
|
||
body { background: #fff; font-size: 13px; }
|
||
.page { padding: 20px; max-width: 100%; }
|
||
.section { box-shadow: none; break-inside: avoid; page-break-inside: avoid; }
|
||
.page-header { box-shadow: none; }
|
||
table { font-size: .82em; }
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<div class="page">
|
||
|
||
<!-- PAGE HEADER -->
|
||
<div class="page-header">
|
||
<div class="doc-type">INTERNAL · 战略研究部 · 工具文档</div>
|
||
<h1>game-analyst-agent 工具说明书</h1>
|
||
<div class="sub">通用产品分析自动化工具 — 自动探索游戏/网页界面、提取机制与数值、多游戏对比、活动追踪、市场数据采集、决策报告生成</div>
|
||
<div class="meta">
|
||
<span data-label="版本">1.7.0</span>
|
||
<span data-label="日期">2026-05-22</span>
|
||
<span data-label="适用对象">游戏分析师、制作人、策划、市场研究员、产品经理</span>
|
||
<span data-label="运行环境">Windows / macOS + Python 3.10+</span>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- SUMMARY GRID -->
|
||
<div class="grid-4" style="margin-bottom:20px">
|
||
<div class="card ok">
|
||
<div class="card-label">核心能力</div>
|
||
<div class="card-text">
|
||
自动探索界面<br>
|
||
机制规则提取<br>
|
||
数值事实采集<br>
|
||
多游戏横向对比<br>
|
||
活动变化追踪<br>
|
||
决策报告生成
|
||
</div>
|
||
</div>
|
||
<div class="card info">
|
||
<div class="card-label">覆盖范围</div>
|
||
<div class="card-text">
|
||
Android 游戏(模拟器)<br>
|
||
H5 / 网页游戏<br>
|
||
竞品官网<br>
|
||
市场数据页面
|
||
</div>
|
||
</div>
|
||
<div class="card purple">
|
||
<div class="card-label">使用方式</div>
|
||
<div class="card-text">
|
||
命令行启动<br>
|
||
挂机无人值守<br>
|
||
定期查看增量报告<br>
|
||
按需生成决策报告
|
||
</div>
|
||
</div>
|
||
<div class="card">
|
||
<div class="card-label">运行成本</div>
|
||
<div class="card-text">
|
||
探索阶段:免费<br>
|
||
分析阶段:国产模型<br>
|
||
24h 连续运行 < 1 元
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- TOC -->
|
||
<div class="toc">
|
||
<h3>目录</h3>
|
||
<ul>
|
||
<li><a href="#s1">一、工具定位与设计理念</a></li>
|
||
<li><a href="#s2">二、核心能力总览</a></li>
|
||
<li><a href="#s3">三、技术架构</a></li>
|
||
<li><a href="#s4">四、安装与环境配置</a></li>
|
||
<li><a href="#s5">五、使用指南</a></li>
|
||
<li><a href="#s6">六、输出产物说明</a></li>
|
||
<li><a href="#s7">七、支持的模型与成本</a></li>
|
||
<li><a href="#s8">八、迭代路线图</a></li>
|
||
<li><a href="#s9">九、常见问题</a></li>
|
||
<li><a href="#s10">十、适用场景与边界</a></li>
|
||
</ul>
|
||
</div>
|
||
|
||
<!-- SECTION 1 -->
|
||
<div class="section" id="s1">
|
||
<h2>一、工具定位与设计理念</h2>
|
||
<p class="sec-intro">为什么需要这个工具,它解决什么问题,不做什么。</p>
|
||
|
||
<h3>1.1 解决的核心问题</h3>
|
||
<p>游戏分析师在做竞品深拆、项目选型调研时,需要大量时间手动体验游戏、截图记录、整理机制规则、采集市场数据、横向对比。一款中度游戏的完整系统拆解通常需要 3-5 天人工投入,多游戏对比更是倍数级工作量。</p>
|
||
<p><strong>game-analyst-agent</strong> 将整条分析链路自动化:</p>
|
||
<ul>
|
||
<li>自动探索游戏界面(Android 模拟器)或网页(浏览器模式)</li>
|
||
<li>自动截图、去重、提取机制规则和数值事实</li>
|
||
<li>多游戏横向对比,生成结构化对比报告</li>
|
||
<li>定时重跑追踪竞品活动变化</li>
|
||
<li>采集市场数据页面信息</li>
|
||
<li>生成面向管理层的决策报告</li>
|
||
</ul>
|
||
|
||
<div class="callout callout-info">
|
||
<div class="callout-title">设计理念</div>
|
||
工具定位是<strong>产品分析自动化辅助</strong>,不替代人工判断。它负责把信息「采集、结构化、对比、呈现」,分析师负责基于这些信息做商业判断和策略建议。
|
||
</div>
|
||
|
||
<h3>1.2 核心设计原则</h3>
|
||
<ul>
|
||
<li><strong>不依赖手动截图</strong> — 工具自动完成所有界面采集,人工不参与运行期操作</li>
|
||
<li><strong>不针对特定产品</strong> — 不硬编码任何游戏/网站的坐标或导航路径,对任意目标零配置启动</li>
|
||
<li><strong>可长时间无人值守</strong> — 支持 24h+ 连续运行,用时间换覆盖率,按固定频率输出进度报告</li>
|
||
<li><strong>双模式覆盖</strong> — Android 模拟器(手游)+ Playwright 浏览器(网页/H5/市场数据)</li>
|
||
<li><strong>从采集到决策的完整链路</strong> — 探索 → 提取 → 对比 → 追踪 → 报告,一条工具链闭环</li>
|
||
</ul>
|
||
|
||
<h3>1.3 不做什么</h3>
|
||
<ul>
|
||
<li>不直接输出体验评价结论或商业化建议(这是分析师的工作)</li>
|
||
<li>不做外挂式自动操作(不刷资源、不代打)</li>
|
||
<li>不需要逆向游戏协议或破解 APK</li>
|
||
</ul>
|
||
</div>
|
||
|
||
<!-- SECTION 2 -->
|
||
<div class="section ok" id="s2">
|
||
<h2>二、核心能力总览</h2>
|
||
<p class="sec-intro">工具当前已具备的全部能力,分为六大模块。</p>
|
||
|
||
<div class="grid-3">
|
||
<div class="card ok">
|
||
<div class="card-label">自主界面探索</div>
|
||
<div class="card-text">
|
||
Android 模拟器 + 浏览器双模式<br>
|
||
感知哈希去重,不重复探索<br>
|
||
BFS 导航 + 自动回退<br>
|
||
长按 / 悬停 / 边缘抽屉发现<br>
|
||
弹窗自动关闭 + Cookie 处理<br>
|
||
自适应无限滚动 + 暗色主题适配
|
||
</div>
|
||
</div>
|
||
<div class="card ok">
|
||
<div class="card-label">机制规则 + 数值提取</div>
|
||
<div class="card-text">
|
||
AI 视觉模型分析截图<br>
|
||
提取规则并按系统模块分类<br>
|
||
提取数值事实(定价/时间/消耗量)<br>
|
||
资源流转拓扑自动推断
|
||
</div>
|
||
</div>
|
||
<div class="card ok">
|
||
<div class="card-label">多游戏横向对比</div>
|
||
<div class="card-text">
|
||
跨游戏规则按 module 对齐<br>
|
||
自动标注差异点<br>
|
||
生成 HTML 对比矩阵报告
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="grid-3">
|
||
<div class="card info">
|
||
<div class="card-label">活动追踪与时间线</div>
|
||
<div class="card-text">
|
||
定时重跑检测界面变化<br>
|
||
追踪限时活动上下线<br>
|
||
输出变化时间线
|
||
</div>
|
||
</div>
|
||
<div class="card info">
|
||
<div class="card-label">市场数据采集</div>
|
||
<div class="card-text">
|
||
浏览器模式采集数据页面<br>
|
||
七麦 / SensorTower / 榜单<br>
|
||
补充市场表现维度
|
||
</div>
|
||
</div>
|
||
<div class="card info">
|
||
<div class="card-label">决策报告生成</div>
|
||
<div class="card-text">
|
||
多游戏数据 + AI 综合分析<br>
|
||
面向管理层的推荐格式<br>
|
||
可直接用于项目评审会
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<h3>2.1 探索智能(v1.7)</h3>
|
||
<p>探索引擎内置 9 级优先级决策链,模拟真实用户的全部交互行为:</p>
|
||
<div class="grid-3">
|
||
<div class="card ok">
|
||
<div class="card-label">交互覆盖</div>
|
||
<div class="card-text">
|
||
点击(tap)+ 长按(long press)<br>
|
||
垂直/水平滚动 + 自适应无限滚动<br>
|
||
边缘抽屉滑动(侧边栏/下拉面板)<br>
|
||
浏览器悬停(hover)展开子菜单
|
||
</div>
|
||
</div>
|
||
<div class="card ok">
|
||
<div class="card-label">干扰处理</div>
|
||
<div class="card-text">
|
||
弹窗自动检测 + 关闭(签到/活动/礼包)<br>
|
||
Cookie/隐私同意弹窗自动关闭<br>
|
||
加载动画等待(画面稳定再操作)<br>
|
||
暗色主题自适应检测阈值
|
||
</div>
|
||
</div>
|
||
<div class="card ok">
|
||
<div class="card-label">覆盖率保障</div>
|
||
<div class="card-text">
|
||
角落小图标检测(?/!/设置)<br>
|
||
Tab 栏等距按钮检测<br>
|
||
DOM 元素精确识别(浏览器模式)<br>
|
||
pHash 变化驱动的自适应决策
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<h3>2.2 基础支撑能力</h3>
|
||
<div class="grid-3">
|
||
<div class="card">
|
||
<div class="card-label">多模型后端</div>
|
||
<div class="card-text">
|
||
Claude / 通义千问 / GLM-4V / 豆包<br>
|
||
按需切换成本与精度
|
||
</div>
|
||
</div>
|
||
<div class="card">
|
||
<div class="card-label">规则去重与分类</div>
|
||
<div class="card-text">
|
||
自动去除重复规则<br>
|
||
按 module 分组归档<br>
|
||
置信度分层标注
|
||
</div>
|
||
</div>
|
||
<div class="card">
|
||
<div class="card-label">容错与恢复</div>
|
||
<div class="card-text">
|
||
ADB 断连自动重连<br>
|
||
API 失败重试后跳过<br>
|
||
探索引擎自动回退不卡死
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<h3>2.3 完整工作流程</h3>
|
||
<div class="flow-block">┌──────────────────────────────────────────────────────────────┐
|
||
│ 单游戏深拆链路 │
|
||
├──────────────────────────────────────────────────────────────┤
|
||
│ │
|
||
│ explore(Android / 浏览器) │
|
||
│ │ │
|
||
│ ├─ 探索阶段(本地,成本 = 0) │
|
||
│ │ 截图 → pHash 去重 → 9 级智能决策: │
|
||
│ │ 弹窗关闭 → 边缘抽屉 → tap → 滚动 → 自适应滚动 │
|
||
│ │ → 长按 → 悬停(浏览器) → 回退 │
|
||
│ │ │
|
||
│ ├─ 分析阶段(定时,可控成本) │
|
||
│ │ 批量截图 → AI 视觉模型 → 规则 + 数值事实 → DB │
|
||
│ │ → 资源流转推断 │
|
||
│ │ │
|
||
│ └─ 报告阶段(自动) │
|
||
│ 每 30min → 进度报告 | 探索结束 → 最终报告 │
|
||
│ │
|
||
└──────────────────────────────────────────────────────────────┘
|
||
|
||
┌─────────────────────────────────────────────────────────┐
|
||
│ 多游戏对比 + 决策链路 │
|
||
├─────────────────────────────────────────────────────────┤
|
||
│ │
|
||
│ compare → 跨游戏规则对齐 → 差异标注 → 对比报告 HTML │
|
||
│ timeline → 定时重跑 → 活动上下线检测 → 变化时间线 │
|
||
│ market → 浏览器采集数据页 → 市场数据补充 │
|
||
│ decision-report → 多游戏数据 + AI 综合推断 → 决策报告 │
|
||
│ │
|
||
└─────────────────────────────────────────────────────────┘</div>
|
||
</div>
|
||
|
||
<!-- SECTION 3 -->
|
||
<div class="section info" id="s3">
|
||
<h2>三、技术架构</h2>
|
||
<p class="sec-intro">工具的内部结构,供技术背景的使用者了解运行原理。非技术用户可跳过本节,不影响正常使用。</p>
|
||
|
||
<h3>3.1 模块架构</h3>
|
||
<div class="table-wrap">
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>模块</th>
|
||
<th>文件</th>
|
||
<th>职责</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><strong>设备驱动</strong></td>
|
||
<td><code>core/adb_device_driver.py</code></td>
|
||
<td>通过 ADB 控制模拟器:截图、点击、长按、滑动、返回</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>探索引擎</strong></td>
|
||
<td><code>core/explorer.py</code></td>
|
||
<td>9 级优先级决策引擎:弹窗→抽屉→tap→滚动→自适应滚动→长按→回退</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>画面去重</strong></td>
|
||
<td><code>core/screen_dedup.py</code></td>
|
||
<td>感知哈希(pHash)计算、Screen 库持久化、重复判定</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>本地检测</strong></td>
|
||
<td><code>core/local_detector.py</code></td>
|
||
<td>视觉检测按钮/色块/Tab 栏/角落图标/弹窗覆盖层,暗色主题自适应</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>模型后端</strong></td>
|
||
<td><code>core/llm_backend.py</code></td>
|
||
<td>统一接口调用多种视觉 AI 模型(OpenAI 兼容 + Anthropic)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>批量分析</strong></td>
|
||
<td><code>core/batch_analyzer.py</code></td>
|
||
<td>定时收集新截图、调用模型提取规则、写入数据库</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>报告生成</strong></td>
|
||
<td><code>core/reporter.py</code></td>
|
||
<td>增量进度报告 + 最终完整报告生成</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>数据存储</strong></td>
|
||
<td><code>core/db_client.py</code></td>
|
||
<td>SQLite 数据库:screens / rules / facts / sessions 表</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>浏览器驱动</strong></td>
|
||
<td><code>core/browser_driver.py</code></td>
|
||
<td>Playwright 驱动:截图、点击、滚动、长按、悬停、DOM 感知、Cookie 弹窗处理</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>数值提取</strong></td>
|
||
<td><code>core/fact_extractor.py</code></td>
|
||
<td>从 AI 分析结果中解析结构化数值事实</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>资源流转</strong></td>
|
||
<td><code>core/flow_inferrer.py</code></td>
|
||
<td>从 rules + facts 推断资源流转拓扑关系</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>CLI 入口</strong></td>
|
||
<td><code>tools/cli.py</code></td>
|
||
<td>命令行路由:explore / compare / timeline / market / decision-report / report / doctor / init</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
|
||
<h3>3.2 两阶段成本分离</h3>
|
||
<div class="grid-2">
|
||
<div class="card ok">
|
||
<div class="card-label">探索阶段</div>
|
||
<div class="card-text">纯本地运算:OpenCV 视觉检测 + pHash 去重 + 9 级智能决策 + 设备操作。<strong>成本 = 0</strong>,可无限运行。</div>
|
||
</div>
|
||
<div class="card info">
|
||
<div class="card-label">分析阶段</div>
|
||
<div class="card-text">定时批量调用视觉模型。使用国产模型(通义千问)时,24 小时连续分析成本 < 1 元人民币。</div>
|
||
</div>
|
||
</div>
|
||
|
||
<h3>3.3 数据存储结构</h3>
|
||
<div class="flow-block">SQLite 数据库(games/{game_id}/db/mechanics.db)
|
||
├── screens 界面库:phash、访问次数、深度、分析状态
|
||
├── rules 机制规则:规则文本、module 分类、置信度、来源截图
|
||
├── facts 数值事实:属性名、数值、单位、关联系统
|
||
├── resource_flows 资源流转:source → target、消耗量、触发条件
|
||
└── sessions 运行记录:时长、发现界面数、规则数、成本</div>
|
||
</div>
|
||
|
||
<!-- SECTION 4 -->
|
||
<div class="section" id="s4">
|
||
<h2>四、安装与环境配置</h2>
|
||
<p class="sec-intro">从零开始,3 分钟完成安装。</p>
|
||
|
||
<h3>4.1 前提条件</h3>
|
||
<div class="table-wrap">
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>依赖</th>
|
||
<th>要求</th>
|
||
<th>说明</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><strong>操作系统</strong></td>
|
||
<td>Windows 10/11(推荐)</td>
|
||
<td>Windows 推荐;macOS 需额外配置模拟器</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>Python</strong></td>
|
||
<td>3.10 或更高</td>
|
||
<td>推荐使用 uv 安装管理</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>Android 模拟器</strong></td>
|
||
<td>MuMu Player 12(推荐)</td>
|
||
<td>需开启 ADB 调试,默认端口 16384</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>模型 API Key</strong></td>
|
||
<td>至少一个</td>
|
||
<td>推荐阿里通义千问(性价比)或 Anthropic Claude(精度)</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
|
||
<h3>4.2 安装步骤</h3>
|
||
<div class="action-list">
|
||
<div class="action-list-title">安装流程</div>
|
||
<div class="action-item">
|
||
<div class="step-num">1</div>
|
||
<div class="action-text"><strong>获取代码:</strong><code>git clone <repo_url></code> 然后 <code>cd game-analyst-agent</code></div>
|
||
</div>
|
||
<div class="action-item">
|
||
<div class="step-num">2</div>
|
||
<div class="action-text"><strong>安装依赖:</strong><code>pip install -e .</code>(基础安装)或 <code>pip install -e ".[all]"</code>(含浏览器模式 + 定时任务)</div>
|
||
</div>
|
||
<div class="action-item">
|
||
<div class="step-num">3</div>
|
||
<div class="action-text"><strong>配置 API Key:</strong><code>cp .env.example .env</code>,用文本编辑器打开 <code>.env</code>,填入你的 Key</div>
|
||
</div>
|
||
<div class="action-item">
|
||
<div class="step-num">4</div>
|
||
<div class="action-text"><strong>环境自检:</strong><code>game-analyst doctor</code>,全部 ✓ 表示就绪</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="callout callout-purple">
|
||
<div class="callout-title">可选依赖说明</div>
|
||
<ul>
|
||
<li><code>pip install -e ".[browser]"</code> — 安装 Playwright,启用浏览器模式和市场数据采集</li>
|
||
<li><code>pip install -e ".[schedule]"</code> — 安装 croniter,启用定时重跑功能</li>
|
||
<li><code>pip install -e ".[all]"</code> — 安装全部可选依赖</li>
|
||
</ul>
|
||
</div>
|
||
|
||
<h3>4.3 API Key 获取方式</h3>
|
||
<div class="table-wrap">
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>模型供应商</th>
|
||
<th>环境变量名</th>
|
||
<th>获取地址</th>
|
||
<th>参考价格</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><strong>阿里通义千问-VL</strong></td>
|
||
<td><code>DASHSCOPE_API_KEY</code></td>
|
||
<td>dashscope.aliyun.com</td>
|
||
<td>约 0.003 元/张</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>字节豆包 Vision</strong></td>
|
||
<td><code>ARK_API_KEY</code></td>
|
||
<td>volcengine.com/product/ark</td>
|
||
<td>约 0.002 元/张</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>智谱 GLM-4V</strong></td>
|
||
<td><code>ZHIPU_API_KEY</code></td>
|
||
<td>open.bigmodel.cn</td>
|
||
<td>约 0.005 元/张</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>Anthropic Claude</strong></td>
|
||
<td><code>ANTHROPIC_API_KEY</code></td>
|
||
<td>console.anthropic.com</td>
|
||
<td>约 0.02 元/张</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="callout callout-ok">
|
||
<div class="callout-title">推荐配置</div>
|
||
日常使用选阿里通义千问,成本极低且精度满足规则提取需求。需要高精度推断(如商业化结构分析)时切换 Claude。
|
||
</div>
|
||
</div>
|
||
|
||
<!-- SECTION 5 -->
|
||
<div class="section ok" id="s5">
|
||
<h2>五、使用指南</h2>
|
||
<p class="sec-intro">从启动到查看报告的完整操作流程。</p>
|
||
|
||
<h3>5.1 初始化游戏</h3>
|
||
<div class="flow-block">game-analyst init --game my_garden
|
||
|
||
# 输出:
|
||
# 已创建游戏配置:games/my_garden/
|
||
# 请编辑 games/my_garden/game.yaml 填写游戏名称和设备信息</div>
|
||
<p>打开 <code>games/my_garden/game.yaml</code>,只需修改游戏名称:</p>
|
||
<div class="flow-block">game:
|
||
name: "我的花园世界"
|
||
id: my_garden
|
||
|
||
device:
|
||
serial: "127.0.0.1:16384" # MuMu 默认端口</div>
|
||
|
||
<h3>5.2 启动探索</h3>
|
||
<div class="flow-block"># 确保模拟器已打开,游戏已进入主界面
|
||
|
||
# 启动(默认 24h 运行,每 30min 输出报告)
|
||
game-analyst explore --game my_garden
|
||
|
||
# 自定义参数
|
||
game-analyst explore --game my_garden \
|
||
--max-runtime 4 \
|
||
--analysis-interval 15 \
|
||
--max-depth 8</div>
|
||
|
||
<div class="table-wrap">
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>参数</th>
|
||
<th>说明</th>
|
||
<th>默认值</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><code>--game</code></td>
|
||
<td>游戏 ID(对应 games/ 下的目录名)</td>
|
||
<td>必填</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>--device</code></td>
|
||
<td>ADB 设备地址</td>
|
||
<td>127.0.0.1:16384</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>--max-runtime</code></td>
|
||
<td>最大运行时长(小时)</td>
|
||
<td>24</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>--analysis-interval</code></td>
|
||
<td>AI 分析触发频率(分钟)</td>
|
||
<td>30</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>--max-depth</code></td>
|
||
<td>探索最大深度(从主界面算起的层级数)</td>
|
||
<td>6</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>--analyze-only</code></td>
|
||
<td>只对已有截图重新分析,不启动探索</td>
|
||
<td>关闭</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
|
||
<h3>5.3 查看进度</h3>
|
||
<div class="flow-block"># 命令行查看状态
|
||
game-analyst status --game my_garden
|
||
|
||
# 直接读报告文件
|
||
cat reports/my_garden/latest_progress.md</div>
|
||
|
||
<h3>5.4 生成最终报告</h3>
|
||
<div class="flow-block"># Markdown 格式(按系统模块分章节)
|
||
game-analyst report --game my_garden
|
||
|
||
# HTML 格式(可直接发给非技术用户浏览)
|
||
game-analyst report --game my_garden --format html --standalone</div>
|
||
|
||
<h3>5.5 完整 CLI 命令一览</h3>
|
||
<div class="table-wrap">
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>命令</th>
|
||
<th>用途</th>
|
||
<th>使用场景</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><code>game-analyst explore</code></td>
|
||
<td>启动自主探索</td>
|
||
<td>挂机跑游戏/网页深拆</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>game-analyst status</code></td>
|
||
<td>查看当前探索状态</td>
|
||
<td>中途了解进度</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>game-analyst report</code></td>
|
||
<td>生成/重新生成分析报告</td>
|
||
<td>探索结束后导出最终报告</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>game-analyst compare</code></td>
|
||
<td>多游戏横向对比报告</td>
|
||
<td>对比多款游戏的机制/商业化结构</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>game-analyst timeline</code></td>
|
||
<td>活动追踪与变化时间线</td>
|
||
<td>定时重跑后查看竞品活动上下线</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>game-analyst market</code></td>
|
||
<td>市场数据采集</td>
|
||
<td>通过浏览器采集七麦/SensorTower 等页面数据</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>game-analyst decision-report</code></td>
|
||
<td>决策报告生成</td>
|
||
<td>基于多游戏数据生成面向管理层的推荐报告</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>game-analyst doctor</code></td>
|
||
<td>环境自检</td>
|
||
<td>首次安装或排查问题</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>game-analyst init</code></td>
|
||
<td>初始化新游戏配置</td>
|
||
<td>分析一款新游戏/网站前</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
|
||
<h3>5.6 多游戏对比</h3>
|
||
<p>当你已对多款游戏完成探索后,可以生成横向对比报告:</p>
|
||
<div class="flow-block"># 对比 3 款游戏的商业化和核心循环
|
||
game-analyst compare --games my_garden,merge_mansion,gardenscapes \
|
||
--dimensions monetization,core_loop,progression
|
||
|
||
# 只对比商业化维度
|
||
game-analyst compare --games my_garden,merge_mansion --dimensions monetization</div>
|
||
<p>输出为 HTML 格式对比报告,包含:各游戏按 module 对齐的规则矩阵、差异点标注("A 有但 B 无")、各维度优劣小结。可直接发送给同事在浏览器中查看。</p>
|
||
|
||
<h3>5.7 浏览器模式探索</h3>
|
||
<p>对网页游戏、竞品官网或市场数据页面进行探索分析:</p>
|
||
<div class="flow-block"># 探索 H5 网页游戏
|
||
game-analyst explore --game h5_game --driver browser --url "https://game.example.com"
|
||
|
||
# 采集市场数据页面
|
||
game-analyst market --game my_garden --url "https://www.qimai.cn/app/..." --headless</div>
|
||
<p>浏览器模式自动利用 DOM 结构精确识别可交互元素,覆盖率高于纯视觉检测。需安装可选依赖:<code>pip install game-analyst-agent[browser]</code></p>
|
||
|
||
<h3>5.8 活动追踪与时间线</h3>
|
||
<div class="flow-block"># 查看最近 7 天的变化记录
|
||
game-analyst timeline --game my_garden --last 7
|
||
|
||
# 输出为 HTML 格式
|
||
game-analyst timeline --game my_garden --last 30 --format html</div>
|
||
<p>需先对同一游戏进行过多次探索(不同日期),工具会自动对比各次结果,标注新增/消失的界面和规则。</p>
|
||
|
||
<h3>5.9 决策报告</h3>
|
||
<div class="flow-block"># 生成面向管理层的项目选型支撑报告
|
||
game-analyst decision-report \
|
||
--games my_garden,merge_mansion,gardenscapes \
|
||
--question "花园经营赛道哪款产品的商业化结构最适合小团队复制"</div>
|
||
<p>输出 HTML 格式决策报告:结论先行 + 对比矩阵 + 数据支撑 + 风险提示 + 建议。可直接用于项目评审会。</p>
|
||
</div>
|
||
|
||
<!-- SECTION 6 -->
|
||
<div class="section purple" id="s6">
|
||
<h2>六、输出产物说明</h2>
|
||
<p class="sec-intro">工具运行后产出哪些文件,各自的用途和阅读方式。</p>
|
||
|
||
<h3>6.1 目录结构</h3>
|
||
<div class="flow-block">game-analyst-agent/
|
||
├── games/
|
||
│ └── my_garden/
|
||
│ ├── game.yaml 游戏配置
|
||
│ ├── db/mechanics.db SQLite 数据库(规则、截图索引、运行记录)
|
||
│ ├── screenshots/explore/ 探索模式截图(按 pHash 命名)
|
||
│ └── logs/ 运行日志
|
||
├── reports/
|
||
│ └── my_garden/
|
||
│ ├── latest_progress.md 最新增量进度报告(每 30min 更新)
|
||
│ └── final_20260522.md 最终完整报告
|
||
└── .env API Key 配置(不分享)</div>
|
||
|
||
<h3>6.2 增量进度报告(每 30 分钟)</h3>
|
||
<p>自动生成于 <code>reports/{game}/latest_progress.md</code>,包含:</p>
|
||
<ul>
|
||
<li>已探索的唯一界面数量</li>
|
||
<li>本轮新发现的规则列表</li>
|
||
<li>按 module 分类的规则统计</li>
|
||
<li>新发现率(判断是否接近探索饱和)</li>
|
||
<li>累计 AI 调用次数和估算成本</li>
|
||
</ul>
|
||
|
||
<h3>6.3 最终报告(按系统分模块)</h3>
|
||
<p>探索结束后生成,结构示例:</p>
|
||
<div class="flow-block">## core_loop(核心循环)
|
||
- 主循环为:种植鲜花 → 收获 → 完成订单 → 获取金币/经验
|
||
- 鲜花种植需要种子 + 花盆,花盆数量限制同时种植上限
|
||
...
|
||
|
||
## resource(资源系统)
|
||
- 金币:完成订单获得,用于购买种子和扩展花盆
|
||
- 元宝:付费货币,用于加速和抽奖
|
||
...
|
||
|
||
## monetization(商业化)
|
||
- 主要付费点:加速道具、稀有种子抽奖、礼包直售
|
||
- 公会竞赛推动竞争消费
|
||
...</div>
|
||
|
||
<h3>6.4 数据库直查(高级用法)</h3>
|
||
<p>有 SQL 基础的用户可以直接查询数据库获取结构化数据:</p>
|
||
<div class="flow-block"># 查看各模块规则数量
|
||
sqlite3 games/my_garden/db/mechanics.db \
|
||
"SELECT module, COUNT(*) FROM rules GROUP BY module ORDER BY COUNT(*) DESC"
|
||
|
||
# 导出所有高置信度规则
|
||
sqlite3 games/my_garden/db/mechanics.db \
|
||
"SELECT module, rule_text FROM rules WHERE confidence >= 0.8 ORDER BY module"</div>
|
||
</div>
|
||
|
||
<!-- SECTION 7 -->
|
||
<div class="section" id="s7">
|
||
<h2>七、支持的模型与成本估算</h2>
|
||
<p class="sec-intro">工具的分析阶段支持多种视觉 AI 模型,可按需在成本和精度之间取舍。</p>
|
||
|
||
<h3>7.1 成本模型</h3>
|
||
<div class="callout callout-info">
|
||
<div class="callout-title">成本分离设计</div>
|
||
探索阶段完全在本地运行(OpenCV + 感知哈希),成本为零。只有分析阶段(AI 模型看图提取规则)产生费用。分析频率可配置:降低频率 = 降低成本。
|
||
</div>
|
||
|
||
<h3>7.2 24 小时运行成本估算</h3>
|
||
<div class="table-wrap">
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>模型</th>
|
||
<th>分析频率</th>
|
||
<th>24h 估算张数</th>
|
||
<th>24h 估算成本</th>
|
||
<th>精度评级</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><strong>通义千问-VL</strong></td>
|
||
<td>每 30min</td>
|
||
<td>~200 张</td>
|
||
<td>约 0.6 元</td>
|
||
<td><span class="status status-ok">够用</span></td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>字节豆包 Vision</strong></td>
|
||
<td>每 30min</td>
|
||
<td>~200 张</td>
|
||
<td>约 0.4 元</td>
|
||
<td><span class="status status-ok">够用</span></td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>智谱 GLM-4V</strong></td>
|
||
<td>每 30min</td>
|
||
<td>~200 张</td>
|
||
<td>约 1.0 元</td>
|
||
<td><span class="status status-ok">够用</span></td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>Claude Sonnet</strong></td>
|
||
<td>每 30min</td>
|
||
<td>~200 张</td>
|
||
<td>约 4.0 元</td>
|
||
<td><span class="status status-info">高精度</span></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="callout callout-ok">
|
||
<div class="callout-title">推荐策略</div>
|
||
日常深拆用通义千问(成本最低,精度满足规则提取)。需要精细分析商业化结构或复杂系统时,对特定截图切换 Claude 做二次分析。
|
||
</div>
|
||
</div>
|
||
|
||
<!-- SECTION 8 -->
|
||
<div class="section warn" id="s8">
|
||
<h2>八、迭代路线图</h2>
|
||
<p class="sec-intro">工具的版本演进历程,全部功能已交付。</p>
|
||
|
||
<div class="table-wrap">
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>版本</th>
|
||
<th>能力</th>
|
||
<th>业务价值</th>
|
||
<th>状态</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><strong>MVP</strong></td>
|
||
<td>自主探索 + 规则提取 + 增量报告</td>
|
||
<td>单游戏自动深拆</td>
|
||
<td><span class="status status-ok">已完成</span></td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>v1.1</strong></td>
|
||
<td>多游戏对比报告</td>
|
||
<td>横向对比 3-5 款参照游戏,支撑项目选型</td>
|
||
<td><span class="status status-ok">已完成</span></td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>v1.2</strong></td>
|
||
<td>数值事实提取</td>
|
||
<td>提取具体数值(定价/时间/消耗量),不止文字描述</td>
|
||
<td><span class="status status-ok">已完成</span></td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>v1.3</strong></td>
|
||
<td>定时重跑 + 活动追踪</td>
|
||
<td>跟踪竞品运营节奏:限时活动、礼包更替、版本更新</td>
|
||
<td><span class="status status-ok">已完成</span></td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>v1.4</strong></td>
|
||
<td>浏览器模式 + 市场数据采集</td>
|
||
<td>补充七麦/SensorTower 数据,形成完整视角</td>
|
||
<td><span class="status status-ok">已完成</span></td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>v1.5</strong></td>
|
||
<td>决策报告模板</td>
|
||
<td>自动生成面向管理层的对比+推荐格式报告</td>
|
||
<td><span class="status status-ok">已完成</span></td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>v1.6</strong></td>
|
||
<td>资源流转建模 + 探索策略优化</td>
|
||
<td>经济系统拓扑自动推断 + 界面覆盖率提升</td>
|
||
<td><span class="status status-ok">已完成</span></td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>v1.7</strong></td>
|
||
<td>探索智能增强(8 项)</td>
|
||
<td>模拟真实用户全部交互行为,消除覆盖盲区</td>
|
||
<td><span class="status status-ok">已完成</span></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
|
||
<h3>8.1 各版本核心交付</h3>
|
||
<div class="table-wrap">
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>版本</th>
|
||
<th>关键命令/能力</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><strong>MVP</strong></td>
|
||
<td><code>explore</code> + <code>report</code> + <code>doctor</code> + <code>init</code> — 单游戏自动深拆闭环</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>v1.1</strong></td>
|
||
<td><code>compare</code> — 跨游戏规则对齐 + 差异标注 + HTML 对比矩阵</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>v1.2</strong></td>
|
||
<td>facts 表 — 结构化数值事实提取(定价/时间/消耗量)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>v1.3</strong></td>
|
||
<td><code>timeline</code> — 定时重跑 + 活动上下线检测 + 变化时间线</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>v1.4</strong></td>
|
||
<td><code>market</code> + BrowserDriver — 浏览器模式探索 + 市场数据页采集</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>v1.5</strong></td>
|
||
<td><code>decision-report</code> — 多游戏综合分析 + 面向管理层的决策报告</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>v1.6</strong></td>
|
||
<td>resource_flows 表 + Tab 扫描 + 滚动探索 — 资源拓扑 + 覆盖率提升</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>v1.7</strong></td>
|
||
<td>长按 / 弹窗关闭 / 边缘抽屉 / 悬停 / 加载等待 / 暗色适配 / 自适应滚动 / Cookie 处理</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- SECTION 9 -->
|
||
<div class="section gray" id="s9">
|
||
<h2>九、常见问题</h2>
|
||
<p class="sec-intro">使用中可能遇到的问题和解决方式。</p>
|
||
|
||
<div class="callout callout-info">
|
||
<div class="callout-title">Q: ADB 连接失败怎么办?</div>
|
||
确认模拟器已启动且开启 ADB 调试。在终端运行 <code>adb connect 127.0.0.1:16384</code>,然后运行 <code>game-analyst doctor</code> 查看状态。MuMu 12 默认端口为 16384,如有多个模拟器实例端口会递增。
|
||
</div>
|
||
|
||
<div class="callout callout-warn">
|
||
<div class="callout-title">Q: 探索一直在同一个界面打转?</div>
|
||
v1.7 起工具会自动检测并关闭弹窗(签到、活动、Cookie 同意等)。若仍出现打转,可能是非标准弹窗。检查日志 <code>games/{game}/logs/</code> 中的回退记录,或手动关闭后探索会自动继续。
|
||
</div>
|
||
|
||
<div class="callout callout-info">
|
||
<div class="callout-title">Q: 分析结果中 "other" 分类太多怎么办?</div>
|
||
这通常意味着模型对该游戏界面的理解不够精确。可以尝试:1) 切换到更强的模型(如 Claude);2) 让工具运行更长时间积累更多界面,后续分析会利用上下文自动修正。
|
||
</div>
|
||
|
||
<div class="callout callout-info">
|
||
<div class="callout-title">Q: 如何同时分析多款游戏?</div>
|
||
开多个模拟器实例,每个实例打开不同游戏,分别启动:
|
||
</div>
|
||
<div class="flow-block">game-analyst explore --game game_a --device 127.0.0.1:16384
|
||
game-analyst explore --game game_b --device 127.0.0.1:16416 # 第二个实例端口</div>
|
||
|
||
<div class="callout callout-ok">
|
||
<div class="callout-title">Q: 如何把报告分享给不装工具的同事?</div>
|
||
使用 <code>game-analyst report --game my_garden --format html --standalone</code> 生成单文件 HTML,用浏览器直接打开,无需任何安装。可以通过飞书/微信直接发送文件。
|
||
</div>
|
||
|
||
<div class="callout callout-warn">
|
||
<div class="callout-title">Q: 运行中电脑休眠或网络断了怎么办?</div>
|
||
工具具备断线恢复机制:ADB 断连后会自动重试连接;API 调用失败会重试后跳过。已探索的数据不会丢失,重新启动后会从中断点继续。
|
||
</div>
|
||
</div>
|
||
|
||
<!-- SECTION 10 -->
|
||
<div class="section danger" id="s10">
|
||
<h2>十、适用场景与边界</h2>
|
||
<p class="sec-intro">工具擅长什么,不擅长什么,使用者需要明确的期望。</p>
|
||
|
||
<h3>10.1 适合的场景</h3>
|
||
<div class="grid-3">
|
||
<div class="card ok">
|
||
<div class="card-label">竞品机制拆解</div>
|
||
<div class="card-text">对目标竞品的系统规则、数值、资源结构、商业化节点进行系统性采集</div>
|
||
</div>
|
||
<div class="card ok">
|
||
<div class="card-label">项目选型调研</div>
|
||
<div class="card-text">横向对比多款同赛道产品,生成对比矩阵和决策报告</div>
|
||
</div>
|
||
<div class="card ok">
|
||
<div class="card-label">运营活动监控</div>
|
||
<div class="card-text">定期重跑检测竞品活动上下线、礼包更替、版本变化</div>
|
||
</div>
|
||
</div>
|
||
<div class="grid-3">
|
||
<div class="card ok">
|
||
<div class="card-label">市场数据采集</div>
|
||
<div class="card-text">浏览器模式采集七麦/SensorTower 等数据页面信息</div>
|
||
</div>
|
||
<div class="card ok">
|
||
<div class="card-label">H5/网页游戏分析</div>
|
||
<div class="card-text">对浏览器中运行的 H5 游戏或网页应用进行界面探索和结构分析</div>
|
||
</div>
|
||
<div class="card ok">
|
||
<div class="card-label">新手流程评估</div>
|
||
<div class="card-text">自动走完新手引导,记录每一步操作和界面变化</div>
|
||
</div>
|
||
</div>
|
||
|
||
<h3>10.2 不适合的场景</h3>
|
||
<div class="callout callout-danger">
|
||
<div class="callout-title">以下场景超出工具能力范围</div>
|
||
<ul>
|
||
<li><strong>深层付费体验</strong> — 工具不会付费,无法探索付费墙后的内容</li>
|
||
<li><strong>实时 PvP / 高操作玩法</strong> — 动作游戏/射击游戏的核心体验无法通过静态截图分析</li>
|
||
<li><strong>社交互动系统</strong> — 公会、好友、聊天等需要多账号交互的系统,单设备无法覆盖</li>
|
||
<li><strong>直接生成商业结论</strong> — 工具提取事实和规则,商业判断由分析师完成</li>
|
||
<li><strong>反作弊规避</strong> — 部分游戏可能检测模拟器环境,导致体验受限</li>
|
||
</ul>
|
||
</div>
|
||
|
||
<h3>10.3 使用建议</h3>
|
||
<div class="callout callout-warn">
|
||
<div class="callout-title">最佳实践</div>
|
||
<ul>
|
||
<li>先手动体验 15-30 分钟,了解游戏基本结构,再挂机让工具补充覆盖</li>
|
||
<li>工具产出的规则报告是<strong>初稿</strong>,需结合截图核实低置信度规则</li>
|
||
<li>对重点分析对象,建议跑 4-8 小时以获得足够覆盖率</li>
|
||
<li>多游戏对比时,各游戏的探索时长应尽量一致,保证数据可比性</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- FOOTER -->
|
||
<footer>
|
||
战略研究部 · 2026-05-22<br>
|
||
仅供内部使用 | INTERNAL ONLY
|
||
</footer>
|
||
|
||
</div>
|
||
</body>
|
||
</html>
|