Files
dudu/design/_ds_manifest.json
wangjia 40760aa884
ci / server (push) Failing after 14s
ci / design-tokens (push) Failing after 11s
dudu MVP:五端语音输入法初始提交
- server:Go 网关(WS 流式识别中继/计费配额/微信登录支付 mock/反馈/埋点),gummy provider 已真实联调
- desktop:Tauri 2(全局快捷键 push-to-talk/浮层/托盘/设置/登录购买/反馈/首启引导)
- android:Compose 主 App + IME(键盘内录音直传)
- ios:App + 键盘扩展(1A spike 实证键盘内不可录音,走 deep link 听写)
- design/design-pipeline:设计系统 + token 导出 iOS/Android 主题
- doc:前后端设计文档(HTML);web:官网宣传页;todo:任务看板

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 00:38:37 +08:00

1 line
19 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{"namespace":"DuduDesignSystem_2e0172","components":[{"name":"Badge","sourcePath":"components/core/Badge.jsx"},{"name":"Button","sourcePath":"components/core/Button.jsx"},{"name":"Card","sourcePath":"components/core/Card.jsx"},{"name":"IconButton","sourcePath":"components/core/IconButton.jsx"},{"name":"Kbd","sourcePath":"components/core/Kbd.jsx"},{"name":"HotkeyCombo","sourcePath":"components/core/Kbd.jsx"},{"name":"ProgressBar","sourcePath":"components/core/ProgressBar.jsx"},{"name":"Input","sourcePath":"components/forms/Input.jsx"},{"name":"SettingRow","sourcePath":"components/forms/SettingRow.jsx"},{"name":"Switch","sourcePath":"components/forms/Switch.jsx"},{"name":"MicBar","sourcePath":"components/voice/MicBar.jsx"},{"name":"RecognitionOverlay","sourcePath":"components/voice/RecognitionOverlay.jsx"},{"name":"Waveform","sourcePath":"components/voice/Waveform.jsx"}],"startingPoints":[{"name":"Button","path":"components/core/Button.jsx","previewPath":"components/core/core.card.html","kind":"component","section":"Components","subtitle":"主/次/幽灵/危险按钮,三种尺寸","viewport":"700x260"},{"name":"MicBar","path":"components/voice/MicBar.jsx","previewPath":"components/voice/voice.card.html","kind":"component","section":"Components","subtitle":"按住说话 · 四种状态","viewport":"700x300"},{"name":"RecognitionOverlay","path":"components/voice/RecognitionOverlay.jsx","previewPath":"components/voice/voice.card.html","kind":"component","section":"Components","subtitle":"桌面识别浮层 · 聆听/流式两态","viewport":"700x220"}],"cards":[{"path":"guidelines/brand-logo.card.html","group":"Brand","viewport":"700x190","subtitle":"圆形嘴巴 + 声波线条 · 线性风格","name":"Logo"},{"path":"guidelines/brand-wordmark.card.html","group":"Brand","viewport":"700x170","subtitle":"dudu — 几何线条字标,与 logo 同一笔画语言","name":"Wordmark"},{"path":"guidelines/colors-brand.card.html","group":"Colors","viewport":"700x120","subtitle":"--blue-50 → 900 · 主色 500light/ 400 系(dark","name":"品牌蓝阶梯"},{"path":"guidelines/colors-neutrals.card.html","group":"Colors","viewport":"700x120","subtitle":"--gray-0 → 950 · 冷灰 · 界面的主体","name":"中性阶梯"},{"path":"guidelines/colors-overlay.card.html","group":"Colors","viewport":"700x130","subtitle":"两种模式均为深色玻璃 · final 亮 / partial 灰 / hint 暗","name":"识别浮层色"},{"path":"guidelines/colors-semantic.card.html","group":"Colors","viewport":"700x150","subtitle":"绿=录音/成功 · 琥珀=超额/警告 · 红=错误 · soft 底 + 实色字","name":"功能色"},{"path":"guidelines/colors-surfaces.card.html","group":"Colors","viewport":"700x170","subtitle":"bg-app → surface-card → surface-2/3 · text-1/2/3","name":"表面与文字 · Light / Dark"},{"path":"components/core/core.card.html","group":"Components","viewport":"700x360","subtitle":"Button · IconButton · Badge · Kbd · ProgressBar · Card","name":"Core 核心控件"},{"path":"components/forms/forms.card.html","group":"Components","viewport":"700x300","subtitle":"Input · Switch · SettingRow","name":"Forms 表单"},{"path":"components/voice/voice.card.html","group":"Components","viewport":"700x400","subtitle":"RecognitionOverlay · MicBar · Waveform","name":"Voice 语音"},{"path":"guidelines/motion.card.html","group":"Spacing","viewport":"700x130","subtitle":"快入慢出 · 120/200/320ms · 无弹跳(悬停小球查看)","name":"动效"},{"path":"guidelines/spacing-controls.card.html","group":"Spacing","viewport":"700x130","subtitle":"桌面 28/36 · 移动触控 44/56","name":"控件高度"},{"path":"guidelines/spacing-elevation.card.html","group":"Spacing","viewport":"700x160","subtitle":"card → menu → window → overlay · dark 模式靠边框提层级","name":"层级与阴影"},{"path":"guidelines/spacing-grid.card.html","group":"Spacing","viewport":"700x130","subtitle":"4px 基准 · --space-1 → 16","name":"间距网格"},{"path":"guidelines/spacing-radius.card.html","group":"Spacing","viewport":"700x140","subtitle":"xs 4 → xl 20 → full · 卡片/浮层 14 · 胶囊 999","name":"圆角阶梯"},{"path":"guidelines/type-families.card.html","group":"Type","viewport":"700x170","subtitle":"Outfit(品牌拉丁/数字)· 系统中文栈 · 等宽","name":"字体家族"},{"path":"guidelines/type-recognition.card.html","group":"Type","viewport":"700x120","subtitle":"final 实色 · partial 弱色实时刷新 · 永不闪跳","name":"识别文本规范"},{"path":"guidelines/type-scale.card.html","group":"Type","viewport":"700x230","subtitle":"12 → 44 · 桌面正文 14 / 移动与浮层 15","name":"字号阶梯"},{"path":"ui_kits/desktop/index.html","group":"桌面端","viewport":"1100x640","subtitle":"识别浮层 · 托盘菜单 · 设置 · 登录购买 — 可交互,Light/Dark","name":"桌面端 UI Kit"},{"path":"ui_kits/mobile/index.html","group":"移动端","viewport":"1100x720","subtitle":"语音键盘(按住说话)+ 主 App 四屏 — 可交互,Light/Dark","name":"移动端 UI Kit"}],"globalCssPaths":["tokens/fonts.css","tokens/colors.css","tokens/typography.css","tokens/spacing.css","tokens/effects.css","styles.css"],"tokens":[{"name":"--blue-50","value":"#EEF1FE","kind":"color","definedIn":"tokens/colors.css"},{"name":"--blue-100","value":"#DFE5FD","kind":"color","definedIn":"tokens/colors.css"},{"name":"--blue-200","value":"#C4CFFB","kind":"color","definedIn":"tokens/colors.css"},{"name":"--blue-300","value":"#9FB1F9","kind":"color","definedIn":"tokens/colors.css"},{"name":"--blue-400","value":"#7590F8","kind":"color","definedIn":"tokens/colors.css"},{"name":"--blue-500","value":"#4F6EF7","kind":"color","definedIn":"tokens/colors.css"},{"name":"--blue-600","value":"#3D58DB","kind":"color","definedIn":"tokens/colors.css"},{"name":"--blue-700","value":"#2F44B3","kind":"color","definedIn":"tokens/colors.css"},{"name":"--blue-800","value":"#25368C","kind":"color","definedIn":"tokens/colors.css"},{"name":"--blue-900","value":"#1E2B6B","kind":"color","definedIn":"tokens/colors.css"},{"name":"--gray-0","value":"#FFFFFF","kind":"color","definedIn":"tokens/colors.css"},{"name":"--gray-25","value":"#FCFCFD","kind":"color","definedIn":"tokens/colors.css"},{"name":"--gray-50","value":"#F6F7FA","kind":"color","definedIn":"tokens/colors.css"},{"name":"--gray-100","value":"#F0F1F4","kind":"color","definedIn":"tokens/colors.css"},{"name":"--gray-200","value":"#E4E6EB","kind":"color","definedIn":"tokens/colors.css"},{"name":"--gray-300","value":"#D2D5DD","kind":"color","definedIn":"tokens/colors.css"},{"name":"--gray-400","value":"#A6ABB8","kind":"color","definedIn":"tokens/colors.css"},{"name":"--gray-500","value":"#7A8090","kind":"color","definedIn":"tokens/colors.css"},{"name":"--gray-600","value":"#5A6072","kind":"color","definedIn":"tokens/colors.css"},{"name":"--gray-700","value":"#434957","kind":"color","definedIn":"tokens/colors.css"},{"name":"--gray-800","value":"#2B2F3A","kind":"color","definedIn":"tokens/colors.css"},{"name":"--gray-900","value":"#1B1E26","kind":"color","definedIn":"tokens/colors.css"},{"name":"--gray-950","value":"#11131A","kind":"color","definedIn":"tokens/colors.css"},{"name":"--green-500","value":"#16A34A","kind":"color","definedIn":"tokens/colors.css"},{"name":"--green-100","value":"#DCFCE7","kind":"color","definedIn":"tokens/colors.css"},{"name":"--amber-500","value":"#E8890C","kind":"color","definedIn":"tokens/colors.css"},{"name":"--amber-100","value":"#FCEFD7","kind":"color","definedIn":"tokens/colors.css"},{"name":"--red-500","value":"#DC2626","kind":"color","definedIn":"tokens/colors.css"},{"name":"--red-100","value":"#FEE2E2","kind":"color","definedIn":"tokens/colors.css"},{"name":"--bg-app","value":"var(--gray-50)","kind":"color","definedIn":"tokens/colors.css"},{"name":"--surface-card","value":"var(--gray-0)","kind":"color","definedIn":"tokens/colors.css"},{"name":"--surface-2","value":"var(--gray-100)","kind":"color","definedIn":"tokens/colors.css"},{"name":"--surface-3","value":"var(--gray-200)","kind":"color","definedIn":"tokens/colors.css"},{"name":"--border-1","value":"var(--gray-200)","kind":"color","definedIn":"tokens/colors.css"},{"name":"--border-2","value":"var(--gray-300)","kind":"color","definedIn":"tokens/colors.css"},{"name":"--text-1","value":"var(--gray-900)","kind":"font","definedIn":"tokens/colors.css"},{"name":"--text-2","value":"var(--gray-600)","kind":"font","definedIn":"tokens/colors.css"},{"name":"--text-3","value":"var(--gray-400)","kind":"font","definedIn":"tokens/colors.css"},{"name":"--text-on-accent","value":"#FFFFFF","kind":"font","definedIn":"tokens/colors.css"},{"name":"--accent","value":"var(--blue-500)","kind":"color","definedIn":"tokens/colors.css"},{"name":"--accent-hover","value":"var(--blue-600)","kind":"color","definedIn":"tokens/colors.css"},{"name":"--accent-press","value":"var(--blue-700)","kind":"color","definedIn":"tokens/colors.css"},{"name":"--accent-soft","value":"var(--blue-50)","kind":"color","definedIn":"tokens/colors.css"},{"name":"--accent-soft-2","value":"var(--blue-100)","kind":"color","definedIn":"tokens/colors.css"},{"name":"--accent-text","value":"var(--blue-600)","kind":"font","definedIn":"tokens/colors.css"},{"name":"--positive","value":"var(--green-500)","kind":"color","definedIn":"tokens/colors.css"},{"name":"--positive-soft","value":"var(--green-100)","kind":"color","definedIn":"tokens/colors.css"},{"name":"--warning","value":"var(--amber-500)","kind":"color","definedIn":"tokens/colors.css"},{"name":"--warning-soft","value":"var(--amber-100)","kind":"color","definedIn":"tokens/colors.css"},{"name":"--danger","value":"var(--red-500)","kind":"color","definedIn":"tokens/colors.css"},{"name":"--danger-soft","value":"var(--red-100)","kind":"color","definedIn":"tokens/colors.css"},{"name":"--overlay-bg","value":"rgba(24, 26, 34, 0.95)","kind":"color","definedIn":"tokens/colors.css"},{"name":"--overlay-text","value":"#F2F4FA","kind":"font","definedIn":"tokens/colors.css"},{"name":"--overlay-text-2","value":"#9AA3BD","kind":"font","definedIn":"tokens/colors.css"},{"name":"--overlay-text-3","value":"#646E8C","kind":"font","definedIn":"tokens/colors.css"},{"name":"--focus-ring","value":"0 0 0 3px var(--blue-200)","kind":"color","definedIn":"tokens/colors.css"},{"name":"--bg-app","value":"#0F1116","kind":"color","definedIn":"tokens/colors.css","scope":"[data-theme=\"dark\"]"},{"name":"--surface-card","value":"#171A22","kind":"color","definedIn":"tokens/colors.css","scope":"[data-theme=\"dark\"]"},{"name":"--surface-2","value":"#1E222C","kind":"color","definedIn":"tokens/colors.css","scope":"[data-theme=\"dark\"]"},{"name":"--surface-3","value":"#262B37","kind":"color","definedIn":"tokens/colors.css","scope":"[data-theme=\"dark\"]"},{"name":"--border-1","value":"#272C38","kind":"color","definedIn":"tokens/colors.css","scope":"[data-theme=\"dark\"]"},{"name":"--border-2","value":"#343A49","kind":"color","definedIn":"tokens/colors.css","scope":"[data-theme=\"dark\"]"},{"name":"--text-1","value":"#ECEEF4","kind":"font","definedIn":"tokens/colors.css","scope":"[data-theme=\"dark\"]"},{"name":"--text-2","value":"#9AA1B2","kind":"font","definedIn":"tokens/colors.css","scope":"[data-theme=\"dark\"]"},{"name":"--text-3","value":"#5F6678","kind":"font","definedIn":"tokens/colors.css","scope":"[data-theme=\"dark\"]"},{"name":"--text-on-accent","value":"#FFFFFF","kind":"font","definedIn":"tokens/colors.css","scope":"[data-theme=\"dark\"]"},{"name":"--accent","value":"#5C77E8","kind":"color","definedIn":"tokens/colors.css","scope":"[data-theme=\"dark\"]"},{"name":"--accent-hover","value":"#6E89F9","kind":"color","definedIn":"tokens/colors.css","scope":"[data-theme=\"dark\"]"},{"name":"--accent-press","value":"#4A63D6","kind":"color","definedIn":"tokens/colors.css","scope":"[data-theme=\"dark\"]"},{"name":"--accent-soft","value":"rgba(92, 119, 232, 0.16)","kind":"color","definedIn":"tokens/colors.css","scope":"[data-theme=\"dark\"]"},{"name":"--accent-soft-2","value":"rgba(92, 119, 232, 0.26)","kind":"color","definedIn":"tokens/colors.css","scope":"[data-theme=\"dark\"]"},{"name":"--accent-text","value":"#7D95F7","kind":"font","definedIn":"tokens/colors.css","scope":"[data-theme=\"dark\"]"},{"name":"--positive","value":"#34C46A","kind":"color","definedIn":"tokens/colors.css","scope":"[data-theme=\"dark\"]"},{"name":"--positive-soft","value":"rgba(52, 196, 106, 0.16)","kind":"color","definedIn":"tokens/colors.css","scope":"[data-theme=\"dark\"]"},{"name":"--warning","value":"#F2A33C","kind":"color","definedIn":"tokens/colors.css","scope":"[data-theme=\"dark\"]"},{"name":"--warning-soft","value":"rgba(242, 163, 60, 0.16)","kind":"color","definedIn":"tokens/colors.css","scope":"[data-theme=\"dark\"]"},{"name":"--danger","value":"#F05B5B","kind":"color","definedIn":"tokens/colors.css","scope":"[data-theme=\"dark\"]"},{"name":"--danger-soft","value":"rgba(240, 91, 91, 0.16)","kind":"color","definedIn":"tokens/colors.css","scope":"[data-theme=\"dark\"]"},{"name":"--overlay-bg","value":"rgba(30, 33, 43, 0.96)","kind":"color","definedIn":"tokens/colors.css","scope":"[data-theme=\"dark\"]"},{"name":"--overlay-text","value":"#F2F4FA","kind":"font","definedIn":"tokens/colors.css","scope":"[data-theme=\"dark\"]"},{"name":"--overlay-text-2","value":"#9AA3BD","kind":"font","definedIn":"tokens/colors.css","scope":"[data-theme=\"dark\"]"},{"name":"--overlay-text-3","value":"#646E8C","kind":"font","definedIn":"tokens/colors.css","scope":"[data-theme=\"dark\"]"},{"name":"--focus-ring","value":"0 0 0 3px rgba(92, 119, 232, 0.4)","kind":"shadow","definedIn":"tokens/colors.css","scope":"[data-theme=\"dark\"]"},{"name":"--font-sans","value":"'Outfit', -apple-system, BlinkMacSystemFont, 'PingFang SC',\n 'MiSans', 'HarmonyOS Sans SC', 'Microsoft YaHei', 'Segoe UI', sans-serif","kind":"font","definedIn":"tokens/typography.css"},{"name":"--font-mono","value":"ui-monospace, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace","kind":"font","definedIn":"tokens/typography.css"},{"name":"--text-xs","value":"12px","kind":"font","definedIn":"tokens/typography.css"},{"name":"--text-sm","value":"13px","kind":"font","definedIn":"tokens/typography.css"},{"name":"--text-base","value":"14px","kind":"font","definedIn":"tokens/typography.css"},{"name":"--text-md","value":"15px","kind":"font","definedIn":"tokens/typography.css"},{"name":"--text-lg","value":"17px","kind":"font","definedIn":"tokens/typography.css"},{"name":"--text-xl","value":"20px","kind":"font","definedIn":"tokens/typography.css"},{"name":"--text-2xl","value":"24px","kind":"font","definedIn":"tokens/typography.css"},{"name":"--text-3xl","value":"32px","kind":"font","definedIn":"tokens/typography.css"},{"name":"--text-4xl","value":"44px","kind":"font","definedIn":"tokens/typography.css"},{"name":"--weight-regular","value":"400","kind":"font","definedIn":"tokens/typography.css"},{"name":"--weight-medium","value":"500","kind":"font","definedIn":"tokens/typography.css"},{"name":"--weight-semibold","value":"600","kind":"font","definedIn":"tokens/typography.css"},{"name":"--weight-bold","value":"700","kind":"font","definedIn":"tokens/typography.css"},{"name":"--leading-tight","value":"1.25","kind":"font","definedIn":"tokens/typography.css"},{"name":"--leading-normal","value":"1.5","kind":"font","definedIn":"tokens/typography.css"},{"name":"--leading-loose","value":"1.75","kind":"font","definedIn":"tokens/typography.css"},{"name":"--tracking-normal","value":"0","kind":"font","definedIn":"tokens/typography.css"},{"name":"--tracking-wide","value":"0.02em","kind":"font","definedIn":"tokens/typography.css"},{"name":"--space-1","value":"4px","kind":"spacing","definedIn":"tokens/spacing.css"},{"name":"--space-2","value":"8px","kind":"spacing","definedIn":"tokens/spacing.css"},{"name":"--space-3","value":"12px","kind":"spacing","definedIn":"tokens/spacing.css"},{"name":"--space-4","value":"16px","kind":"spacing","definedIn":"tokens/spacing.css"},{"name":"--space-5","value":"20px","kind":"spacing","definedIn":"tokens/spacing.css"},{"name":"--space-6","value":"24px","kind":"spacing","definedIn":"tokens/spacing.css"},{"name":"--space-8","value":"32px","kind":"spacing","definedIn":"tokens/spacing.css"},{"name":"--space-10","value":"40px","kind":"spacing","definedIn":"tokens/spacing.css"},{"name":"--space-12","value":"48px","kind":"spacing","definedIn":"tokens/spacing.css"},{"name":"--space-16","value":"64px","kind":"spacing","definedIn":"tokens/spacing.css"},{"name":"--radius-xs","value":"4px","kind":"radius","definedIn":"tokens/spacing.css"},{"name":"--radius-sm","value":"6px","kind":"radius","definedIn":"tokens/spacing.css"},{"name":"--radius-md","value":"10px","kind":"radius","definedIn":"tokens/spacing.css"},{"name":"--radius-lg","value":"14px","kind":"radius","definedIn":"tokens/spacing.css"},{"name":"--radius-xl","value":"20px","kind":"radius","definedIn":"tokens/spacing.css"},{"name":"--radius-full","value":"999px","kind":"radius","definedIn":"tokens/spacing.css"},{"name":"--control-sm","value":"28px","kind":"spacing","definedIn":"tokens/spacing.css"},{"name":"--control-md","value":"36px","kind":"spacing","definedIn":"tokens/spacing.css"},{"name":"--control-lg","value":"44px","kind":"spacing","definedIn":"tokens/spacing.css"},{"name":"--control-xl","value":"56px","kind":"spacing","definedIn":"tokens/spacing.css"},{"name":"--shadow-card","value":"0 1px 3px rgba(17, 19, 26, 0.05)","kind":"shadow","definedIn":"tokens/effects.css"},{"name":"--shadow-menu","value":"0 4px 16px rgba(17, 19, 26, 0.10), 0 1px 3px rgba(17, 19, 26, 0.06)","kind":"shadow","definedIn":"tokens/effects.css"},{"name":"--shadow-window","value":"0 8px 28px rgba(17, 19, 26, 0.14)","kind":"shadow","definedIn":"tokens/effects.css"},{"name":"--shadow-overlay","value":"0 12px 36px rgba(10, 12, 18, 0.38)","kind":"shadow","definedIn":"tokens/effects.css"},{"name":"--shadow-key","value":"0 1px 0 rgba(17, 19, 26, 0.22)","kind":"shadow","definedIn":"tokens/effects.css"},{"name":"--ease-out","value":"cubic-bezier(0.2, 0.8, 0.2, 1)","kind":"other","definedIn":"tokens/effects.css","annotation":"other"},{"name":"--ease-in-out","value":"cubic-bezier(0.45, 0, 0.2, 1)","kind":"other","definedIn":"tokens/effects.css","annotation":"other"},{"name":"--dur-fast","value":"120ms","kind":"other","definedIn":"tokens/effects.css","annotation":"other"},{"name":"--dur-base","value":"200ms","kind":"other","definedIn":"tokens/effects.css","annotation":"other"},{"name":"--dur-slow","value":"320ms","kind":"other","definedIn":"tokens/effects.css","annotation":"other"},{"name":"--shadow-card","value":"0 1px 3px rgba(0, 0, 0, 0.3)","kind":"shadow","definedIn":"tokens/effects.css","scope":"[data-theme=\"dark\"]"},{"name":"--shadow-menu","value":"0 4px 16px rgba(0, 0, 0, 0.4), 0 1px 3px rgba(0, 0, 0, 0.3)","kind":"shadow","definedIn":"tokens/effects.css","scope":"[data-theme=\"dark\"]"},{"name":"--shadow-window","value":"0 8px 28px rgba(0, 0, 0, 0.5)","kind":"shadow","definedIn":"tokens/effects.css","scope":"[data-theme=\"dark\"]"},{"name":"--shadow-overlay","value":"0 12px 36px rgba(0, 0, 0, 0.6)","kind":"shadow","definedIn":"tokens/effects.css","scope":"[data-theme=\"dark\"]"},{"name":"--shadow-key","value":"0 1px 0 rgba(0, 0, 0, 0.5)","kind":"shadow","definedIn":"tokens/effects.css","scope":"[data-theme=\"dark\"]"}],"themes":[{"selector":"[data-theme=\"dark\"]","label":"Dark"}],"fonts":[],"brandFonts":[{"family":"Outfit","status":"ok","tokens":["--font-sans"],"path":"tokens/typography.css"}],"source":"spa"}