揭秘mimic gen:一个AI提示词如何把原始HTTP流量变成优雅Python客户端

发布时间:2026/10/8 13:11:42
揭秘mimic gen:一个AI提示词如何把原始HTTP流量变成优雅Python客户端 揭秘mimic gen一个AI提示词如何把原始HTTP流量变成优雅Python客户端【免费下载链接】mimicIntercept any app, then call it from Python like a library项目地址: https://gitcode.com/gh_mirrors/mimic32/mimicmimic是一个让任意 App 都能被当作 Python 库调用的抓包工具它用 mitmproxy 拦截你手机 App 的真实流量再把这段原始 HTTP 请求交给 AI由mimic gen命令一行生成一个可直接import的客户端文件。这篇文章带你拆开mimic gen的内部一个精心设计的 AI 提示词prompt如何阅读真实流量把零散的接口变成带命名方法、带参数、还能自动串联多步调用的优雅 Python 客户端。mimic 三步流水线捕获 → 提取 → 生成mimic 的核心模型非常朴素官方 README 用一行图就讲清楚了capture traffic - extract auth - generate client (mitmproxy) (mimic.Session) (AI reads the captured endpoints)捕获流量mimic record启动 mitmproxyiPhone 按向导配置代理后正常刷 App所有请求都会落到 mitmweb 的 JSON API 里。提取认证App 的每个请求都携带同一组稳定的身份头Bearer token、设备 ID、Cookie。extract.py 从你最新的真实请求中把这些头挑出来之后重放的请求对服务器来说和真实客户端一模一样。生成客户端mimic gen host把捕获到的端点整理成一份摘要喂给 AI 生成客户端。这一步就是本文的主角。不想要代码生成的话也可以手写session.py 中的Session支持from_mitm、from_curl、from_har三种方式构建会话跳过 AI 直接用。mimic gen 命令做了什么在 cli.py 中gen子命令的流程是从 mitmweb或--har指定的 HAR 文件拉取该主机的全部流量调用 endpoints() 按(method, path)去重每个端点只保留最新一次捕获连同请求体、响应体一起打包成端点列表把主机名 端点列表拼成提示词通过claude或opencodeCLI 交给 AI把 AI 返回的源码顺便剥掉它偶尔包的 python 围栏见 codegen.py写入host前缀_client.py。响应体在进提示词前会先做两件贴心事mitm.pyJSON 自动 pretty-print让 AI 看到结构而不是噪音超长内容截断到 4000 字符避免把无关的大字段塞进上下文。mimic record # 启动代理打印 iPhone 配置步骤 mimic hosts # 列出捕获到的主机挑出 API 主机 mimic learn prod-api.example.com # 先看看 mimic 看到了哪些端点 mimic gen prod-api.example.com # 生成 example_client.pyWeb 端用户不用代理也行浏览器 DevTools 里Save all as HAR然后mimic gen api.example.com --har traffic.harHAR 的解析逻辑在 har.py。核心看点那个提示词的 7 条规则mimic gen的精华不在调用 AI 的代码而在 codegen.py 里写死的这段 PROMPT。它把什么样的输出才算好翻译成了 7 条硬规则#规则为什么重要1只输出一个 Python 文件不要散文和 markdown输出可直接落盘无需二次清洗2子类化mimic.App绝不硬编码 token/头认证由基类自动从 mitmweb 拉取并刷新3方法名按它做什么命名like、send_message而非原始路径这就是优雅二字的来源4发现端点间 ID/令牌依赖时串联调用如先取 viewToken 再消费移动端 API 普遍多步规则逼 AI 去读样例请求体找依赖5每次调用都变的值id、文本→ 方法参数对该用户恒定的值 → 默认值或实例状态参数化边界清晰调用时才需要传会变的东西6跳过纯埋点/分析/配置接口过滤噪音客户端保持精简7每个方法一行 docstring生成的代码可读、可维护规则 4 是最有含金量的一条它要求 AI仔细读样例请求体找出哪个字段的值来自另一个端点的返回值。这正是把机械的接口列表升级为懂业务流程的客户端的关键——比如有个接口要传playerId而playerId是登录接口的返回字段AI 就会把取 ID 的逻辑写进方法内部或缓存到实例上。端点列表则是用 build_digest() 渲染的每个端点一个块方法 路径 - 状态码、query、请求体、响应体。流量再多AI 看到的也是一份结构清晰的端点说明书。生成的客户端为什么能开箱即用生成的代码只是薄薄一层它继承 App实例化时自动调用Session.from_mitm(HOST)从 mitmweb 里捞出你的真实认证头。之后每个方法就是self.get(path)/self.post(path, jsonbody)返回解析好的 JSON。更妙的是容错request() 遇到 401 会自动重新从 mitmweb 拉取最新凭证并重试一次幂等请求POST 需显式refreshTrue——token 轮换不再需要手动处理。所以生成的客户端用起来就像 README 开头那样简单from example_client import Example acc Example() # 自动复用你捕获的会话 acc.get_recommendations() acc.like(subject_id, commenthi lol)生成的文件就是普通 Python可以随意编辑——AI 只是第一稿。不想等 AI先看提示词再决定mimic gen --prompt-only会打印完整提示词而不调用 AI方便你检查喂给模型的内容。也可以--generator opencode换生成器、--model换模型、-o指定输出路径cli.py。没有装任何 AI CLI 也不影响捕获流程装好后运行mimic doctor检查环境即可。边界哪些 App 抓不到证书固定cert pinning银行、Instagram 类 App 会拒绝 mitmproxy 证书代理看不到流量。这挡的是捕获不是重放unpin 提供基于 Frida 的绕过详见 docs/pinning.md。DPoP 令牌每个请求带私钥签名的新鲜证明捕获的请求无法重放目前没有干净解法详见 docs/dpop.md。经验法则mimic hosts里能看到 App 的 API 主机就说明这条路走得通。总结提示词是产品不是胶水mimic gen给人的启发在于AI 代码生成器的质量上限由提示词里的约束决定。mimic 没有教 AI写个客户端而是把不硬编码凭证、方法按意图命名、自动串联多步依赖、参数化易变值这些领域经验写成了规则清单再把干净的端点摘要喂进去。捕获负责真实提示词负责优雅二者结合才得到了那个一行import就能刷 App 的 Python 客户端。项目使用 MIT 许可LICENSE安装只需sh install.shinstall.sh。最后提醒一句官方伦理声明请只用于自己的账号和数据并遵守各 App 的服务条款。【免费下载链接】mimicIntercept any app, then call it from Python like a library项目地址: https://gitcode.com/gh_mirrors/mimic32/mimic创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询