Skip to content

Repository files navigation

产品分析自动化工具

一个用于自动分析产品数据并生成Markdown格式分析报告的工具,特别适合与Obsidian知识库集成。

功能特点

  • 数据解析:从TSV文件中解析产品数据,支持清洗和预处理
  • AI分析:使用DeepSeek API对产品进行深入分析
  • Markdown生成:将分析结果转换为美观的Markdown文件,包含YAML前置元数据
  • 批处理:支持批量处理产品数据,可断点续传
  • 灵活配置:丰富的命令行参数,支持多种运行模式
  • 错误处理:完善的错误处理和日志记录

安装

环境要求

  • Python 3.8+
  • 网络连接(用于调用DeepSeek API)

步骤

  1. 克隆仓库:
git clone https://github.com/AppleCook/Product-Analyzer.git
cd product-analysis-tool
  1. 创建并激活虚拟环境:
python -m venv venv
source venv/bin/activate  # Linux/Mac
venv\Scripts\activate     # Windows
  1. 安装依赖:
pip install -r requirements.txt
  1. 配置API密钥:

创建.env文件,并添加以下内容:

cp .env.example .env
DEEPSEEK_API_KEY=你的密钥

使用方法

主要模块

  • parse_tsv.py:TSV文件解析模块
  • analyze.py:产品分析模块
  • markdown_generator.py:Markdown生成模块
  • main.py:主程序,整合所有功能

基本使用

完整流程(解析、分析、生成Markdown):

python main.py -i 输入文件.tsv -f 分析框架.md -o 输出目录

命令行参数

主要参数说明:

  • -i, --input:输入TSV文件路径(必需)
  • -f, --framework:分析框架文件路径(必需)
  • -o, --output-dir:输出目录路径
  • -b, --batch-size:批处理大小(默认:5)
  • -l, --limit:最大处理数量
  • -s, --start:起始索引(默认:0)
  • -t, --timeout:API调用超时时间(默认:120秒)
  • -d, --delay:API调用间延迟(默认:2秒)

特殊模式:

  • -ao, --analysis-only:仅执行分析,不生成Markdown
  • -mo, --markdown-only:仅根据已有分析结果生成Markdown
  • -j, --input-json:已分析的JSON文件路径(配合 -mo 使用)

使用示例

  1. 完整流程处理10个产品:
python main.py -i toolify_revenue.tsv -f product.md -b 5 -l 10 -o "/path/to/obsidian/products"
  1. 仅分析不生成Markdown:
python main.py -i toolify_revenue.tsv -f product.md -l 10 -ao
  1. 根据已有分析结果生成Markdown:
python main.py -i toolify_revenue.tsv -f product.md -mo -j output/analysis_results_20250411_141200.json -o "/path/to/obsidian/products"
  1. 执行批量处理(直接使用这个即可):
python main.py -i toolify_revenue.tsv -f product.md -o "你本地的地址"
  1. 自定义输入文件:
# 使用自定义TSV文件
python main.py -i 你的数据文件.tsv -f product.md -o "你本地的地址"

输入文件格式

默认使用toolify_revenue.tsv作为输入文件,你可以准备自己的TSV文件,但需要包含以下字段:

  • text-base:产品名称
  • text-sm:产品描述
  • text-base href:产品链接
  • text-base (3):产品收入
  • text-center:产品排名
  • el-image__inner src:产品图片URL

模型配置

程序默认使用DeepSeek的deepseek-chat模型进行产品分析。如需修改模型,需要编辑analyze.py文件中的相关代码,将模型名称修改为DeepSeek支持的其他模型:

# 在analyze.py文件中,大约第87行
response = client.chat.completions.create(
    model="deepseek-chat",  # 修改为其他DeepSeek支持的模型
    messages=[
        {"role": "system", "content": "你是一位资深产品专家,擅长分析产品的商业模式、用户需求和市场策略"},
        {"role": "user", "content": prompt}
    ],
    stream=False
)

目前系统配置为使用DeepSeek API,如需使用其他API服务,则需修改analyze.pyapi_config.py中的相关代码。

分析框架

分析框架是一个Markdown文件,包含用于分析产品的问题列表。示例:

## 产品分析框架

💡 这个产品解决的是什么问题?

👤 用户是谁?

🤔 用户为什么需要它?

🗣️ 用户是如何评价它的?

🔍 它是如何找到用户的?

💰 它赚钱吗?多少?

🧠 我从这个产品身上学到了什么?

🤔 它的什么做法不容易?

🤗 一句话推销:

💡 不同的方法:

🎉 我能做出来吗?

🧭 如何找到用户?

🤔 为什么是我?

❤️ 我能坚持吗?

输出格式

生成的Markdown文件包含以下内容:

  • YAML前置元数据(product_id、name、revenue、rank、date、tags)
  • 产品基本信息
  • 产品描述
  • 产品分析结果
  • 元数据(来源、分析工具、分析时间)

故障排除

常见问题:

  1. API调用超时

    • 增加超时时间:-t 180
    • 增加API调用间隔:-d 5
  2. 分析结果不完整

    • 确保分析框架合理
    • 检查产品数据是否完整
  3. Markdown文件未生成

    • 检查输出目录权限
    • 确保分析阶段成功完成

开发与扩展

添加新的分析维度

编辑product.md文件,添加新的分析问题。

自定义Markdown模板

修改markdown_generator.py中的MARKDOWN_TEMPLATE变量。

许可

MIT License

联系方式

如有问题或建议,请联系:yingchao.me@gmail.com

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Security policy

Stars

54 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages