[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80702":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":13,"contributorsCount":13,"subscribersCount":13,"size":13,"stars1d":15,"stars7d":16,"stars30d":16,"stars90d":13,"forks30d":13,"starsTrendScore":17,"compositeScore":18,"rankGlobal":10,"rankLanguage":10,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":37,"readmeContent":38,"aiSummary":39,"trendingCount":13,"starSnapshotCount":13,"syncStatus":15,"lastSyncTime":40,"discoverSource":41},80702,"Lobster-Research","hegeo\u002FLobster-Research","hegeo","AI-Powered Financial Research Report Generator  AI 驱动的金融研究报告生成助手","",null,"Python",49,0,45,2,4,6,46.4,"Other",false,"main",true,[24,25,26,27,28,29,30,31,32,33,34,35,36],"autoreportgen","autoresearch","clawdbot-skill","clawhub-skill","hermes-skill","market-analysis","metaclaw","openclaw","paper-generation","report-generator","research","stock-analysis","workflow","2026-06-12 04:01:29","\u003Cdiv align=\"center\">\n\n# 🦞 Lobster Research\n\n**简单易用，功能丰富的 AI 调研助手。**\u003Cbr>\n**Your AI research assistant.**\n\n[![Python](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPython-3.10%2B-blue)](https:\u002F\u002Fwww.python.org\u002F)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Commercial-yellow)](LICENSE)\n[![Platform](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPlatform-Windows%20%7C%20Linux%20%7C%20macOS-lightgrey)]()\n\n\u003C\u002Fdiv>\n\n---\n\n## 🌐 语言 \u002F Languages\n\n- [中文](#中文)\n- [English](#english)\n\n---\n\n\u003Ca id=\"中文\">\u003C\u002Fa>\n\n## 🇨🇳 中文\n\n### 什么是龙虾调研？\n\n龙虾调研（Lobster Research）是一款 **AI 驱动的智能调研助手**，专为投资者、分析师、研究人员以及任何需要结构化情报的人设计。它将**代码驱动的数据采集**与**AI 智能分析整合**相结合，输出三种格式的专业研究报告：\n\n| 格式     | 说明        | 输出         |\n|:------ |:--------- |:---------- |\n| **快讯** | 实时市场资讯速览  | 文字回复       |\n| **快报** | 简要市场风向速报  | PDF（3-5页）  |\n| **研报** | 深度行业\u002F企业研究 | PDF（8-15页） |\n\n**覆盖领域**：23 个领域，涵盖 A股\u002F港股\u002F美股、ETF、大宗商品、期货、跨资产，以及科技、游戏、军事、农业、生物医疗、文化艺术、政治、宇宙地理等 12 个非金融领域。\n\n### 适用场景\n\n- 📈 **股市投资者** — 定时监控大盘行情，快速获取持仓快照，或深度研究个股\n- 🔬 **科技关注者** — 追踪技术趋势、AI 突破、前沿研究方向\n- 📊 **行业分析师** — 定期收集整理行业动态、政策变化、竞争格局\n- 🎓 **学者与研究员** — 生成带引用、数据表格和专业排版的结构化研究报告\n- 🗞️ **资讯读者** — 获取市场异动、跨资产流向、地缘事件的简明资讯摘要\n\n无论您是什么背景，直接用自然语言说出需求，系统自动识别并路由。\n\n### 核心特性\n\n- 🎯 **智能 NLP 路由**：自然语言输入 → 双层关键词自动匹配领域和输出类型\n- 📊 **多源数据**：新浪财经、腾讯财经、AKShare、证券之星、Tavily\u002F百度\u002FBing\u002FSerpbase 搜索\n- 🔍 **精准搜索**：24 个领域专用搜索词模板（keywords\u002F），site:数据源限定 + 主引擎精确匹配\n- 📝 **29 套报告模板**：7 份快报 + 22 份研报，全部外置可配置，sections 预埋模板 JSON\n- 🤖 **人机协作**：代码负责确定性数据采集，AI 负责理解性分析整合\n- 🎨 **精美 PDF 输出**：样式系统 — 10 色调色板 + 3 种渲染类型（纯色\u002F渐变\u002F液态）+ 3 种布局风格（圆角\u002F方正\u002F极简）\n- ⚡ **快报加速**：`--type quick` 跳过耗时数据采集步骤，Agent 自行搜索补充\n- 🎮 **模拟持仓（Phase 4）**：持仓诊断\u002F个股分析后自动执行交易决策→记录→反思进化\n- 🔧 **热更新配置**：所有路由关键词和领域设置放在 `main.json` 中，无需改代码\n- 🧪 **完整测试套件**：`python -m test.runner` 覆盖 CLI\u002F数据采集\u002F样式\u002F报告生成\n\n### 推荐配置\n\n> 本仓库中的所有演示研报均基于以下配置输出，推荐使用以获得最佳效果。\n\n| 组件         | 推荐                                                                                           |\n|:---------- |:-------------------------------------------------------------------------------------------- |\n| **Agent**  | [WorkBuddy](https:\u002F\u002Fwww.workbuddy.ai) — 原生技能支持 + 文件交付                                        |\n| **AI 模型**  | [Mimo 2.5](https:\u002F\u002Fmimo.xiaomi.com\u002F) 或 [Kimi 2.5](https:\u002F\u002Fwww.kimi.com\u002F) — 中文金融推理能力强，速度与质量均衡 |\n| **搜索 API** | [Serpbase](https:\u002F\u002Fserpbase.dev) — 多引擎聚合，JSON 输出稳定可靠                                         |\n\n以上组合用于生成 `showcase\u002F` 中的所有演示报告。其他 Agent 与模型同样兼容，但输出质量可能有所差异。\n\n### 快速开始（Agent 模式）\n\n最简单的方式是直接把仓库链接发给 AI Agent，它会自动 clone 并安装技能。\n\n**WorkBuddy \u002F QClaw \u002F OpenClaw**\n\n把下面这句话直接发给你的 Agent：\n\n```\n请帮我安装 Lobster Research 技能：\nhttps:\u002F\u002Fgithub.com\u002Fhegeo\u002Flobster-research.git\n```\n\nAgent 会自动完成：\n\n1. `git clone` 仓库到技能目录\n2. `pip install -r requirements.txt` 安装所有依赖\n3. 加载 `SKILL.md` 作为操作手册，开始处理你的请求\n\n**手动安装（如需）**\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fhegeo\u002Flobster-research.git\ncd lobster-research\npip install -r requirements.txt\n\n# 可选：配置搜索引擎 API 密钥\ncp config\u002Fsettings.json.example config\u002Fsettings.json\n# 编辑 settings.json，填入 Tavily\u002FBing 等 API 密钥\n```\n\n### 使用方式\n\n**龙虾调研是一款 OpenClaw 兼容的技能。** 它在支持工具调用和文件系统访问的 AI Agent 平台中表现最佳：\n\n| 平台                   | 使用方式                                                                                 |\n|:-------------------- |:------------------------------------------------------------------------------------ |\n| **WorkBuddy**        | 作为技能安装。Agent 读取 `SKILL.md`，运行 `main.py smart`，填写 `5_agent_report_input.json`，交付 PDF。 |\n| **QClaw \u002F OpenClaw** | 部署技能文件夹。Agent 编排 Phase 1（数据采集）→ Phase 2（内容整合）→ Phase 3（PDF 生成）。                      |\n| **其他 Agent 框架**      | 任何能执行 Python 脚本、读写 JSON、调用 `deliver_attachments` 的框架均可兼容。                            |\n\n`SKILL.md` 文件是 **Agent 的操作手册** —— 它告诉 AI 每个阶段该做什么、遵守什么规则、如何交付结果。\n\n### 架构设计\n\n```\n┌─────────────┐     ┌─────────────────────────────────────────────────────┐\n│   用户      │────▶│  Phase 1: 代码驱动数据采集                           │\n│   输入      │     │  • 实时行情（新浪\u002F腾讯）                              │\n│             │     │  • K线 + 技术指标                                     │\n│             │     │  • 个股详细资料（仅 deep 模式）                       │\n│             │     │  • 大盘指数                                           │\n│             │     │  • 联网搜索（仅 deep 模式，quick 模式 Agent 自行搜）   │\n│             │     │  • --type quick 跳过耗时步骤，仅保留行情\u002FK线\u002F大盘\u002F新闻 │\n└─────────────┘     └────────────────────┬────────────────────────────────┘\n                                         │ JSON 文件写入 output\u002Ftasks\u002F\u003Cid>\u002F\n                                         ▼\n┌─────────────────────────────────────────────────────────────────────────┐\n│  Phase 2: AI 整合（Agent 填写 5_agent_report_input.json）                      │\n│  • 读取所有 JSON 数据文件                                                 │\n│  • 读取模板 JSON sections 结构直接展开                                    │\n│  • 联网搜索补充缺失信息（quick 模式此步更关键）                            │\n│  • 按 sections 结构填写报告内容                                            │\n└────────────────────┬────────────────────────────────────────────────────┘\n                     │ 5_agent_report_input.json\n                     ▼\n┌─────────────────────────────────────────────────────────────────────────┐\n│  Phase 3: 代码驱动报告生成（应用 style + color_type + layout 参数）                    │\n│  • HTML 渲染（纯 CSS：palettes.css + base.css，data-* 属性驱动）                  │\n│  • 3 种渲染类型：solid（纯色）\u002F gradient（渐变）\u002F liquid（液态+光晕+毛玻璃）          │\n│  • 3 种布局：rounded（圆角）\u002F square（方正）\u002F minimal（极简）                      │\n│  • PDF 转换                                                              │\n│  • 交付用户                                                               │\n└────────────────────┬────────────────────────────────────────────────────┘\n                     ▼\n┌─────────────────────────────────────────────────────────────────────────┐\n│  Phase 4: 模拟持仓周期（自动触发，需 emu.enabled=true）                    │\n│  • 读取持仓诊断\u002F个股\u002F企业报告中的建议                                     │\n│  • 生成交易决策（买入\u002F卖出\u002F止损）                                        │\n│  • 执行交易，更新模拟持仓（config\u002Femu_portfolio.json）                    │\n│  • 记录操作流水（config\u002Femu_operations.json）                             │\n│  • 反思复盘，进化策略参数（config\u002Femu_reflections.json）                  │\n│  • 进化参数影响下次决策激进程度（不写入报告）                              │\n└─────────────────────────────────────────────────────────────────────────┘\n```\n\n### 项目结构\n\n```\nlobster-research\u002F\n├── main.py              # 入口 + Smart NLP 路由\n├── main.json            # 路由配置（领域 + 输出类型）\n├── SKILL.md             # Agent 技能指令（AI Agent 的操作手册）\n├── modules\u002F             # 核心算法 & 工具\n│   ├── __init__.py      # 模块声明\n│   ├── core.py          # 信号灯体系、趋势判定、评分模型、选股框架\n│   ├── logger.py        # 龙虾日志系统（写 logs\u002F 目录）\n│   ├── mailer.py        # SMTP 邮件推送（SSL\u002FSTARTTLS）\n│   ├── review_analysis.py  # 回顾分析（历史推荐胜率\u002F盈利率）\n│   ├── scheduler.py     # 定时任务调度\n│   └── prompt_manager.py # 提示词模板管理 CLI\n├── scripts\u002F             # 数据采集 & 报告生成\n│   ├── task_runner.py   # Phase 1\u002F3 执行引擎\n│   ├── ticktime.py      # 实时行情（新浪\u002F腾讯）\n│   ├── stock_data_collector.py  # K线 + 技术指标\n│   ├── stock_master.py  # 个股详细资料\n│   ├── websearch_pro.py # 多引擎搜索（Tavily\u002F百度\u002FBing\u002FSerpbase）\n│   ├── generate_report.py       # HTML\u002FPDF 渲染器\n│   ├── generate_alonemode.py    # Alone 模式：自动调 LLM API\n│   ├── validate_quality.py      # 报告质量校验 + JSON 自动修复\n│   ├── compress_text.py         # 数据与上下文压缩\n│   ├── akshare_api_kit.py       # AKShare 结构化数据\n│   ├── baidu_dailynews.py       # 新闻头条\n│   ├── market_state.py  # 市场情绪（Playwright）\n│   ├── parse_image.py   # 持仓截图 OCR\n│   └── emu_manager.py           # 模拟持仓（Phase 4）交易决策+执行+反思进化\n├── config\u002F              # 配置\n│   ├── config.py        # 配置管理 + 持仓操作 + 模拟盘CLI\n│   ├── config.json      # 用户偏好 + 模拟盘配置\n│   ├── portfolio.json   # 真实持仓数据\n│   ├── emu_portfolio.json       # 模拟盘持仓（Phase 4）\n│   ├── emu_operations.json      # 模拟盘操作流水\n│   ├── emu_reflections.json     # 模拟盘反思进化日志\n│   └── settings.json    # API 密钥\n├── keywords\u002F            # 24 个领域搜索词模板（多维度 + 数据源 site: 限定）\n│   ├── stock.json       # 个股：5组搜索词\n│   ├── company.json     # 企业：5组搜索词\n│   ├── market.json      # 大盘：5组搜索词\n│   └── ...              # 其余 21 个领域\n├── prompts\u002Fjson\u002F        # 29 套报告提示词模板（7 快报 + 22 研报，全部含 sections 字段）\n├── styles\u002F              # 报告 CSS 主题（纯 CSS 文件）\n│   ├── palettes.css     # 10 色调色板（CSS 自定义属性，直接改颜色）\n│   ├── base.css         # 报告样式模板（var() + data-* 属性驱动）\n│   ├── style_manager.py # Python 加载器（读取 CSS 文件 + 生成 HTML 属性）\n│   └── __init__.py      # 模块声明\n├── logs\u002F                # 日志文件（lobster_YYYY-MM-DD.log，按天切割）\n├── test\u002F                # 测试工具\n│   ├── runner.py        # 完整测试套件：python -m test.runner\n│   └── test_compress_json.py  # JSON 压缩测试\n├── references\u002F          # 参考文档（指南、速查表）\n├── output\u002F\n│   ├── tasks\u002F           # 任务输出文件夹\n│   └── stock_data\u002F      # 本地缓存行情数据\n└── showcase\u002F            # 报告效果展示\n```\n\n### 技术栈\n\n| 层级     | 技术                                              |\n|:------ |:----------------------------------------------- |\n| 语言     | Python 3.10+                                    |\n| 数据源    | 新浪财经、腾讯财经、AKShare、证券之星                          |\n| 搜索     | Tavily API、百度搜索、Bing 搜索、Serpbase、ProSearch      |\n| 搜索模板   | `keywords\u002F` 24 领域 × 2-5 组多维搜索词，site:数据源限定       |\n| 网页抓取   | requests、Playwright                             |\n| OCR    | easyocr（持仓截图解析）                                 |\n| 报告渲染   | Jinja2 + 自定义 CSS                                |\n| CSS 引擎 | 纯 CSS（palettes.css + base.css + 3D data-* 属性驱动） |\n| PDF 生成 | Playwright \u002F pdfkit                             |\n| 日志     | LobsterLogger（modules\u002Flogger.py）                |\n| 测试     | test\u002Frunner.py（CLI + 样式 + 采集 + 报告）              |\n| 配置格式   | JSON                                            |\n\n### 独立客户端使用 + Alone 模式（内置）\n\n龙虾调研内置 **Alone 模式**，支持不依赖 AI Agent 平台独立运行：\n\n```\nskill 模式（默认）：\n  Phase 1（代码采集） → Phase 2（AI Agent 读 JSON + 写 5_agent_report_input.json） → Phase 3（代码生成）\n\nalone 模式：\n  Phase 1（代码采集） → Phase 2（自动调 LLM API → 写 5_agent_report_input.json） → Phase 3（代码生成）\n```\n\n在 `alone` 模式下，Phase 2 自动通过 `generate_alonemode.py` 调用 OpenAI 兼容接口：\n\n- 支持 Kimi \u002F Mimo \u002F DeepSeek 等 LLM（配置在 settings.json 的 apis 段）\n- 优先使用工具调用（function calling）写入 `5_agent_report_input.json`\n- 无工具调用能力时降级为纯 Markdown 输出\n- `cli` 模式 → stdout 纯文本；`report` 模式 → 生成 HTML + PDF\n\n```powershell\n# 启用 alone 模式\npython config\u002Fconfig.py set system.run_mode alone\npython config\u002Fconfig.py set alone.output_mode report   # 或 cli\npython config\u002Fconfig.py settings set apis.kimi_api_key sk-xxx\n\n# 使用（与 skill 模式相同）\npython main.py smart --input \"快速选股研报\"\n```\n\n### 模拟持仓（Phase 4）\n\n龙虾调研内置 **模拟持仓系统**，在持仓诊断\u002F个股\u002F企业报告生成后自动触发，模拟真实交易决策和效果。\n\n#### 核心机制\n\n```\n报告生成后自动触发 →\n  ① 读取诊断建议（买卖\u002F止损\u002F加仓）\n  ② 交易决策引擎 → 生成具体操作\n  ③ 执行交易 → 更新 emu_portfolio.json\n  ④ 记录操作 → emu_operations.json\n  ⑤ 反思复盘 → emu_reflections.json\n  ⑥ 进化参数调整（不写入报告）\n```\n\n#### 进化机制\n\n反思复盘记录交易结果，自动调整策略激进程度：\n\n| 表现       | 影响                            |\n| -------- | ----------------------------- |\n| 胜率 > 50% | 激进因子 ↑ (max 1.5x) → 止损宽松、仓位加大 |\n| 连续 2 轮亏损 | 激进因子 ↓ (min 0.6x) → 收缩防御      |\n| 首次运行     | 激进因子 = 1.0（中性）                |\n\n进化因子**仅在幕后影响下次决策**，不写入报告正文。\n\n#### 初始化规则\n\n| 条件      | 行为                        |\n| ------- | ------------------------- |\n| 用户有真实持仓 | 自动同步持仓 + 记录初始建仓操作 + 初始反思  |\n| 用户无真实持仓 | 按偏好配置建空白账户（独立资金\u002F频率\u002F风格\u002F风险） |\n| 已初始化过   | 不覆盖，保留现有状态                |\n\n#### 配置\n\n```powershell\n# 启用\npython config\u002Fconfig.py set emu.enabled true\n\n# 跟随用户偏好（使用用户画像的资金\u002F频率\u002F风格\u002F风险）\npython config\u002Fconfig.py set emu.follow_user_prefs true\n\n# 或使用独立配置\npython config\u002Fconfig.py set emu.follow_user_prefs false\npython config\u002Fconfig.py set emu.independent_capital 200000\npython config\u002Fconfig.py set emu.independent_freq medium\npython config\u002Fconfig.py set emu.independent_style growth\npython config\u002Fconfig.py set emu.independent_risk aggressive\n```\n\n#### CLI\n\n```bash\npython main.py emu show       # 查看模拟持仓\npython main.py emu ops        # 操作流水\npython main.py emu reflect    # 手动反思\npython main.py emu init       # 初始化\u002F重新同步\npython main.py emu reset      # 重置全部\n```\n\n### 命令参考（开发者）\n\n```bash\n# Smart 模式 — 自然语言自动路由\npython main.py smart --input \"大盘今日行情\"\npython main.py smart --input \"新能源汽车行业研报\"\npython main.py smart --input \"分析我的持仓\"\n\n# 直接命令（可指定风格）\npython main.py stock --code 000063 --name 中兴通讯 --style purple --color-type liquid --layout rounded\npython main.py company --code 000063 --name 中兴通讯 --style blue --color-type gradient\npython main.py market --style green --color-type liquid\n# 行业研报（使用 smart 自动匹配领域模板）\npython main.py smart --input \"AI芯片行业深度研报\"\npython main.py smart --input \"新能源汽车行业研报\" --style indigo --color-type gradient\npython main.py smart --input \"科技风向深度研报\"\npython main.py screener --topic 机器人 --style green --color-type solid\npython main.py portfolio --file portfolio.json\n\n# 快报加速（跳过耗时数据采集，Agent 自行搜索）\npython main.py stock --code 000063 --name 中兴通讯 --type quick --style purple --color-type liquid --layout minimal\n\n# 样式参数（3D 独立维度）\n# --style:      blue | purple | green | indigo | orange | pink | red | yellow | cyan | brown\n# --color-type: solid（纯色）| gradient（渐变）| liquid（液态+光晕+毛玻璃）\n# --layout:     rounded（圆角, 默认）| square（方正）| minimal（极简）\n\n# 生命周期\npython main.py generate --task-id 20260505_143022\npython main.py status --task-id 20260505_143022\npython main.py list\n\n# 模拟持仓 (Phase 4)\npython main.py emu show                  # 查看模拟持仓\npython main.py emu ops                   # 操作流水\npython main.py emu init                  # 初始化\npython main.py emu reset                 # 重置\npython config\u002Fconfig.py set emu.enabled true   # 启用自动模拟\n\n# 测试\npython -m test.runner                     # dry-run 模式\npython -m test.runner --category style     # 仅样式测试\npython -m test.runner --execute --report   # 实际执行 + 输出报告\n```\n\n### 工具 CLI\n\n龙虾研究附带多个专用工具 CLI，用于模板管理、回顾分析和定时调度：\n\n#### 📋 提示词模板管理器 — `prompt_manager`\n\n管理 29 个报告提示词 JSON 模板（列出、查看、创建、修改）。\n\n```bash\npython -m modules.prompt_manager list                          # 列出所有模板\npython -m modules.prompt_manager get 研报-大盘行情               # 查看模板详情\npython -m modules.prompt_manager cat 快报-持仓 promptBody       # 查看指定字段\npython -m modules.prompt_manager fields 研报-选股研究            # 列出可用字段\npython -m modules.prompt_manager update 快报-持仓 style purple  # 修改字段\npython -m modules.prompt_manager create 研报-新材料 研报         # 创建新模板\n```\n\n> 完整文档见 [`references\u002Fprompt_manager_usage.md`](references\u002Fprompt_manager_usage.md)\n\n#### 📊 回顾分析 — `review`\n\n基于历史操作记录分析推荐胜率、盈利率和亏损分布。\n\n```bash\npython main.py review --days 30                                   # 回顾过去30天\npython main.py review --days 90 --type stock                      # 仅个股分析回顾\npython main.py review --days 30 --output html                     # HTML 格式输出\npython main.py review --days 90 --type market --output json       # 大盘回顾 + JSON\n```\n\n| 参数 \u002F Option | 说明 \u002F Description | 默认值 \u002F Default |\n|--------------|-------------------|-----------------|\n| `--days` | 回顾天数 \u002F Days to review | 30 |\n| `--type` | 筛选类型（stock\u002Fmarket\u002Fportfolio） \u002F Report type filter | (全部) |\n| `--output` | 输出格式 json\u002Fhtml \u002F Output format | json |\n\n#### ⏰ 定时调度器 — `scheduler`\n\n按配置定时执行研报生成任务（支持邮件推送）。\n\n```bash\npython main.py scheduler start        # 启动定时调度器（Ctrl+C 停止）\npython main.py scheduler status       # 查看调度器状态与下次执行时间\npython main.py scheduler run-now      # 立即执行所有启用的任务\n```\n\n任务配置位于 `config\u002Fconfig.json` 的 `schedule` 段：\n\n```json\n\"schedule\": {\n    \"enabled\": true,\n    \"email_on_complete\": true,\n    \"tasks\": [\n        {\"name\": \"日报\", \"time\": \"08:30\", \"days\": [\"mon\",\"tue\",\"wed\",\"thu\",\"fri\"]}\n    ]\n}\n```\n\n### 案例展示\n\n> 更多实机运行截图和研报案例 PDF 文件在本仓库的 `showcase\u002F` 目录内。\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"showcase\u002FWorkBuddy_4gPcUw3g9u.png\" width=\"400\">\n  \u003Cimg src=\"showcase\u002FWorkBuddy_7sUvIRuHA1.png\" width=\"400\">\n\u003C\u002Fdiv>\n\n### 本地化\n\n想要将龙虾调研适配到您所在的本地市场？请参阅 **[LOCALIZATION.md](LOCALIZATION.md)** 获取分步指南。\n\n### 开源协议\n\n免费个人使用 · 商用需授权 — 详见 [LICENSE](LICENSE)。\n\n---\n\n\u003Cdiv align=\"center\">\n\n如果本项目对你有所帮助，请不要吝啬你的 ⭐ **Star** ～\u003Cbr>\n你的关注和支持是我们持续优化最大的动力！\n\n\u003C\u002Fdiv>\n\n---\n\n\u003Ca id=\"english\">\u003C\u002Fa>\n\n## 🇺🇸 English\n\n### What is Lobster Research?\n\nLobster Research is an **AI-powered financial research report generator** designed for investors, analysts, researchers, and anyone who needs structured intelligence. It combines **code-driven data collection** with **AI-powered content synthesis** to produce professional-grade research reports in three formats:\n\n| Format            | Description                        | Output           |\n|:----------------- |:---------------------------------- |:---------------- |\n| **News Flash**    | Real-time market news digest       | Text reply       |\n| **Quick Report**  | Brief market intelligence summary  | PDF (3-5 pages)  |\n| **Deep Research** | In-depth industry\u002Fcompany analysis | PDF (8-15 pages) |\n\n**Coverage**: 23 domains including A-shares, H-shares, US stocks, ETFs, commodities, futures, cross-assets, and 12 non-financial sectors (tech, gaming, military, agriculture, biotech, culture, politics, space, etc.)\n\n### Who is it for?\n\n- 📈 **Stock investors** — Schedule daily market monitoring, get quick portfolio snapshots, or request deep dives into individual stocks\n- 🔬 **Tech watchers** — Track technology trends, AI breakthroughs, and frontier research directions\n- 📊 **Industry analysts** — Collect and organize sector dynamics, policy changes, and competitive landscapes on a regular basis\n- 🎓 **Researchers & scholars** — Generate structured research reports with citations, data tables, and professional formatting\n- 🗞️ **News readers** — Get concise news briefs on market movements, cross-asset flows, or geopolitical events\n\nNo matter your background, just speak naturally. The system routes your request automatically.\n\n### Key Features\n\n- 🎯 **Smart NLP Routing**: Natural language input → automatic domain + output-type matching via dual-layer keyword system\n- 📊 **Multi-Source Data**: Sina Finance, Tencent Finance, AKShare, Securities Star, Tavily\u002FBaidu\u002FBing\u002FSerpbase search\n- 🔍 **Precise Search**: 24 domain-specific search templates (`keywords\u002F`), site: source pinning + primary engine\n- 📝 **29 Report Templates**: 7 Quick Reports + 22 Deep Research reports, all externally configurable with pre-built sections\n- 🤖 **Human-AI Collaboration**: Code handles deterministic data collection; AI handles analytical synthesis\n- 🎨 **Beautiful PDF Output**: 3D style system — 10 color palettes + 3 render types (solid\u002Fgradient\u002Fliquid) + 3 layout styles (rounded\u002Fsquare\u002Fminimal)\n- ⚡ **Quick Mode**: `--type quick` skips heavy data collection, Agent searches instead\n- 🎮 **Simulated Portfolio (Phase 4)**: Auto-execute trade decisions → log → reflect → evolve after portfolio\u002Fstock reports\n- 🔧 **Hot-Reload Config**: All routing keywords and domain settings live in `main.json` — no code changes needed\n- 🧪 **Complete Test Suite**: `python -m test.runner` covers CLI\u002Fdata collection\u002Fstyles\u002Freport generation\n\n### Recommended Setup\n\n> The showcase reports in this repository were generated using the following configuration. We recommend it for the best experience.\n\n| Component      | Recommendation                                                                                                                    |\n|:-------------- |:--------------------------------------------------------------------------------------------------------------------------------- |\n| **Agent**      | [WorkBuddy](https:\u002F\u002Fwww.workbuddy.ai) — native skill support + file delivery                                                      |\n| **AI Model**   | [Mimo 2.5](https:\u002F\u002Fmimo.xiaomi.com\u002F) or [Kimi 2.5](https:\u002F\u002Fwww.kimi.com\u002F) — best balance of Chinese financial reasoning and speed |\n| **Search API** | [Serpbase](https:\u002F\u002Fserpbase.dev) — reliable multi-engine search with JSON output                                                  |\n\nThese combinations were used to produce all demo reports in `showcase\u002F`. Other agents and models will also work, but output quality may vary.\n\n### Quick Start (Agent Mode)\n\nThe easiest way to get started is to hand the repository URL directly to your AI Agent — it will clone the repo and install the skill automatically.\n\n**WorkBuddy \u002F QClaw \u002F OpenClaw**\n\nJust paste this message to your Agent:\n\n```\nPlease install the Lobster Research skill from:\nhttps:\u002F\u002Fgithub.com\u002Fhegeo\u002Flobster-research.git\n```\n\nThe Agent will:\n\n1. `git clone` the repository into the skills directory\n2. `pip install -r requirements.txt` to install all dependencies\n3. Load `SKILL.md` as the operating manual and start handling your requests\n\n**Manual setup (if needed)**\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fhegeo\u002Flobster-research.git\ncd lobster-research\npip install -r requirements.txt\n\n# Optional: configure API keys for search engines\ncp config\u002Fsettings.json.example config\u002Fsettings.json\n# Edit settings.json with your Tavily\u002FBing API keys\n```\n\n### How to Use It\n\n**Lobster Research is designed as an OpenClaw-compatible skill.** It works best within AI Agent platforms that support tool calling and file system access:\n\n| Platform                   | How to Use                                                                                                                          |\n|:-------------------------- |:----------------------------------------------------------------------------------------------------------------------------------- |\n| **WorkBuddy**              | Install as a skill. The Agent reads `SKILL.md`, runs `main.py smart`, fills `5_agent_report_input.json`, and delivers the PDF.      |\n| **QClaw \u002F OpenClaw**       | Deploy the skill folder. The Agent orchestrates Phase 1 (data collection) → Phase 2 (content synthesis) → Phase 3 (PDF generation). |\n| **Other Agent frameworks** | Any framework that can execute Python scripts, read\u002Fwrite JSON, and call `deliver_attachments` is compatible.                       |\n\nThe `SKILL.md` file serves as the **Agent instruction manual** — it tells the AI exactly what to do at each phase, what rules to follow, and how to deliver results.\n\n### Architecture\n\n```\n┌─────────────┐     ┌─────────────────────────────────────────────────────┐\n│   User      │────▶│  Phase 1: Code-Driven Data Collection               │\n│   Input     │     │  • Real-time quotes (Sina\u002FTencent)                  │\n│             │     │  • K-line + technical indicators                    │\n│             │     │  • Individual stock profiles                          │\n│             │     │  • Market indices                                     │\n│             │     │  • Web search (multi-engine)                          │\n└─────────────┘     └────────────────────┬────────────────────────────────┘\n                                         │ JSON files in output\u002Ftasks\u002F\u003Cid>\u002F\n                                         ▼\n┌─────────────────────────────────────────────────────────────────────────┐\n│  Phase 2: AI Integration (Agent fills 5_agent_report_input.json)              │\n│  • Read all JSON data files                                             │\n│  • Supplement with additional web search                                │\n│  • Fill structured report content                                       │\n└────────────────────┬────────────────────────────────────────────────────┘\n                     │ 5_agent_report_input.json\n                     ▼\n┌─────────────────────────────────────────────────────────────────────────┐\n│  Phase 3: Code-Driven Report Generation (applies style + color_type     │\n│            + layout parameters)                                         │\n│  • HTML rendering (pure CSS: palettes.css + base.css, data-* driven)    │\n│  • 3 render types: solid (flat) \u002F gradient \u002F liquid (glow+glass)       │\n│  • 3 layout styles: rounded \u002F square \u002F minimal                         │\n│  • PDF conversion (OpenClaw browser.pdf())                              │\n│  • Deliver to user                                                      │\n└─────────────────────────────────────────────────────────────────────────┘\n```\n\n### Project Structure\n\n```\nlobster-research\u002F\n├── main.py              # Entry point + Smart NLP router\n├── main.json            # Routing config (domains + output types)\n├── SKILL.md             # Agent skill instructions (THE manual for AI Agents)\n├── modules\u002F             # Core algorithms & tools\n│   ├── __init__.py      # Module declaration\n│   ├── core.py          # Signal lights, trend judgment, scoring models\n│   ├── logger.py        # Lobster logger (logs\u002F directory)\n│   ├── mailer.py        # SMTP email push (SSL\u002FSTARTTLS)\n│   ├── review_analysis.py  # Review analysis (win rate \u002F profitability)\n│   ├── scheduler.py     # Scheduled task scheduler\n│   └── prompt_manager.py # Prompt template management CLI\n├── scripts\u002F             # Data collection & report generation\n│   ├── task_runner.py   # Phase 1\u002F3 execution engine\n│   ├── ticktime.py      # Real-time quotes (Sina\u002FTencent)\n│   ├── stock_data_collector.py  # K-line + technicals\n│   ├── stock_master.py  # Individual stock profiles\n│   ├── websearch_pro.py # Multi-engine search (Tavily\u002FBaidu\u002FBing\u002FSerpbase)\n│   ├── generate_report.py       # HTML\u002FPDF renderer\n│   ├── generate_alonemode.py    # Alone mode: auto LLM API call\n│   ├── validate_quality.py      # Quality check + JSON auto-fix\n│   ├── compress_text.py         # Data & context compression\n│   ├── akshare_api_kit.py       # AKShare structured data\n│   ├── baidu_dailynews.py       # News headlines\n│   ├── market_state.py  # Market sentiment (Playwright)\n│   ├── parse_image.py   # Portfolio screenshot OCR\n│   └── emu_manager.py           # Simulated portfolio (Phase 4)\n├── config\u002F              # Configuration\n│   ├── config.py        # Settings manager + portfolio operations\n│   ├── config.json      # User preferences + output style\n│   ├── portfolio.json   # Portfolio holdings\n│   ├── emu_portfolio.json       # Simulated portfolio\n│   ├── emu_operations.json      # Simulated operations\n│   ├── emu_reflections.json     # Simulated reflections\n│   └── settings.json    # API keys\n├── keywords\u002F            # 24 domain search templates\n├── prompts\u002Fjson\u002F        # 29 report prompt templates (7 quick + 22 deep)\n├── styles\u002F              # Report CSS themes (pure CSS files)\n│   ├── palettes.css     # 10 color palettes\n│   ├── base.css         # Report style template\n│   ├── style_manager.py # CSS loader\n│   └── __init__.py      # Module declaration\n├── logs\u002F                # Log files (lobster_YYYY-MM-DD.log)\n├── test\u002F                # Testing tools\n│   ├── runner.py        # Full test suite: python -m test.runner\n│   └── test_compress_json.py  # JSON compression test\n├── references\u002F          # Reference docs (guides, cheatsheets)\n├── output\u002F\n│   ├── tasks\u002F           # Task output folders\n│   └── stock_data\u002F      # Local stock data cache\n└── showcase\u002F            # Report demos\n```\n\n### Tech Stack\n\n| Layer            | Technology                                                       |\n|:---------------- |:---------------------------------------------------------------- |\n| Language         | Python 3.10+                                                     |\n| Data Sources     | Sina Finance, Tencent Finance, AKShare, Securities Star          |\n| Search           | Tavily API, Baidu Search, Bing Search, Serpbase, ProSearch       |\n| Search Templates | `keywords\u002F` 24 domains × 2-5 search groups, site: source pinning |\n| Web Scraping     | requests, Playwright                                             |\n| OCR              | easyocr (portfolio screenshot parsing)                           |\n| Report Rendering | Jinja2 + pure CSS                                                |\n| CSS Engine       | Pure CSS (palettes.css + base.css + 3D data-* attribute driven)  |\n| PDF Generation   | Playwright \u002F Chrome headless                                     |\n| Logging          | LobsterLogger (modules\u002Flogger.py)                                |\n| Testing          | test\u002Frunner.py (CLI + style + collection + generation)           |\n| Config Format    | JSON                                                             |\n\n### Standalone Mode \u002F Alone Mode (Built-in)\n\nLobster Research has a built-in **Alone Mode** that works without an AI Agent platform:\n\n```\nskill mode (default):\n  Phase 1 (data collection) → Phase 2 (AI Agent reads JSON + writes 5_agent_report_input.json) → Phase 3 (report generation)\n\nalone mode:\n  Phase 1 (data collection) → Phase 2 (auto LLM API → writes 5_agent_report_input.json) → Phase 3 (report generation)\n```\n\nIn `alone` mode, Phase 2 calls OpenAI-compatible LLM APIs through `generate_alonemode.py`:\n\n- Supports Kimi \u002F Mimo \u002F DeepSeek (configured in settings.json apis section)\n- Prioritizes function calling to write `5_agent_report_input.json`\n- Falls back to pure Markdown output if tool calling is not available\n- `cli` output → stdout text; `report` output → HTML + PDF files\n\n### CLI Commands (for developers)\n\n```bash\n# Smart mode — natural language routing\npython main.py smart --input \"大盘今日行情\"\npython main.py smart --input \"新能源汽车行业研报\"\npython main.py smart --input \"分析我的持仓\"\n\n# Direct commands (with style parameters)\npython main.py stock --code 000063 --name 中兴通讯 --style purple --color-type liquid --layout rounded\npython main.py company --code 000063 --name 中兴通讯 --style blue --color-type gradient\npython main.py market --style green --color-type liquid\n# 行业研报（使用 smart 自动匹配领域模板）\npython main.py smart --input \"AI芯片行业深度研报\"\npython main.py smart --input \"新能源汽车行业研报\" --style indigo --color-type gradient\npython main.py smart --input \"科技风向深度研报\"\npython main.py screener --topic 机器人 --style green --color-type solid\npython main.py portfolio --file portfolio.json\n\n# Quick mode (skip heavy data collection, Agent searches instead)\npython main.py stock --code 000063 --name 中兴通讯 --type quick --style purple --color-type liquid --layout minimal\n\n# Style parameters (3 independent dimensions)\n# --style:      blue | purple | green | indigo | orange | pink | red | yellow | cyan | brown\n# --color-type: solid | gradient | liquid\n# --layout:     rounded | square | minimal\n\n# Lifecycle\npython main.py generate --task-id 20260505_143022\npython main.py status --task-id 20260505_143022\npython main.py list\n```\n\n### Tools CLI\n\nLobster Research comes with several dedicated CLI tools for template management, review analysis, and scheduled execution:\n\n#### 📋 Prompt Template Manager — `prompt_manager`\n\nManage all 29 report prompt JSON templates (list, view, create, modify).\n\n```bash\npython -m modules.prompt_manager list                           # List all templates\npython -m modules.prompt_manager get 研报-大盘行情                # View template details\npython -m modules.prompt_manager cat 快报-持仓 promptBody        # View a specific field\npython -m modules.prompt_manager fields 研报-选股研究             # List available fields\npython -m modules.prompt_manager update 快报-持仓 style purple   # Update a field\npython -m modules.prompt_manager create 研报-新材料 研报          # Create a new template\n```\n\n> Full documentation at [`references\u002Fprompt_manager_usage.md`](references\u002Fprompt_manager_usage.md)\n\n#### 📊 Review Analysis — `review`\n\nAnalyze historical win rate, profitability, and loss distribution from past reports.\n\n```bash\npython main.py review --days 30                                   # Review last 30 days\npython main.py review --days 90 --type stock                      # Review stock reports only\npython main.py review --days 30 --output html                     # Output as HTML\npython main.py review --days 90 --type market --output json       # Market review + JSON\n```\n\n| Option | Description | Default |\n|--------|-------------|---------|\n| `--days` | Days to review | 30 |\n| `--type` | Filter by type (stock\u002Fmarket\u002Fportfolio) | (all) |\n| `--output` | Output format json\u002Fhtml | json |\n\n#### ⏰ Scheduler — `scheduler`\n\nRun report generation tasks on a scheduled basis with optional email delivery.\n\n```bash\npython main.py scheduler start        # Start scheduler (Ctrl+C to stop)\npython main.py scheduler status       # View scheduler status & next run time\npython main.py scheduler run-now      # Execute all enabled tasks immediately\n```\n\nTasks are configured in `config\u002Fconfig.json` under the `schedule` section:\n\n```json\n\"schedule\": {\n    \"enabled\": true,\n    \"email_on_complete\": true,\n    \"tasks\": [\n        {\"name\": \"Daily Report\", \"time\": \"08:30\", \"days\": [\"mon\",\"tue\",\"wed\",\"thu\",\"fri\"]}\n    ]\n}\n```\n\n### Showcase\n\n> More screenshots and sample report PDFs are available in the `showcase\u002F` directory.\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"showcase\u002FWorkBuddy_4gPcUw3g9u.png\" width=\"400\">\n  \u003Cimg src=\"showcase\u002FWorkBuddy_7sUvIRuHA1.png\" width=\"400\">\n\u003C\u002Fdiv>\n\n### Localization\n\nWant to adapt Lobster Research for your local market? See **[LOCALIZATION.md](LOCALIZATION.md)** for a step-by-step guide.\n\n### License\n\nFree for personal use · Commercial use requires license — see [LICENSE](LICENSE) for details.\n\n---\n\n\u003Cdiv align=\"center\">\n\nIf you find this project helpful, please give it a ⭐ **Star**!\u003Cbr>\nYour support is what keeps us improving.\n\n\u003C\u002Fdiv>\n\n---\n\n\u003Cdiv align=\"center\">\n\n_架构理念：代码处理确定性任务，Agent 处理理解性任务_\u003Cbr>\n_Architecture philosophy: Code handles deterministic tasks; Agent handles understanding tasks_\n\n\u003C\u002Fdiv>\n","Lobster Research 是一款AI驱动的金融研究报告生成助手，专为投资者、分析师及研究人员设计。其核心功能包括代码驱动的数据采集与AI智能分析整合，能够输出快讯、快报和深度研报三种格式的专业报告。该项目支持23个领域，覆盖了从金融到科技等多个行业。它适用于股市监控、技术趋势追踪、行业分析以及学术研究等场景。用户通过自然语言提出需求，系统自动识别并生成相应的报告。项目采用Python编写，具备智能NLP路由、多源数据获取、精准搜索、多样化报告模板等功能，并能生成精美的PDF文档。","2026-06-11 04:01:41","CREATED_QUERY"]