# Chengdu Tour

> Hey there, Hi, I’m Melody. After years of studying and living across different countries, I understand the excitement – and the frustration – of exploring a foreign city. That’s exactly why I’m here to be your local friend in Chengdu.

## 先读

- [落地页 Markdown（/index.md）](https://www.eileenpeng.com/index.md): 这家店的已发布事实，和总落地页相同。包括展示名、简介、区域、经营地址、网站和标识。客服电话、客服说明、客服二维码、企业名称、统一社会信用代码、法人、注册地址和执照图只在商家已发布时出现，并带「商家自行填写，本系统未核验。」两组都没有时不写空段。这里没有规格 ID，不能靠它下单。
- [商品列表 Markdown（/products.md）](https://www.eileenpeng.com/products.md): 当前已上架商品的摘要，和 /products 相同。每行是名称、主币价格、有货或没货、商品 ID。没有店铺介绍，没有规格 ID。单件的公开字段、封面、整数分和规格 ID 在 /products/{id}.md。超过一页时正文给出下一页 cursor。
- [用户 Skill（/skill.md）](https://www.eileenpeng.com/skill.md): 用户 Agent 的调用说明，用于查找已上架商品。

## 页面

- [总落地页（/）](https://www.eileenpeng.com/): 给人看的同一份店和商品事实。Agent 读落地页 Markdown 即可，不要两份都读。店面激活后这页可能换成商家 HTML；落地页 Markdown 仍由服务端生成。
- [商品列表（/products）](https://www.eileenpeng.com/products): 给人看的商品列表。Agent 读商品列表 Markdown。单个商品页是 /products/{id}，Markdown 是 /products/{id}.md。下架、删除或没有可售规格的商品不在这里。

## 接口

- [店铺 JSON（/api/v1/store）](https://www.eileenpeng.com/api/v1/store): 已发布介绍的机器读取，不需要令牌。字段始终都在；没有的网站、标识、license、contact 是 null，不是省略。未发布时 404，不回显草稿。不要从 Markdown 猜测缺了哪一项。
- [商家 Skill（/merchant/skill.md）](https://www.eileenpeng.com/merchant/skill.md): 商家 Agent 的调用说明，不含这家店的资料或令牌。用它管理目录、目录字段、商品、规格、上下架，以及整店一份的介绍。介绍不是每本目录一份。客服和执照是推荐录入，不是上架条件；写入执照前必须先向用户读出四项并得到同意。不要用它给买家下单。
- [店面 Skill（/storefront/skill.md）](https://www.eileenpeng.com/storefront/skill.md): 只讲怎么改给人看的页面。商品、价格、店铺介绍仍走商家 Skill。查找已上架商品走用户 Skill。不能改 /llms.txt、三份 Skill、/api、授权页协议和支付结果判断。页面上的客服和执照必须用槽位，不能写死。
- [接口文档（/interfaces）](https://www.eileenpeng.com/interfaces): 给人看的已登记路径、字段、认证和权限。不是调用说明，也不能代替三份 Skill。不要从这里猜未登记的路径。
- [API（/api/v1）](https://www.eileenpeng.com/api/v1): HTTP API 根地址，不是文档。已登记路径见接口文档。具体怎么调用仍以三份 Skill 为准，不要猜。商品查询公开。改资料要设备码换来的令牌。本部署未开启买入。robots.txt 禁止 /api 只约束爬虫，不禁止已批准的 Agent。
