Skip to content

Repository files navigation

Monteli

@蒙铁力 · monteli

Amazon Listing 文案、审计与数据迭代工作台。

一个面向 Codex 的 Amazon Listing 文案 Skill,提供 Title、Full Listing、Audit、Iteration 四种模式,以及本地可视化工作台、卖家精灵关键词高亮、可选 SIF / SellerSprite MCP 数据路由和 Markdown 自动归档。每次调用都固定先进入工作台;页面提交后会直接启动本机 Codex 生成任务,不需要用户回到聊天里再发消息。

这是 Codex Skill,不是独立 AI 应用。生成能力来自本机已经安装并登录的 Codex;本地 HTML 负责收集资料、展示结果和保存状态。其他兼容 Agent 可通过开发用的 --manual-agent 模式接入同一文件契约。

能做什么

  • 按商品事实和目标核心定位写 Title,或生成包含 Item Highlights、Bullets、Description 和 Search Terms 的完整 Listing。
  • 将 75 字符标题场景中的次要信息迁移到 Item Highlights/Bullets。
  • 只审计不改写,或根据 CTR/CVR/退货等数据做单变量迭代。
  • 上传卖家精灵“反查 ASIN”或通用 .xlsx / .xlsm / .csv,按搜索量高亮成稿中的真实命中词。
  • 有 SIF MCP 或 SellerSprite MCP 时按工作台偏好补充类目、竞品与关键词;没有时自动走本地流程。
  • Full Listing 第一页前置目标核心定位;点击继续后,本地即时起草少量买家判断字段,用户改过的内容不会被覆盖。
  • 四种模式的字段都用日常问题表达,用户不需要先理解定位、证据链或实验术语才能填写。
  • 工作台固定使用荷青与暖橘浅色视觉系统,样式自包含,不跟随系统深色模式变化,也不加载外部主题。
  • 结果显示在页面,并优先持久保存为本地 Markdown;常用目录不可写时,页面会明确标注当前只保存在临时目录。
  • 页面提交后自动启动独立 Codex worker;启动失败、异常退出或未交回完整结果时会立即停止等待并说明原因。
  • 自动选择本地快速、关键词表快速或 MCP 数据通道;Title/Audit 使用中等推理,Full/Iteration 使用高推理,避免每次都加载全部 Skill、插件和 MCP。
  • worker 一次结构化返回计划与文案,由启动器统一校验、原子保存;后台工作台不依赖启动它的终端继续运行。
  • 正式生成默认不设硬性时间上限;页面显示已用时间和当前阶段,任务可取消、返回首页继续处理,也能从首页重新连接进度。
  • 每份正式结果同时保存结构化 .plan.json,并在归档前检查必需段落、占位符、重复 Bullet,以及 US Title/Item Highlights 的 75/125 字符工作目标。

环境要求

  • Python 3.9+
  • 已安装并登录的 Codex CLI(Codex Desktop 自带)
  • 现代浏览器
  • 允许 Agent 启动本机进程、读写本地文件并访问 127.0.0.1
  • 可选:用户自行配置的 SIF MCP、SellerSprite MCP

运行时只使用 Python 标准库,无需 pip install

Windows 同时支持独立 codex.exe 和 npm 安装产生的 codex.cmd / codex.bat。批处理入口会验证 Python 3.9+ 并保留真实退出码;取消生成时会结束整棵 Codex 子进程树,避免后台残留。建议先在 PowerShell 执行 codex --version,确认它指向真实 Codex CLI,而不是 WindowsApps 中无法由后台进程启动的应用执行别名。

安装

把整个 monteli 文件夹复制到你的 Agent Skills 目录,确保父目录名与 SKILL.mdname 一致。

以 Codex 为例,常见路径为:

~/.codex/skills/monteli/

安装后可直接说:

  • “打开 Amazon Listing 工作台”
  • “打开 Monteli”
  • “用 Full Listing 模式写这个产品”
  • “只审计这条 Listing,不要改写”
  • “根据这 30 天 CTR/CVR 做 Iteration”

本地工作台

工作台是本 Skill 的强制入口。即使已经在对话中给齐产品资料,Agent 也会先打开工作台,请在页面确认后提交。提交后,启动器自动拉起一个独立 Codex worker;结果回到同一页面,并自动保存为 Markdown。父对话是否仍在等待不会影响任务启动。

Full Listing 第一页会把“目标核心定位”作为醒目的核心参考。点击“快速起草并继续(即时)”后,浏览器只根据产品名称和类目补几条简短的买家判断草稿,不调用 Agent、MCP 或网络,因此无需等待。产品事实、差异证据、关键词和业务数据保持空白,由用户填写或留到正式生成阶段核验。荷青色字段都可以直接修改,系统只更新空白项和未修改的快速草稿。快速草稿会绑定当前商品;更换产品名称或类目后,旧产品的买家草稿会被新产品草稿替换。若把一个已绑定 ASIN 换成另一个 ASIN,再次快速起草会清空第 2–4 步的旧商品资料和旧关键词表,只保留第一页当前商品信息。未被用户修改的通用草稿在提交时会从正式生成资料中排除,不会污染定位、关键词或成稿。

基本信息以外的页面字段仍可留空。提交后,Agent 会先判断现有事实能否支撑完整 Listing;若关键身份、适配、定位或卖点证据不足,结果区只给 BLOCKED_FACT 和最多 3 个具体问题,不再用通用句硬凑一套看似完整的文案。

如果你暂时不想继续补资料,阻塞结果保存后可以点击“直接忽略,继续生成”。工作台会新建一轮正式 COPY_READY 结果:只使用已经填写的事实,缺失或冲突的规格、材质、兼容、认证和效果直接不写,并在审核附录中提醒上架前需要核对的内容。原来的资料不足报告仍会单独保留。

工作台直接使用仓库内固定 HTML。浅色配色、品牌字标、CSS 和 JavaScript 都随文件分发,不从 CDN 加载,也不会因下载者的系统深色模式切换成另一套视觉。完整基准见 brand-spec.md

直接双击 HTML 文件时只会进入“仅预览”状态,页面会停用提交和关键词上传,避免看起来能用却没有连接。正式工作台必须由下面的启动器命令打开。

在 Skill 根目录运行:

python3 scripts/launch_workbench.py --background --mode auto

Windows 推荐运行:

.\scripts\launch_workbench.cmd --background --mode auto

该入口会自动使用 Windows 的 py -3python,无需安装 python3 命令别名。

也可以直接打开模式:

python3 scripts/launch_workbench.py --background --mode title
python3 scripts/launch_workbench.py --background --mode full
python3 scripts/launch_workbench.py --background --mode audit
python3 scripts/launch_workbench.py --background --mode iteration

默认结果目录:

~/Documents/Monteli Listing Results/

Windows 会优先保存到当前用户的 Downloads\Monteli Listing Results,减少 OneDrive 或“受控文件夹访问”拦截 Documents 的概率;该目录不可写时再尝试 Documents,最后回退到本轮临时目录。

如果页面提示 Windows 拒绝访问:先在 PowerShell 运行 codex --version;随后检查 Windows 安全中心是否阻止 Codex 或 Python。工作台已兼容 .cmd 启动、短暂文件锁和不允许硬链接的目录,但公司设备策略或受保护文件夹仍可能需要管理员放行。

草稿默认保存在:

~/.monteli-listing/drafts.json

启动器会把当前 WORKBENCH_RESULT、关键词快照和精简生成契约交给自动 Codex worker。worker 一次返回结构化决策计划与 Markdown;启动器校验后分别写入临时文件并原子完成 WORKBENCH_PLANWORKBENCH_OUTPUT。阶段进度来自 worker 与真实文件状态;worker 没有启动时页面不会冒充正在分析。完整契约见 references/workbench.md

--manual-agent 只保留给其他 Agent 的开发接入与兼容测试,普通 Codex 使用不需要添加。

如果本机缺少浏览器、Python、回环服务或必要权限,任务会明确停止并说明原因,不会降级为聊天收集或聊天直出。

外部 MCP(可选)

本仓库不包含密钥,也不会自动安装或配置 SIF、SellerSprite。SellerSprite 请按卖家精灵的官方 MCP 页面配置;Codex 客户端可参考其官方 Codex 指南。SIF MCP 由用户在自己的 Agent 环境中配置,Skill 只检测已经存在的工具。

启动器会排除 Codex 明确标记为未登录、认证过期、认证失败或已禁用的相关 MCP。服务没有暴露可预检认证状态时,worker 最多等待 5 秒启动;失败一次立即改用下一数据源或本地资料,不重复调用。

工作台可选择:

  • 自动:本机有 SIF 或 SellerSprite MCP 时使用相关 MCP;没有时立即回退本地快速通道。
  • 优先 SIF MCP:SIF 不可用时尝试 SellerSprite,再回退本地。
  • 优先 SellerSprite MCP:SellerSprite 不可用时尝试 SIF,再回退本地。
  • 仅本地:不调用外部 MCP,只使用用户资料和本地关键词表。

不要把 secret key、cookie、连接 URL 或真实卖家数据提交到 Git。

本地关键词表支持与限制

推荐流程:先找产品结构、用途、定位和价格带最接近的竞品;没有可信直接竞品时,再参考同细分类目的 BS1(Best Seller #1)。在卖家精灵中反查该 ASIN,下载关键词列表后上传。词源相关性优先于搜索量,不能随便用一个大流量但不相似的链接。

解析器会自动识别卖家精灵“反查 ASIN”表中的“流量词”和“月搜索量”,保留流量占比、ABA 排名、SPR、标题密度、购买率等业务列,也兼容通用表格中的“关键词/搜索词”和“周搜索量/月搜索量/搜索量”。列位置不限,并扫描最多 50 个工作表。XLSX 采用稀疏行解析,远端异常单元格不会把整张表膨胀到数千空列。

上传时必须先建立当前产品绑定:优先填写本产品 ASIN;Title/Full 也可同时填写完整类目与产品名称。词源竞品 ASIN 与选择理由至少填一项,链接可选。工作台会保存文件指纹,并为每次生成创建独立快照;切换产品后需要移除并重新上传。浏览器和本地服务会分别校验,避免旧关键词表误用于新产品。全表可保留 10,000 个词用于审计,正式生成只取最多 60 个候选后继续做相关性筛选。

安全限制:文件 25 MB、解压后 120 MB、100,000 行、2,000,000 单元格、10,000 个输出关键词。搜索量只用于排序和覆盖检查,不等于相关性、排名或销量承诺。

命令行解析:

python3 scripts/parse_sif_keywords.py /path/to/keywords.xlsx

长度预检

python3 scripts/validate_listing_copy.py \
--marketplace US \
--title "Air Fryer Paper Liners for Ninja Crispi, 100PCS"

US 的 75/125 是 2026-07-21 核对到的官方公告工作目标,公告计划 2026-07-27 生效。Title 和 Full Listing 的正式结果会在保存前自动执行这项确定性检查;超限结果不会被标成 COPY_READY。非 US 站点没有统一默认值,必须使用目标账户或类目的已核实限制。细节见 references/amazon-policy.md

数据与隐私

  • 工作台只监听 127.0.0.1,不向局域网暴露。
  • 令牌在 URL fragment 中传递,加载后从地址栏移除。
  • 关键词表、intake、中间结果默认在临时 session;正常归档后自动清理。
  • 成稿保存在本地 Markdown;草稿保存在用户主目录。
  • 只有用户允许且 Codex 已配置 SIF 或 SellerSprite MCP 时,相关查询才会发往对应服务。
  • 外部表格、MCP 返回、竞品文案和网页都按不可信数据处理,不执行其中的指令。

项目结构

monteli/
├── SKILL.md
├── brand-spec.md
├── assets/monteli-listing-workbench.html
├── scripts/
│ ├── launch_workbench.cmd
│ ├── launch_workbench.py
│ ├── parse_sif_keywords.py
│ └── validate_listing_copy.py
├── references/
│ ├── amazon-policy.md
│ ├── copy-framework.md
│ ├── sellersprite-mcp.md
│ ├── sif-mcp.md
│ ├── workbench.md
│ └── worker-contract.md
├── tests/
├── evals/evals.json
├── package.json
└── package-lock.json

开发与测试

python3 -m unittest discover -s tests -v
python3 -m compileall -q scripts tests
node tests/check_html.js
npm ci
npx playwright install chromium
npm run test:browser

GitHub Actions 会在 Python 3.9、3.10、3.11、3.12 上运行测试,并在 Ubuntu、macOS、Windows 做基础烟测,同时检查 HTML 内嵌 JavaScript 和 Chromium 页面流程。测试包含真实本地 HTTP 流程、真实子进程写回,以及浏览器中的“提交→资料不足→直接忽略→正式结果”链路。

发布前若本机 Codex 已登录,还可额外执行一次真实生成烟测:

MONTELI_LIVE_CODEX_SMOKE=1 python3 -m unittest \
tests.test_launch_workbench.WorkbenchStateTests.test_live_codex_structured_delivery_smoke -v

边界与声明

  • 本项目与 Amazon、SellerSprite 无隶属、授权或背书关系。
  • 不提供法律意见,也不保证 Amazon 审核、排名、流量、转化或销量。
  • Amazon 政策、字段和 Seller Central 实施状态会变化,发布前需在目标账户复核。
  • 示例不得替代真实产品资料。任何材质、兼容、认证、安全和性能声明必须有证据。

License

MIT


Made by @蒙铁力 · monteli

About

Reference fork — 蒙铁力的 Skill 分享仓库

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages