원클릭으로
magic-phone
为任意《哈利·波特》角色生成「魔法世界风格的手机界面」——包括聊天记录、朋友圈动态和羊皮笔记。数据与 UI 分离,只需编写 JSON 数据文件即可创作新角色。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
为任意《哈利·波特》角色生成「魔法世界风格的手机界面」——包括聊天记录、朋友圈动态和羊皮笔记。数据与 UI 分离,只需编写 JSON 数据文件即可创作新角色。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use when creating or editing an agent-level Spherse chat window theme.css for custom chat backgrounds, headers, message bubbles, avatars, composer inputs, markdown blocks, or placeholder text.
指导用户创建自定义 UI 主题,通过 .spherse/theme.css 覆盖 CSS 变量实现视觉定制
当用户想要创建自定义 skill 时使用,涵盖 skill 的两个层级(project-level 与 agent-level)、标准目录结构与 SKILL.md 格式规范
在 Spherse 的 HTML 内容中嵌入 postMessage 调用,实现 iframe 与 App 的交互(如创建会话、打开文件、key-value 数据读写)
在 Spherse 中产出任何 HTML 之前必须先阅读本 skill。当用户要求创建或修改 HTML 页面、生成网页、制作可视化展示(欢迎页、导览主页、内容卡片、预览页等任意 HTML 交付物)时,务必在写出 HTML 代码前先读本 skill,了解 charset、数据与渲染分离的决策、数据加载模式与 App 能力调用(含交互式卡片回传会话)的约定;切勿未经阅读直接输出 HTML
Guide for coding agents to migrate user-visible strings to the @spherse/i18n package and update locale catalogs
| name | magic-phone |
| description | 为任意《哈利·波特》角色生成「魔法世界风格的手机界面」——包括聊天记录、朋友圈动态和羊皮笔记。数据与 UI 分离,只需编写 JSON 数据文件即可创作新角色。 |
数据与 UI 完全分离。 模板 HTML 是稳定的渲染引擎(永不修改),每次创作新角色只需编写 JSON 数据文件。这让「捡手机文学」的创作变成纯粹的数据撰写工作,无需接触任何前端技术。
项目根目录/
├── 🪄 魔法手机-通用模板.html ← 稳定的 UI 渲染引擎(请勿修改)
├── 🪄 魔法手机-技能指南.md ← 面向人类创作者的技能说明
│
├── 赫敏-魔法手机.data.json ← 角色数据示例
├── 📱 赫敏·格兰杰的手机.html ← 入口页,指向数据文件
│
├── {角色名}-魔法手机.data.json ← 新增角色的数据
├── 📱 {角色名}的魔法手机.html ← 新增角色的入口页
└── ...
| 文件 | 角色 | 修改策略 |
|---|---|---|
🪄 魔法手机-通用模板.html | CSS + HTML + JS 渲染引擎 | 永不修改 |
{角色名}-魔法手机.data.json | 角色数据(聊天/动态/笔记) | 每次创作新角色时编写 |
📱 {角色名}的魔法手机.html | 模板副本,改一行 DATA_SOURCE | 复制模板 + 改路径 |
{
"title": "📱 哈利·波特的魔法手机",
"owner": { },
"tabs": { },
"contacts": { },
"chatList": [ ],
"chats": { },
"moments": [ ],
"notes": [ ]
}
owner — 机主信息{
"owner": {
"name": "哈利·波特",
"avatarEmoji": "⚡",
"avatarGradient": "linear-gradient(135deg, #2D5A3A, #4A7C59)",
"status": "魔杖就绪 · 正在想",
"statusHighlight": "今晚要不要去厨房偷点吃的"
}
}
| 字段 | 必填 | 说明 |
|---|---|---|
name | ✅ | 机主全名 |
avatarEmoji | ✅ | 头像显示的 emoji 符号 |
avatarGradient | ✅ | 头像 CSS 渐变背景 |
status | ✅ | 状态文字(普通部分) |
statusHighlight | ❌ | 状态文字中斜体高亮部分 |
tabs — 标签页名称{
"tabs": {
"chat": "🪄 猫头鹰通信",
"moments": "🌙 月相动态",
"notes": "📜 羊皮笔记"
}
}
三个 key 固定为 chat、moments、notes,value 可自由定制,建议保留魔法风格 emoji。
contacts — 联系人字典{
"contacts": {
"ron": { "name": "罗恩·韦斯莱", "emoji": "♟", "cls": "ron", "color": "#C0392B" },
"hermione": { "name": "赫敏·格兰杰", "emoji": "📚", "cls": "hermione", "color": "#B8860B" }
}
}
chatList 和 chats 中的 id 对应cls:CSS 类名,决定头像渐变配色。支持以下预设值:cls 值 | 渐变配色 | 适用角色 |
|---|---|---|
harry | 深绿→绿 | 哈利·波特 |
ron | 深红→红 | 罗恩·韦斯莱 |
ginny | 深棕→棕 | 金妮·韦斯莱 |
hermione | 金→深金 | 赫敏·格兰杰 |
malfoy | 深蓝灰→灰蓝 | 德拉科·马尔福 |
luna | 深紫→紫 | 卢娜·洛夫古德 |
albus / dumbledore | 深蓝→蓝 | 邓布利多 |
snape | 黑→深灰 | 西弗勒斯·斯内普 |
mcgonagall | 深灰蓝→蓝灰 | 米勒娃·麦格 |
sirius | 深灰→灰 | 小天狼星·布莱克 |
remus | 深褐→褐 | 莱姆斯·卢平 |
tom | 黑→暗红 | 汤姆·里德尔 / 伏地魔 |
如需新角色配色: 在
🪄 魔法手机-通用模板.html的<style>中搜索/* ——— 头像颜色类 ——— */,按已有格式添加新的.chat-avatar.xxx和.moment-avatar.xxx规则。
chatList — 聊天列表预览{
"chatList": [
{
"id": "ron",
"name": "罗恩·韦斯莱",
"avatar": "♟",
"cls": "ron",
"lastMsg": "你确定那本书真的需要读到第847页吗?",
"time": "10:15",
"badge": 0
}
]
}
id:对应 contacts 和 chats 中的键名badge:未读消息数(0 则不显示角标)"11:32"、"昨天"、"周一" 均可chats — 对话详情{
"chats": {
"ron": [
{ "who": "ron", "text": "嘿,赫敏,你看到我今天在魔咒课上的那个漂浮咒了吗?" },
{ "who": "me", "text": "看到了。羽毛飘了大概……两秒?" },
{ "who": "ron", "text": "那是三秒!弗立维教授点了头的!" }
]
}
}
who: "me" → 金色气泡靠右(机主发言)who: "xxx"(其他 id)→ 半透明气泡靠左(对方发言)text 中可直接使用 emoji 和 HTML 标记moments — 朋友圈动态{
"moments": [
{
"who": "hermione",
"avatar": "📚",
"cls": "hermione",
"name": "赫敏·格兰杰",
"text": "终于完成了《魔法理论》和《现代咒语理论》的交叉比对表……",
"images": true,
"time": "3小时前",
"likes": 45,
"comments": 11
}
]
}
images: true → 显示三个占位图片框;不填或 false 则不显示text 中可用 <span class="tag"> 包裹话题标签notes — 羊皮笔记{
"notes": [
{
"title": "关于时间转换器的伦理边界",
"preview": "在使用时间转换器的过程中,必须明确一条核心原则……",
"time": "周二 · 深夜"
}
]
}
创建 {角色名}-魔法手机.data.json,按照上述格式填写该角色的联系人、聊天记录、动态和笔记。
设计要点:
| 板块 | 设计建议 |
|---|---|
对话 (chats) | "me" 代表机主语气——赫敏爱列清单、哈利充满自我怀疑、马尔福总要带点讽刺 |
动态 (moments) | 反映角色日常——哈利发魁地奇和冒险,卢娜发神奇生物观察,斯内普大概什么都不发 |
笔记 (notes) | 赫敏写学术计划和阅读清单,哈利写战斗反思,卢娜写奇幻灵感碎片 |
cp "🪄 魔法手机-通用模板.html" "📱 {角色名}的魔法手机.html"
在新文件中找到:
var DATA_SOURCE = './赫敏-魔法手机.data.json';
修改为:
var DATA_SOURCE = './{角色名}-魔法手机.data.json';
这是模板中唯一需要修改的地方。
用 render_card 工具打开新创建的 📱 {角色名}的魔法手机.html,即可看到完整的魔法手机界面。
fetch 的相对路径才能正确解析"me" 自动渲染为金色气泡(靠右),其他角色渲染为半透明气泡(靠左)"11:32"、"昨天"、"周二" 均可,统一作为字符串显示badge: 0 表示无未读消息,角标不会显示/* ——— 头像颜色类 ——— */)模板文件:🪄 魔法手机-通用模板.html(项目根目录)
包含完整的深色魔法主题 CSS 样式、HTML 结构、JavaScript 渲染逻辑和 13 种预设角色配色,以及浮动星尘粒子动画效果。