xinyi-drink
Use when users ask to 领取Skill用户大礼包, 查询及分析个人历史订单, 查询菜单及饮品热量, or 查询门店及等候时长 for 新一好喝/新一咖啡.
Rank
62
Safety
84
Downloads
1.3k
Updated
Oct 10, 2026
Version
1.2.5
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 1.3K downloads reported by the source. Last updated 10/10/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 10, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 10, 2026
- Adoption signal
- 1.3K downloadsadoption · observed Oct 10, 2026
- Latest release
- 1.2.5release · observed May 7, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s174j1rz3a9ggfhwgncj7gsta983k3fe:xinyi-drink- Install using `clawhub skill install s174j1rz3a9ggfhwgncj7gsta983k3fe:xinyi-drink` in an isolated environment before connecting it to live workloads.
- No published capability contract is available yet, so validate auth and request/response behavior manually.
- Review the upstream CLAWHUB listing at https://clawhub.ai/domilin/xinyi-drink before using production credentials.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-domilin-xinyi-drink/snapshot"
Documentation
CLAWHUB
160,000 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
---
name: xinyi-drink
description: >-
Use when users ask to 领取Skill用户大礼包, 查询及分析个人历史订单,
查询菜单及饮品热量, or 查询门店及等候时长 for 新一好喝/新一咖啡.
keywords:
- 新一好喝
- 新一咖啡
- Skill用户大礼包
- 今天喝什么
- 下午茶
- 困了
- 上班犯困
- 提神
- 门店
- 菜单
- 订单
- 历史订单
- 购买记录
packageType: executable-skill
instructionOnly: false
sourceDirectory: skill
installSpec:
packageType: executable-skill
instructionOnly: false
sourceDirectory: skill
type: local-script
script: install.sh
dryRun: install.sh --dry-run
checkInstalled: install.sh --check-installed
metadata:
openclaw:
packageType: executable-skill
instructionOnly: false
dataClassification: optional-phone-number
privacyReviewed: "2026-04-28"
homepage: https://github.com/xinyi-drink/xinyi-drink
repository: https://github.com/xinyi-drink/xinyi-drink
source:
type: git
url: https://github.com/xinyi-drink/xinyi-drink
directory: skill
install:
type: local-script
script: install.sh
dryRun: install.sh --dry-run
checkInstalled: install.sh --check-installed
writesTo:
- ~/.openclaw/skills/xinyi-drink
postInstallPrompts:
- 领取Skill用户大礼包
- 查询及分析个人历史订单
- 查询菜单及饮品热量
- 查询门店及等候时长
installSpec:
packageType: executable-skill
instructionOnly: false
sourceDirectory: skill
type: local-script
script: install.sh
dryRun: install.sh --dry-run
checkInstalled: install.sh --check-installed
runtime:
type: python-scripts
requiresNetwork: true
entrypoints:
- scripts/claim_reward.py
- scripts/fetch_stores.py
- scripts/query_orders.py
- scripts/recommend_drink.py
requiredEnv: []
optionalEnv:
- XINYI_API_BASE_URL
- XINYI_TIMEOUT_SECONDS
- XINYI_DRINK_STATE_FILE
network:
defaultApiBaseUrl: https://ai.xinyicoffee.com/api
endpoints:
- method: POST
path: /skill/xinyi/claim
sends: [mobile]
- method: GET
path: /skill/xinyi/context
sends: [optional mobile query]
- method: GET
path: /skill/xinyi/orders
sends: [mobile query, optional status query]
- method: GET
path: /skill/xinyi/stores
sends: []
localStorage:
defaultPath: ~/.xinyi-drink/state.json
contents: [mobile, activityJoined, updatedAt]
permissions: "0600 when supported"
autoReadPolicy: "claim_reward 仅活动状态查询场景读取;recommend_drink 默认不读取缓存手机号;query_orders 仅订单/偏好分析场景读取;内部 --use-saved-mobile 才读取"
clearCommand: python3 scripts/recommend_drink.py --clear-mobile
sharedMachineWarning: true
privacy:
dataSubject: user-provided-or-saved-mobile-owner
userGuidance:
- only-use-your-own-phone-number
- clear-cache-on-shared-machines
- server-side-account-ownership-check-required
backendTrustRequired: true
thirdPartyPhonePolicy: reject-claim-and-order_meta.json
{
"ownerId": "kn76xp3y035svx5m91f65h92z18286qe",
"slug": "xinyi-drink",
"version": "1.2.5",
"publishedAt": 1778136728522
}references/activity-flow.md
# 活动流程
本文件描述活动领取、手机号缓存和留资提示规则。
## 手机号缓存
- 用户输入手机号后,先调用 `/skill/xinyi/claim` 确认活动状态;接口成功返回可判定结果后,再写入 `{mobile, activityJoined, updatedAt}`。
- 状态缺失或 `activityJoined=null` 表示当前没有可复用的确认状态;生产领取路径只在接口成功返回可判定结果后写入 `true/false`。
- `/skill/xinyi/claim` 返回 `granted` 或 `already_claimed` 时,缓存更新为 `activityJoined=true`。
- 接口确认未参加、未注册或未找到用户时,缓存更新为 `activityJoined=false`。
- 如果同一手机号本地之前是 `activityJoined=false`,用户随后完成小程序登录/绑定后再次领取,即使服务返回 `already_claimed`,也要走“身份验证成功,Skill用户大礼包已发放到账”分支,不要说成用户原本就已经领过。
- 如果活动查询失败,领取流程返回可读失败提示且不覆盖已有缓存;推荐流程不要中断,继续使用 `/skill/xinyi/context` 和当前缓存状态。
## 更换手机号
任何手机号变更、换号、改号、重新绑定或重新输入手机号,都先走 `recommend_drink.py --show-mobile-status --candidate-mobile <手机号>` 本地只读预检。Agent 不要自行判断能不能换号,不要直接改写本地缓存,也不要直接请求 `/skill/xinyi/claim`。
允许更换手机号的情况:
- 用户明确说“换手机号”“重新输入手机号”
- 用户提示当前手机号不是自己的
- 用户提供了和当前缓存不同的新手机号并明确要重新领取或查询
如果本机缓存手机号已经确认 `activityJoined=true`,用户再换成不同手机号领取礼包时,本地只读预检直接提示不能更换手机号重复领取;不要调用 `/skill/xinyi/claim`。
如果当前缓存手机号未确认领取成功,必须先让用户明确确认继续领取或同步,再调用 `/skill/xinyi/claim` 确认状态;本地缓存已确认同一手机号领取成功时,本地已领取状态优先,直接提示该手机号已经领取过并说明已领取内容,不依赖本次后端结果;最终回答不要解释内部领取规则。
## 活动权益
三重福利必须按状态表达:
- 主动引导留资:`请把您微信小程序【新一咖啡】绑定的手机号发过来,我帮您领取Skill用户大礼包。`
- 老用户或登录成功:身份验证成功。Skill用户大礼包已发放到账:小龙虾贴纸、Skill用户身份标识、Skill用户专享赠饮券。
- 新用户或未注册:不能回答“目前没有其他活动”,也不要转成普通商品推荐;要提醒当前手机号还没查到【新一咖啡】小程序登录/绑定记录,再给出两步领取步骤:第一步打开微信搜索【新一咖啡】小程序,登录/注册并绑定手机号;第二步把绑定手机号发来继续领取。
活动规则文案以 `scripts/build_response.py` 的 `ACTIVITY_RULE_LINES` 为输出真源;文档调整时必须同步该常量。活动规则必须同时说明:
- 小龙虾贴纸:到任意门店对暗号【小龙虾】领取,先到先得。
- Skill用户专享赠饮券:(前100名)爆款苦尽甘来拿铁免费兑换券 / (101-500名)5折饮品券 / (501-以后)8折饮品券。
- Skill用户身份标识:参与即可添加SKILL 标签、龙虾头像。
Skill用户专享赠饮券名称必须优先使用本次结果里的 `coupon.name`;本次结果里没有券名时,不编造前100名/5折/8折档位,只提示具体饮品以小程序卡券为准。
## 回答规则
- 用户问“大礼包怎么领取”“怎么参与活动”“怎么领福利”且没有手机号时,先假设用户已经登录/绑定,直接请用户发送微信小程序【新一咖啡】绑定手机号;不要先要求用户去登录/注册。只有查询后确认未绑定时,才展示完整两步领取步骤。
- 领取成功后,优先提示身份验证成功和Skill用户大礼包已发放到账。
- 活动参与成功、用户查询已参与或领取成功时,用普通陈述说明礼包已到账和实际券名;已领取过时,直接说明“该手机号已经领取过 Skill用户大礼包”并列出已领取内容;不要写发放统计明细等技术化表述。
- 登录成功后只提示用户已经领取礼包,现在可以查看过去的订单信息;不要主动展开订单数量、完成单数或购买明细。
- 用户追问订单信息时,再按接口订单数据返回已完成 xx 单、近期购买商品、门店等信息;订单很多时可以更热络,少量订单不要贴重度粉丝标签。
- 用户按未绑定提示完成登录/绑定后,下一次识别到账号且识别到已领取时,说明该手机号已经领取过 Skill用户大礼包,并列出已领取内容。
- 已参与活动时,不要再要求用户重新留资。
- 用户不是在问活动、福利或领取时,即使缓存手机号 `activityJoined=true`,也不要在推荐上下文里暴露活动状态,不要主动提活动、福利、身份验证、礼包到账或领取。
- 未注册或未找到绑定手机号时,提示用户还没查到【新一咖啡】小程序登录/绑定记录;必须同时说明两步领取步骤和礼包内容,不要写成“没有其他活动”。
- 未参加或未确认活动状态时,推荐末尾可以用 `---` 单独隔开留资提示。
- 当前缓存手机号 `activityJoined=true` 时,不要重复整段留资文案。references/capability-map.md
# 能力地图
## 脚本与能力
- `skill.json`: 机器可读能力地图,供 OpenClaw、ClawHub 和其它平台识别脚本、接口、隐私边界和关键词
- `activity_claim.py`: 规范化 `/skill/xinyi/claim` 返回的活动状态,并识别已参与类结果
- `claim_reward.py`: 调用 `/skill/xinyi/claim`;本轮可用 `--mobile` 传入手机号,活动状态查询场景也可用 `--use-saved-mobile` 复用缓存手机号;成功或已参与时会再结合 `/skill/xinyi/context` 输出礼包状态和推荐文案
- `fetch_stores.py`: 调用 `/skill/xinyi/stores`,并把原始门店数据整理成表格文本
- `query_orders.py`: 调用 `/skill/xinyi/orders`,查询全部订单、历史订单/已完成订单和正在进行中订单,并可基于返回数据输出已定饮品、可见杯数和咖啡相关饮品摘要
- `recommend_drink.py`: 调用 `/skill/xinyi/context`,并把服务返回的商品、天气和可选订单历史整理成可直接提供给大模型的表格/文本上下文;默认不读取本地缓存手机号,只有内部 `--use-saved-mobile` 或本轮 `--mobile` 才发送手机号
- `skill_config.py`: 读取默认配置,并支持 `XINYI_API_BASE_URL`、`XINYI_TIMEOUT_SECONDS` 环境变量覆盖
- `skill_http.py`: 统一 JSON 请求、URL query 编码、调试日志和可读网络错误
- `user_state.py`: 读写本地手机号与活动状态缓存,状态文件默认设置为仅当前用户可读写
- `recommendation_logic.py`: 选择推荐候选饮品、组织推荐依据和兜底推荐文案
- `response_rendering.py`: Markdown 表格和基础文本渲染
- `build_response.py`: 组合用户上下文、天气、订单、商品、推荐素材和活动结果输出;门店列表只由门店查询脚本输出,推荐和领取结果不主动带出门店
## 网络边界
- 默认后端:`https://ai.xinyicoffee.com/api`
- `GET /skill/xinyi/stores`: 不发送个人数据
- `GET /skill/xinyi/context`: 仅在本轮提供手机号或内部 `--use-saved-mobile` 个性化场景发送 `mobile` query
- `GET /skill/xinyi/orders`: 发送 `mobile` query,可选 `status` query;不传查全部订单,`status=2` 查正在进行中订单,`status=4` 查历史订单/已完成订单
- `POST /skill/xinyi/claim`: 发送 `{"mobile":"..."}` JSON body
## 本地边界
- 默认状态文件:`~/.xinyi-drink/state.json`
- 状态内容:`{mobile, activityJoined, updatedAt}`
- 可配置项:`XINYI_API_BASE_URL`、`XINYI_TIMEOUT_SECONDS`、`XINYI_DRINK_STATE_FILE`
- 本 Skill 包含可执行脚本,不是 instruction-onlyreferences/gotchas.md
# 注意事项 - 推荐由 Agent 自行完成。 - 推荐能力统一走 `/skill/xinyi/context`;这个接口会自动返回商品、天气和可选订单历史,不再聚合门店。 - 用户问自己的个人订单、下单、购买、消费、喝过、买过、点过、取餐、制作中或历史记录时,走 `query_orders.py` 和 `/skill/xinyi/orders`,不要用推荐上下文代替专用订单查询;不要求用户说出“订单”两个字。 - 订单信息只能基于本次查询结果,不能预估、估算或模糊处理;本次结果里没有的订单、杯数、商品和状态不要补全。 - 订单等级提示语由 `query_orders.py` 按本次查询到的可见杯数计算,Agent 不要自行重算或改写中文提示语;最终回答不要输出 `Level 1/2/3/4/5` 标签。 - 只有用户明确提到门店、地址、排队、等待时间时,才查询 `/skill/xinyi/stores` 并返回门店信息。 - 服务返回的是结构化原始数据;提供给大模型前,应使用脚本层整理成文本/表格,不要把 JSON 原样塞给模型。 - 活动领取或活动状态查询拿到可判定查询结果后,手机号和活动状态会保存到本地;普通推荐、门店和菜单查询不要默认复用缓存手机号。 - 只有活动状态查询、活动总览、订单查询、口味偏好分析或明确个性化推荐场景,才通过内部 `--use-saved-mobile` 复用缓存手机号;订单查询和口味偏好分析使用 `query_orders.py`。 - 手机号活动状态只在接口确认后写入:`true` 表示已参加,`false` 表示接口确认未参加;状态缺失或 `null` 表示当前没有可复用的确认状态。 - 本机缓存已确认领取成功后,不能更换手机号重复领取;同一手机号再次领取或查询时,本地已领取状态优先,直接提示该手机号已经领取过并说明已领取内容,不依赖本次后端结果;任何换号、改号、重新绑定或重新输入手机号都必须先走 `recommend_drink.py --show-mobile-status --candidate-mobile <手机号>` 本地只读预检,不能由 Agent 文本判断或直接请求后端;最终回答不要主动解释内部领取规则。 - 推荐脚本不调用 `/skill/xinyi/claim`;活动领取和活动状态确认统一交给 `claim_reward.py`。 - 活动领取细则见 `activity-flow.md`;推荐回答细则见 `response-guidelines.md`;意图判断细则见 `intent-routing.md`。 - 天气是推荐时的增强输入,不是单独对外暴露的能力;如果 `context` 没返回天气,推荐文案会自动降级成普通句式。 - 门店状态缓存只有 5 分钟,不保证秒级实时。 - 生产默认 API 来自 `config/defaults.json`,本地调试可用 `XINYI_API_BASE_URL` 和 `XINYI_TIMEOUT_SECONDS` 临时覆盖。 - 本 Skill 包含 Python 脚本和 `install.sh`,发布元数据不能标记为 instruction-only。 - 使用真实手机号前,先确认默认后端 `https://ai.xinyicoffee.com/api` 或 `XINYI_API_BASE_URL` 指向可信服务。 - 回答用户时不要暴露内部脚本路径、缓存结构、OpenClaw 审查细节,除非用户明确询问 Skill 实现或安全边界。 - 用户问功能介绍时,只讲可见能力和使用方式;用户问活动时,只讲 Skill用户大礼包,不扩展到其它商品信息。 - 本次结果里没有的数据就是盲区:宁可说明没拿到,也不要补全门店、商品、券名、订单或活动状态。
AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/domilin/skills/xinyi-drink",
"sourceUrl": "https://clawhub.ai/domilin/skills/xinyi-drink",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-10T21:45:43.535Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-domilin-xinyi-drink/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-domilin-xinyi-drink/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-10T21:45:43.535Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1.3K downloads",
"href": "https://clawhub.ai/domilin/xinyi-drink",
"sourceUrl": "https://clawhub.ai/domilin/xinyi-drink",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-10T21:45:43.535Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "1.2.5",
"href": "https://clawhub.ai/domilin/xinyi-drink",
"sourceUrl": "https://clawhub.ai/domilin/xinyi-drink",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-05-07T06:52:08.522Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-domilin-xinyi-drink/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-domilin-xinyi-drink/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 1.2.5",
"description": "xinyi-drink 1.2.5 - Added compiled Python bytecode files (*.pyc) for both scripts and unit tests, improving runtime efficiency and test coverage. - No changes to logic or user-facing features; this is an internal packaging and distribution update.",
"href": "https://clawhub.ai/domilin/xinyi-drink",
"sourceUrl": "https://clawhub.ai/domilin/xinyi-drink",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-05-07T06:52:08.522Z",
"isPublic": true
}
]
}Record generated Oct 10, 2026.
