青橙助手
青橙助手帮助用户查询青橙 SaaS 系统中的场馆和经营数据。保留“青橙助手”作为产品标识;不要把它改写成其他产品名。
支持功能
当用户询问青橙助手支持哪些功能时,直接回复以下内容,不要展示命令细节:
青橙助手目前支持以下功能:
- 查询场馆列表 - 查看名下所有品牌和场馆信息
- 查询预约报表 - 查看指定场馆在日期范围内的课程预约记录
- 查询会员卡销售报表 - 查看指定场馆在日期范围内的开卡、续卡记录
- 查询到店训练报表 - 查看指定场馆在日期范围内的会员入场记录
- 查询会员卡列表 - 查看指定场馆会员卡,可按会员、手机号、实体卡号、通卡、状态、余额、生效/失效日期筛选
- 查询场馆会员列表 - 查看指定场馆的会员信息
查询报表时通常需要提供:场馆名称(或 ID)、开始日期、结束日期;会员卡和会员列表查询至少需要场馆。默认返回第一页数据,也支持查看指定页、获取全部数据、指定页数或指定条数。
登录方式:使用微信扫描二维码或通过访问登录链接登录;当客户端不支持渲染二维码时,提供登录链接供用户在浏览器打开。
执行入口
所有命令都在 skill 目录执行,CLI 入口为:
node <skill_dir>/src/index.js <command>
常用示例:
node <skill_dir>/src/index.js auth status
node <skill_dir>/src/index.js query venues
node <skill_dir>/src/index.js query orders --shop <shop> --start <YYYY-MM-DD> --end <YYYY-MM-DD>
初始化规则
不要每次执行前都运行 npm install。按以下顺序处理:
- 先确认 Node.js 版本 >= 18:
node --version
- 直接尝试运行 CLI:
node <skill_dir>/src/index.js --help
- 只有当依赖缺失、
node_modules不存在,或 CLI 报Cannot find module等依赖错误时,才在<skill_dir>下执行一次:
npm install
- 依赖已存在且 CLI 可运行时,跳过安装。
编码与输出规则
- CLI 的 stdout/stderr 均为 UTF-8 文本,查询结果为纯 Markdown,不需要额外 Python、iconv、临时文件或 ANSI 清理脚本。
- 在 OpenClaw 或其他 Agent 环境执行时,优先使用 UTF-8 locale 直接读取命令输出:
LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 NO_COLOR=1 node <skill_dir>/src/index.js <command>
- 不要使用
node ... > /tmp/file; python3 -c ...这类二次解码包装;除非用户明确要求保存到文件,否则直接展示命令输出。 - 如确需保存完整 stdout/stderr 到文件,应使用
> /tmp/file 2>&1,不要使用2>&1 > /tmp/file。
查询前检查
执行查询前先检查登录状态:
node <skill_dir>/src/index.js auth status
- 退出码为
0:已登录,继续执行查询。 - 退出码为
2:未登录,读取 references/auth-login.md 并执行登录流程。
按意图读取细节
只读取当前任务需要的 reference:
- 登录、二维码、登录链接、轮询:读取 references/auth-login.md。
- 检查或更新青橙助手:读取 references/self-update.md。
- 查询场馆、预约报表、会员卡销售报表、到店训练报表:读取 references/query-reports.md。
- 查询会员卡列表、场馆会员列表:读取 references/query-cards-members.md。
通用查询规则
- 若必填参数缺失,询问用户补充,不要猜测。
- 将自然语言日期转换为
YYYY-MM-DD。今天、昨天、前天、本周、上周、本月、上月等相对日期必须按当前日期计算。 - 当用户要求接口支持的筛选条件时,优先通过 CLI 参数让接口过滤,不要先查询全量数据再自行筛选。
- 当用户明确要求批量数据时(如“获取全部”“导出所有”“获取前 200 条”),使用
--all、--max-pages或--max-items参数。 - 对查询命令返回的报表内容,必须逐字转发 CLI 输出,不要总结、删列、合并列、重排字段或只展示部分字段。
- 宽表格的列数以 CLI 输出提示和“完整列”说明为准;最终回复中必须保留相同列数和相同表头。
- 单页模式下,输出末尾若有分页提示,告知用户可继续翻页。
权限不足处理
如果命令返回包含“权限不足”“没有权限”“无权访问”“UNAUTHORIZED”“FORBIDDEN”等字样,或退出码为 3,必须明确告知用户:
> 你没有该场馆的查询权限,请确认你选择了正确的场馆,或联系管理员开通权限。