Communitygithub.com

FoloToy 角色配置技能

可安装的 Agent 技能,用于安全配置 FoloToy 角色人设、开场白和语音。

FoloToy 角色配置技能 是什么?

该技能为开发者与 AI Agent 提供了一套完整的、安全的 FoloToy 智能玩具角色配置工作流。它支持手机号与短信验证码登录、设备配对与状态检查、当前角色配置读取以及人设、开场白、语音的修改。技能的核心价值在于其严格的安全模型,要求由用户提供凭据,禁止在提示词、日志或输出中暴露完整手机号、令牌等敏感信息。它强制要求在执行任何更新前显示人类可读的变更差异并获得用户明确确认,且仅修改被批准的字段,保留其他所有配置。技能支持中国大陆(webapp.folotoy.cn)和国际版(webapp.folotoy.com)服务,并能在配置保存后回读验证并指导用户进行物理设备测试,确保修改生效。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add FoloToy/folotoy-toy-role-config-skill

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

FoloToy 角色配置

安全地配置 FoloToy 角色,并在真实设备上验证结果。

在进行 API 调用前,请先阅读 references/api-workflow.md。当用户需要帮助设计人设或开场白时,请阅读 references/examples.md。

支持的任务

  • 使用手机号和一次性短信验证码登录。
  • 检查已授权的设备是否已配对。
  • 使用序列号和配对密钥配对未配对的设备。
  • 读取当前设备、活跃角色和可用的语音模型。
  • 更改角色人设、开场白和语音。
  • 回读已保存的角色并指导物理设备测试。

请勿使用此技能来取消配对设备、擦除记忆、重置网络、删除账户、购买服务,或控制用户不拥有或未经明确授权管理的设备。

安全模型

秘密信息标识一个账户或物理设备。请将其远离提示词、源文件、屏幕截图、URL、持久化日志和最终报告。

  1. 仅在需要每个值时才询问手机号、短信验证码、序列号和配对密钥。
  2. 不要回显完整的手机号、短信验证码、配对密钥或访问令牌。
  3. 仅将访问令牌保留在当前任务中。优先使用内存变量或受保护的临时会话,并在完成后移除。
  4. 当所有权不明确或设备已与其他账户配对时停止操作。
  5. 在更新请求前显示人类可读的差异并获得明确的确认。
  6. 仅更改已批准的字段。保留当前模型ID和其他所有必填字段。
  7. 保存后回读角色。仅凭成功的写入响应不足以作为验证。

工作流程

1. 确认区域与用户同意

询问账户使用的是中国大陆服务还是国际服务:

  • 中国大陆:https://webapp.folotoy.cn
  • 国际版:https://webapp.folotoy.com

解释工作流程会发送一条短信并更改物理设备配置。确认用户拥有此设备或已获授权管理它。

2. 登录

询问包含国家代码的手机号。使用API参考文档中记录的请求发送验证码。

暂停并询问六位数验证码。不要猜测它,也不要从其他来源获取,在用户提供之前不要继续。

登录并仅为本任务保留返回的 Bearer 令牌。如果身份验证失败,请检查国家代码和验证码是否过期。不要重复发送短信。

3. 解析目标设备

询问设备序列号并检查其配对状态。

  • 如果已经配对该账户,继续执行。
  • 如果未配对,询问配对密钥,并在配对前获得确认。
  • 如果已与其他账户配对,停止操作并说明当前所有者必须通过支持的产品流程解除配对。

读取账户的设备列表并根据序列号识别确切的目标设备。切勿仅因为其显示名称看起来熟悉就选择某个设备。

4. 设计前先读取

读取设备详情、在线状态、产品ID、活跃角色以及完整的当前角色对象。获取该产品可用的 TTS 模型,并将 ID 映射为可读的语音名称。

询问目标受众、场景、个性、语气、回复长度、行为规则、安全边界和语音偏好。如果用户只有粗略的想法,可以提出简洁的草稿,而不是阻止流程。

5. 预览变更

显示如下紧凑预览:

设备:[脱敏的序列号和显示名称]
角色:[名称]

人设:     当前 -> 提议
开场白:   当前 -> 提议
语音:     当前名称 -> 提议名称

未变更:STT 模型、LLM 模型、记忆、网络、配对及所有其他字段

询问:是否将此更改应用于所列的 FoloToy 设备?

仅在获得明确确认后继续。

6. 安全应用

从服务返回的完整角色对象开始。仅合并已批准的人设、开场白和语音ID。保留现有的必填值,例如 speech_to_text_id、language_model_id 以及所有其他产品特定字段。

将完整的合并后对象发送到角色更新端点。当服务期望完整配置时,不要发送猜测的最小负载。

7. 验证与测试

再次读取角色列表,并将返回的 custom_ability、start_text 和 text_to_speech_id 与已批准的提议进行比较。将语音 ID 映射回可读的名称。

检查设备是否在线。要求用户开始一次新的对话并进行测试:

  1. 开场白。
  2. 一个正常的角色内场景。
  3. 一个安全或不确定性边界场景。

如果保存的配置正确但行为未改变,请验证活跃角色并开始一次新的对话,然后再更改更多字段。

8. 报告与清理

报告角色名称、最终开场白、最终语音名称、回读状态、物理测试状态以及一个建议的下一次迭代。对设备身份进行脱敏处理,并清除临时授权数据。

失败处理

  • 未收到短信:检查国家代码,等待重发计时器,避免重复发送。
  • 401 或 403:将会话视为过期并重新登录。不要重复使用旧令牌。
  • 配对被拒绝:检查序列号和配对密钥;如果设备属于其他账户则停止。
  • 未找到语音路由:使用产品模型端点并设置 mod_type=tts;不要依赖旧的 /v1/voices 路由。
  • 内容审核错误如 10500:缩短并简化人设或开场白。在新草案获得批准前保持当前配置不变。
  • 已保存但听不到:验证活跃角色、设备在线状态以及新开始的对话。

完成标准

仅当满足以下所有条件时,任务才算完成:

  • 目标设备已获得授权并通过序列号解析。
  • 没有秘密信息被嵌入或未脱敏显示。
  • 用户明确批准了显示的差异。
  • 仅更改了批准的字段。
  • API 回读与提议相匹配。
  • 用户收到了物理测试脚本,即使设备暂时离线。

相关技能