开发者指南
脚手架生成、本地校验、登录发布——全部一条命令。市场只做登记与分发,代码始终在用户自己的桥接器里运行。
npx made-market init my-theme --kind theme
三种包,各管一摊
主题 theme
14 项配色 + 240×320 锁屏图 + 112×112 锁屏图标 + 提示音,换掉整机的观感。
管控 control
订阅板侧事件(按键/连接),下发字幕、语音、主题、音量等命令。
agent 运行时 agent
把云端模型会话接到码得:建立会话、上报进度、响应取消。
从脚手架到上架
# 1. 生成脚手架(theme / control / agent 三选一)
npx made-market init my-theme --kind theme
cd my-theme
# 2. 改掉 market.json 与 theme.json 里的占位文案,换成你的设计
# 3. 本地校验(与服务端同一套规则)
npx made-market validate .
# 4. 注册账号(一次),然后发布
npx made-market register <用户名> --server https://market.made-world.link
npx made-market publish . --server https://market.made-world.link
发布即上架:服务端会再校验一遍,通过后主页目录立即可见,任何人 npx made-market install 即可安装。同 id+version 不可覆盖,发新版本请改 version 号。
market.json 字段速查
| 字段 | 必填 | 约束 |
|---|---|---|
id | 是 | 与目录名一致,^[a-z0-9][a-z0-9_-]{0,39}$ |
kind | 是 | theme / control / agent |
version | 是 | MAJOR.MINOR.PATCH,同版本不可覆盖 |
pluginId | 管控/agent 必填 | 与 plugin.mjs / plugin.json 一致 |
name / nameEn | 是 | 64 / 96 字节 |
summary / summaryEn | 是 | 200 / 300 字节,目录里的一句话 |
description / descriptionEn | 否 | ≤ 4000 字节,详情页正文 |
tags | 否 | ≤ 8 个,每个 ≤ 24 字节 |
glyph | 否 | sun wave leaf moon bell clock bolt link terminal chat spark box shield palette grid mic volume gift wand |
requires.apiVersion | 是 | 当前必须是 1 |
changelog | 否 | [{ version, notes }],逐版本记录 |
中文按字节计长,不是字符数——这是新手最常踩的坑。
管控插件的接口形状
export default {
apiVersion: 1,
kind: 'board-plugin', // agent 运行时是 'coding-agent'
id: 'my_plugin',
label: '显示名',
events: ['boot.click'], // 板侧事件:boot.click / double / triple / long
commands: ['caption.show'], // 板侧命令:caption.show audio.play theme.apply
// volume.set agent.select session.* voice.start task.*
probe: (config) => ({ available: true, reason: '状态说明' }),
onEvent({ event, deviceId, config, send }) {
return { commands: [{ name: 'caption.show', fields: { text: '你好' } }] };
},
};
完整字段说明、主题二进制格式与全部 API 端点,见完整开发文档(GitHub);事件、命令、生命周期与 bridge 句柄的逐项清单,见开放能力页。