sintbot 1.3.0 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.en.json +50 -0
- package/CHANGELOG.json +50 -0
- package/README.md +138 -20
- package/README.zh-CN.md +144 -20
- package/assets/design-styles/acid-pop.md +155 -0
- package/assets/design-styles/archive-index.md +161 -0
- package/assets/design-styles/art-deco.md +164 -0
- package/assets/design-styles/cinematic-noir.md +178 -0
- package/assets/design-styles/editorial.md +121 -0
- package/assets/design-styles/geometric-pop.md +122 -0
- package/assets/design-styles/hand-drawn.md +117 -0
- package/assets/design-styles/islamic-geometry.md +155 -0
- package/assets/design-styles/liquid-glass.md +183 -0
- package/assets/design-styles/neo-chinese.md +136 -0
- package/assets/design-styles/precision-mono.md +156 -0
- package/assets/design-styles/quiet-luxury.md +163 -0
- package/assets/design-styles/riso-print.md +116 -0
- package/assets/design-styles/soft-friendly.md +174 -0
- package/assets/design-styles/swiss-grid.md +156 -0
- package/assets/design-styles/tech-dark.md +182 -0
- package/bin/sintbot-v2.js +291 -263
- package/docs/AI-ASSISTED-INSTALL.md +8 -8
- package/docs/install.md +80 -48
- package/docs/zh-CN/AI-ASSISTED-INSTALL.md +8 -8
- package/docs/zh-CN/install.md +80 -48
- package/install.sh +34 -81
- package/package.json +60 -5
- package/src/agent/claudecode.js +32 -3
- package/src/agent/claudemodels.js +60 -0
- package/src/agent/claudestatus.js +74 -0
- package/src/agent/claudeusage.js +200 -0
- package/src/agent/codexapp.js +21 -4
- package/src/agent/codexcode.js +8 -3
- package/src/agent/codexstatus.js +181 -0
- package/src/agent/privatecore.js +1 -1
- package/src/agent/privatecore.wasm +0 -0
- package/src/c2configcontrol.js +214 -0
- package/src/c2console.js +149 -0
- package/src/c2incident.js +125 -0
- package/src/c2install.js +247 -37
- package/src/c2migration.js +100 -0
- package/src/c2multigroupcapacity.js +103 -0
- package/src/c2multigroupservice.js +418 -0
- package/src/cdp.js +254 -0
- package/src/config.js +13 -2
- package/src/core/c2durablejournal.js +26 -9
- package/src/core/c2durableruntime.js +104 -1
- package/src/core/c2inputrejection.js +45 -0
- package/src/core/c2localeffectexecutor.js +12 -1
- package/src/core/c2payloadhandles.js +11 -0
- package/src/core/c2persistrelation.js +20 -0
- package/src/core/c2persiststate.js +28 -2
- package/src/core/c2platformrecoverysender.js +1 -1
- package/src/core/c2sourcequarantine.js +56 -1
- package/src/core/c2terminalprune.js +2 -1
- package/src/core/engineslotsadapter.js +108 -0
- package/src/core/issues.js +185 -0
- package/src/core/ledger.js +30 -0
- package/src/core/proxy.js +424 -0
- package/src/core/store.js +12 -0
- package/src/core/v2engine.js +427 -31
- package/src/design.js +5161 -0
- package/src/gitrepo.js +150 -0
- package/src/leftover.js +174 -0
- package/src/platform/slack.js +1294 -0
- package/src/platform/wecom.js +961 -0
- package/src/platform/wecomcli.js +128 -0
- package/src/platform/wecomname.js +43 -0
- package/src/platform/wecompoll.js +241 -0
- package/src/preview.js +581 -0
- package/src/projectmemory.js +175 -0
- package/src/ui/auth.js +31 -0
- package/src/ui/browser.html +392 -0
- package/src/ui/browserroutes.js +234 -0
- package/src/ui/console.html +5719 -0
- package/src/ui/dashboard.js +168 -0
- package/src/ui/feishulogin.js +136 -0
- package/src/ui/serverbase.js +2371 -0
- package/src/ui/sessions.js +78 -0
- package/src/ui/takeover.js +108 -0
- package/src/usage.js +144 -0
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 复古印刷
|
|
3
|
+
description: Riso 孔版双色印刷——真实油墨色、网点纹理、轻微套印错位,独立 zine 的粗粝浪漫
|
|
4
|
+
name_en: "Riso Print"
|
|
5
|
+
description_en: "Two-color Risograph printing: real ink colors, halftone texture and slight misregistration. The rough romance of an indie zine."
|
|
6
|
+
suits: "生图插画 · 活动推广"
|
|
7
|
+
colors:
|
|
8
|
+
paper: "#F3EEE2"
|
|
9
|
+
ink-blue: "#0078BF"
|
|
10
|
+
ink-pink: "#FF48B0"
|
|
11
|
+
ink-orange: "#FF6C2F"
|
|
12
|
+
ink-black: "#1A1A1A"
|
|
13
|
+
fonts:
|
|
14
|
+
cjk: sans
|
|
15
|
+
typography:
|
|
16
|
+
headline:
|
|
17
|
+
latin: "'Cooper Hewitt', 'GT Pressura'"
|
|
18
|
+
fontSize: "44px"
|
|
19
|
+
fontWeight: 700
|
|
20
|
+
body:
|
|
21
|
+
fontSize: "16px"
|
|
22
|
+
lineHeight: 1.55
|
|
23
|
+
measure: "56ch"
|
|
24
|
+
fontWeight: 400
|
|
25
|
+
mono:
|
|
26
|
+
latin: "'IBM Plex Mono'"
|
|
27
|
+
fontWeight: 400
|
|
28
|
+
border:
|
|
29
|
+
width: "0px"
|
|
30
|
+
style: solid
|
|
31
|
+
emphasis: "0px"
|
|
32
|
+
rounded:
|
|
33
|
+
none: 0px
|
|
34
|
+
spacing:
|
|
35
|
+
unit: 8px
|
|
36
|
+
omitted: ["Components"]
|
|
37
|
+
imagery:
|
|
38
|
+
ratio: "1:1"
|
|
39
|
+
treatment: halftone
|
|
40
|
+
crop: hard
|
|
41
|
+
icon:
|
|
42
|
+
style: solid
|
|
43
|
+
strokeWidth: "2px"
|
|
44
|
+
linecap: butt
|
|
45
|
+
corner: sharp
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Overview
|
|
49
|
+
|
|
50
|
+
参照物:80 年代大学讲义的油印质感、独立出版 zine、日本 riso 工作室的双色海报。
|
|
51
|
+
Riso 的美学全部来自限制:一次只印一色、油墨半透明、套印会错位、实色会有网点。
|
|
52
|
+
选两个油墨色,把这些「缺陷」当作语言,粗粝但被精心控制。
|
|
53
|
+
|
|
54
|
+
## Colors
|
|
55
|
+
|
|
56
|
+
- **paper (#F3EEE2)**:再生纸的米黄底。
|
|
57
|
+
- 油墨四选二:**ink-blue (#0078BF)**、**ink-pink (#FF48B0)**、**ink-orange (#FF6C2F)**、**ink-black (#1A1A1A)**——蓝/粉/橙是真实 riso 油墨的标准色号,别自调;黑刻意用近黑(纯黑在纸上并不存在)。
|
|
58
|
+
- 双色叠印出第三色(蓝×粉=深紫调),是免费的丰富度;大面积实色要带网点感(50-80% 网点)。
|
|
59
|
+
- 一图恒定两油墨 + 纸色,没有例外。
|
|
60
|
+
|
|
61
|
+
## Typography
|
|
62
|
+
|
|
63
|
+
- 粗壮的印刷感无衬线(拉丁 Cooper Hewitt/GT Pressura 一路,中文系统黑体 Bold:苹方 / 微软雅黑,思源黑体兜底);等宽字体做编号、日期等「档案感」信息;中文没有等宽族,夹在里面的汉字兜到系统黑体。
|
|
64
|
+
- 文字直接用油墨色印,大标题可做 1-2px 的套印错位(两色版本轻微offset)。
|
|
65
|
+
|
|
66
|
+
## Layout
|
|
67
|
+
|
|
68
|
+
- 版面像印刷品不像屏幕:通栏大标题、粗规矩的分栏、页码页眉一应俱全。
|
|
69
|
+
- 图像处理成单色网点版(halftone)再套油墨色;照片不以全彩出现。
|
|
70
|
+
- 大色块 + 反白字是 riso 的强项,敢用。
|
|
71
|
+
|
|
72
|
+
## Elevation & Depth
|
|
73
|
+
|
|
74
|
+
孔版印刷是单层纸,**物理上不存在深度**。层级全部由工艺提供,三样:
|
|
75
|
+
|
|
76
|
+
1. **叠印**:两个油墨色的重叠区自然生成第三色(蓝 × 粉 = 深紫调)。重叠区是画面上最「重」
|
|
77
|
+
的地方——主体压在哪里,哪里就是视觉中心。
|
|
78
|
+
2. **网点密度**:这是它的明度台阶。**80% 网点比 50% 重**;同一个油墨色靠 30 / 50 / 80 三档网点
|
|
79
|
+
就能拉出三个层级,不用另调颜色。
|
|
80
|
+
3. **纸色留白**:未上墨的 paper `#F3EEE2` 恒为最底层,也是唯一的「后退」手段。
|
|
81
|
+
|
|
82
|
+
Don't:任何 box-shadow(油印做不出投影,加了立刻变数字味);用半透明模拟层次
|
|
83
|
+
(油墨是**叠印**不是混色,半透明会出中间灰,而 riso 没有灰)。
|
|
84
|
+
|
|
85
|
+
## Shapes
|
|
86
|
+
|
|
87
|
+
形状语言 = **制版印得出来的东西**:实心块、粗线、网点面。
|
|
88
|
+
|
|
89
|
+
- **圆角恒 0**(`rounded.none`);`border.width: 0` 是认真的——这个风格**不描边**,
|
|
90
|
+
形状靠色块自身的边界成立。
|
|
91
|
+
- **线条**:最细 2px(1px 线在油印上会断),端点 butt、直角相交;**不用虚线**
|
|
92
|
+
(虚线遇上套印错位会碎成乱点)。
|
|
93
|
+
- **边缘允许 1-2px 的套印错位**,这是形状语言的一部分,不是瑕疵——但整张图错位方向要一致。
|
|
94
|
+
- **允许的形状**:矩形、正圆、粗箭头、网点密度渐变带。不用细腻曲线与小圆角,制版分辨率吃不下。
|
|
95
|
+
- **图标**:跟着制版走——**实心块造形**,不描细边;非画线不可时最细 2px、端点 butt、直角相交。
|
|
96
|
+
线描图标印不出来:1px 的边在纸上会断,套印一错位就碎。
|
|
97
|
+
|
|
98
|
+
## Do's and Don'ts
|
|
99
|
+
|
|
100
|
+
- Don't:超过两个油墨色;渐变(riso 的「渐变」只能是网点密度渐变)。
|
|
101
|
+
- Don't:假做旧滤镜(划痕、咖啡渍、揉纸效果)——riso 的旧来自工艺,不来自贴图。
|
|
102
|
+
- Don't:光滑的数字纯色平涂;实色区域必须有油墨的不均匀与网点。
|
|
103
|
+
- Don't:细字重(300 以下)——油印糊掉细节,细字是工艺不允许的。
|
|
104
|
+
- Do:套印错位控制在「刚能察觉」的程度(1-2px),错太多是印坏了。
|
|
105
|
+
- Do:利用叠印色做层次:两色 + 叠印色 + 纸色 = 四个层级,够用。
|
|
106
|
+
|
|
107
|
+
## Composition
|
|
108
|
+
|
|
109
|
+
- 海报:一个网点化的大图像主体 + 通栏粗标题 + 档案感小字(编号/日期),像一页被认真印出来的 zine。
|
|
110
|
+
- 图解:粗线条图形 + 网点填充,标注用等宽字体。
|
|
111
|
+
|
|
112
|
+
## Image Prompt Templates
|
|
113
|
+
|
|
114
|
+
- base: "risograph print poster, two-ink design in riso blue (#0078BF) and fluorescent pink (#FF48B0) on off-white recycled paper (#F3EEE2), visible halftone dots, slight registration misalignment, ink overprint creating a third color, bold chunky sans-serif typography, grainy ink texture, independent zine aesthetic, 1980s duplicator print"
|
|
115
|
+
- negative: "full color photo, smooth digital flat color, gradient, fake vintage scratches and coffee stains, thin delicate typography, glossy, 3D"
|
|
116
|
+
- 注:换油墨组合时同步改 base 里的两个色名与 hex;两色纪律写死在描述里("exactly two ink colors")。
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 圆融亲和
|
|
3
|
+
description: 消费品与教育产品的温软圆润——奶白底、珊瑚与薄荷、大圆角,亲切但不幼稚
|
|
4
|
+
name_en: "Soft & Friendly"
|
|
5
|
+
description_en: "The soft roundness of consumer and education products: milk-white ground, coral and mint, and generous corners. Warm without being childish."
|
|
6
|
+
suits: "工具产品 · 品牌门面"
|
|
7
|
+
colors:
|
|
8
|
+
cream: "#FFFDF8"
|
|
9
|
+
ink: "#3A4254"
|
|
10
|
+
coral: "#F97A6C"
|
|
11
|
+
mint: "#7FD8BE"
|
|
12
|
+
butter: "#FFD98E"
|
|
13
|
+
line: "#E8E2D6"
|
|
14
|
+
fonts:
|
|
15
|
+
latin: "'Nunito'"
|
|
16
|
+
cjk: rounded
|
|
17
|
+
typography:
|
|
18
|
+
headline:
|
|
19
|
+
latin: "'Nunito', 'Quicksand'"
|
|
20
|
+
fontSize: "24px"
|
|
21
|
+
fontWeight: 700
|
|
22
|
+
body:
|
|
23
|
+
fontSize: "16px"
|
|
24
|
+
lineHeight: 1.75
|
|
25
|
+
measure: "50ch"
|
|
26
|
+
fontWeight: 400
|
|
27
|
+
label:
|
|
28
|
+
fontWeight: 600
|
|
29
|
+
border:
|
|
30
|
+
width: "1px"
|
|
31
|
+
style: solid
|
|
32
|
+
emphasis: "2px"
|
|
33
|
+
rounded:
|
|
34
|
+
md: 12px
|
|
35
|
+
lg: 20px
|
|
36
|
+
full: 999px
|
|
37
|
+
spacing:
|
|
38
|
+
unit: 8px
|
|
39
|
+
imagery:
|
|
40
|
+
ratio: "1:1"
|
|
41
|
+
treatment: none
|
|
42
|
+
crop: rounded
|
|
43
|
+
icon:
|
|
44
|
+
style: line
|
|
45
|
+
strokeWidth: "2px"
|
|
46
|
+
linecap: round
|
|
47
|
+
corner: round
|
|
48
|
+
components:
|
|
49
|
+
card:
|
|
50
|
+
backgroundColor: "{colors.cream}"
|
|
51
|
+
textColor: "{colors.ink}"
|
|
52
|
+
typography: "{typography.body}"
|
|
53
|
+
rounded: "{rounded.lg}"
|
|
54
|
+
padding: "24px"
|
|
55
|
+
button-primary:
|
|
56
|
+
backgroundColor: "{colors.coral}"
|
|
57
|
+
textColor: "{colors.ink}"
|
|
58
|
+
typography: "{typography.label}"
|
|
59
|
+
rounded: "{rounded.full}"
|
|
60
|
+
height: "44px"
|
|
61
|
+
padding: "24px"
|
|
62
|
+
button-secondary:
|
|
63
|
+
backgroundColor: "{colors.mint}"
|
|
64
|
+
textColor: "{colors.ink}"
|
|
65
|
+
typography: "{typography.label}"
|
|
66
|
+
rounded: "{rounded.full}"
|
|
67
|
+
height: "44px"
|
|
68
|
+
padding: "24px"
|
|
69
|
+
input-field:
|
|
70
|
+
backgroundColor: "{colors.cream}"
|
|
71
|
+
textColor: "{colors.ink}"
|
|
72
|
+
typography: "{typography.body}"
|
|
73
|
+
rounded: "{rounded.md}"
|
|
74
|
+
height: "44px"
|
|
75
|
+
padding: "16px"
|
|
76
|
+
tag:
|
|
77
|
+
backgroundColor: "{colors.butter}"
|
|
78
|
+
textColor: "{colors.ink}"
|
|
79
|
+
typography: "{typography.label}"
|
|
80
|
+
rounded: "{rounded.full}"
|
|
81
|
+
height: "28px"
|
|
82
|
+
padding: "12px"
|
|
83
|
+
avatar:
|
|
84
|
+
rounded: "{rounded.full}"
|
|
85
|
+
size: "40px"
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Overview
|
|
89
|
+
|
|
90
|
+
参照物:做得体面的儿童教育 App、健康食品包装、日系文具品牌。
|
|
91
|
+
圆是这个风格的核心词:圆角、圆形色块、圆头线条、圆润字体。
|
|
92
|
+
但「亲和」靠的是低饱和的暖色与充足留白——饱和度一拉高就成了廉价玩具。
|
|
93
|
+
|
|
94
|
+
## Colors
|
|
95
|
+
|
|
96
|
+
- **cream (#FFFDF8)**:奶白底,暖而不黄。
|
|
97
|
+
- **ink (#3A4254)**:蓝灰墨色文字——比纯黑柔和,是「不幼稚」的关键一票。
|
|
98
|
+
- **coral (#F97A6C)**:珊瑚主色,按钮与重点。
|
|
99
|
+
- **mint (#7FD8BE) / butter (#FFD98E)**:薄荷与奶油黄,辅助色块与插画配色。
|
|
100
|
+
- **line (#E8E2D6)**:温暖的描边与分隔线。
|
|
101
|
+
- 配色纪律:一图一主色(coral),辅助色出现在插画与小标签里;三彩色齐上阵的场合要拉开面积比例。
|
|
102
|
+
|
|
103
|
+
## Typography
|
|
104
|
+
|
|
105
|
+
- 圆体系:拉丁 Nunito/Quicksand,中文走系统圆体(圆体-简),取不到再落苹方 / 微软雅黑 —— 圆黑更佳;标题 700 但字号别过大——这个风格音量是中等的。
|
|
106
|
+
- 全部字色用 ink 蓝灰,彩色文字只出现在标签胶囊里。
|
|
107
|
+
|
|
108
|
+
## Layout
|
|
109
|
+
|
|
110
|
+
- 圆角统一档位:卡片 20px、按钮胶囊、小元素 12px——**同屏别混第三种圆角**。
|
|
111
|
+
- 元素之间留白充足(16px 起步),挤密与亲和不共存。
|
|
112
|
+
- 插画风格:圆头粗线 + 平涂 + 少量脸部表情(两点一线的极简脸,不是大眼萌系)。
|
|
113
|
+
|
|
114
|
+
## Elevation & Depth
|
|
115
|
+
|
|
116
|
+
允许**一层**柔投影,且**只有一层**——这是「亲和」与「廉价果冻感」的分界线。
|
|
117
|
+
|
|
118
|
+
- **卡片是唯一投影的地方**:key 阴影 `0 1px 2px rgba(58,66,84,0.30)` +
|
|
119
|
+
ambient 阴影 `0 2px 6px 2px rgba(58,66,84,0.15)`。
|
|
120
|
+
- **柔投影本质是两层**:近而实的 key + 远而散的 ambient,只画一层会显得硬。
|
|
121
|
+
(依据:Material 3 每一档 elevation 都是 key 0.3 + ambient 0.15 两层;
|
|
122
|
+
Adobe Spectrum 2 逐字说是 key + ambient + transition 三层。)
|
|
123
|
+
- **阴影色取 ink 蓝灰 `#3A4254`,不是纯黑**——纯黑投影落在奶白底 `#FFFDF8` 上会发灰发脏。
|
|
124
|
+
- **按钮不投影**。按钮的分量来自 coral 实色本身,不来自浮起。
|
|
125
|
+
- **按下 = 背景色加深一档**(coral → 约 `#E86657`),不是加深阴影、不是位移。
|
|
126
|
+
|
|
127
|
+
Don't:卡片里套卡片;多层投影堆出立体按钮。
|
|
128
|
+
|
|
129
|
+
## Shapes
|
|
130
|
+
|
|
131
|
+
形状语言 = **圆**:圆角、圆形色块、圆头线条、圆润字体,四件事说的是同一个词。
|
|
132
|
+
|
|
133
|
+
- **三档分工**:`md 12px` 给输入框/标签/小元素,`lg 20px` 给卡片与图片,
|
|
134
|
+
`full 999px` **只给按钮胶囊、头像、圆点**——**矩形卡片永远不许用 full**。
|
|
135
|
+
- **同心嵌套**:外圆角 − 内边距 = 内圆角(M3 optical roundness / Apple HIG concentricity)。
|
|
136
|
+
20px 圆角的卡片 + 8px 内边距 ⇒ 内层元素正好 12px(`md` 档);内边距要开到 16px 时,
|
|
137
|
+
内层就别再套带底色的容器,直接裸放内容,免得出现第四种圆角。
|
|
138
|
+
- **线条**:1.5-2px,端点 **round**(`stroke-linecap: round`),贯彻到图标、箭头、下划线、
|
|
139
|
+
图表线——出现一个平头端点就破功。
|
|
140
|
+
- **允许的形状**:圆角矩形、正圆、胶囊、圆头弧线与波浪。**不出现锐角三角形**;
|
|
141
|
+
需要箭头时用圆头折线代替三角箭头。
|
|
142
|
+
- **图标**:线性圆头,2px 描边、端点与转角**都是 round**,24px 网格上画;实心图标和锐角三角
|
|
143
|
+
一个下场——一出现就硬了。
|
|
144
|
+
|
|
145
|
+
## Components
|
|
146
|
+
|
|
147
|
+
- **按钮**:44px 高胶囊 + 左右 24px 内边距,coral 实色 + **ink 字**。
|
|
148
|
+
白字在 coral 上只有 2.6:1,ink 是 3.8:1(16px / 600 字重按大文本判定达标)——所以按钮字用 ink。
|
|
149
|
+
- **按钮交互**:hover 背景提亮约 8%,按下背景加深一档(约 `#E86657`);两态都不动阴影、不动位置。
|
|
150
|
+
- **输入框**:44px 高、**12px 圆角(不用胶囊)**——胶囊输入框会让光标起始位置变得暧昧;
|
|
151
|
+
cream 底 + 1px line 描边,聚焦时描边换 coral 并加粗到 2px。
|
|
152
|
+
- **卡片**:20px 圆角 + 24px 内边距 + 唯一那层柔投影,卡片之间至少 16px。
|
|
153
|
+
- **标签**:28px 胶囊,butter 或 mint 底 + ink 字,一屏 ≤3 个。
|
|
154
|
+
- **头像**:正圆 40px,不加描边不加投影。
|
|
155
|
+
|
|
156
|
+
## Do's and Don'ts
|
|
157
|
+
|
|
158
|
+
- Don't:高饱和彩虹全家桶(纯红纯蓝纯黄挤一屏)。
|
|
159
|
+
- Don't:大眼睛萌系吉祥物、emoji 表情当插画。
|
|
160
|
+
- Don't:投影堆叠的「果冻感」立体按钮;浮起感最多一层淡投影。
|
|
161
|
+
- Don't:纯黑文字、锐利直角元素乱入。
|
|
162
|
+
- Do:圆头线条(stroke linecap round)贯彻到图标、箭头、下划线。
|
|
163
|
+
- Do:用留白与淡色线维持秩序,亲和的底子是整洁。
|
|
164
|
+
|
|
165
|
+
## Composition
|
|
166
|
+
|
|
167
|
+
- 界面/卡片:奶白底 + 圆角卡 + 一个珊瑚色主按钮,插画点缀在角落不抢主体。
|
|
168
|
+
- 插画场景:主角居中、配角环绕,地面用一条 mint 或 butter 的圆角色带交代。
|
|
169
|
+
|
|
170
|
+
## Image Prompt Templates
|
|
171
|
+
|
|
172
|
+
- base: "friendly rounded illustration style, warm cream background (#FFFDF8), soft coral (#F97A6C) and mint (#7FD8BE) palette with muted saturation, thick round-capped outlines in blue-gray (#3A4254), generous rounded corners, simple dot-eyes minimal faces, clean and airy layout, tasteful children's-education-app aesthetic, flat with at most one soft shadow"
|
|
173
|
+
- negative: "oversaturated rainbow colors, big anime eyes mascot, emoji, jelly 3D buttons, harsh black outlines, cluttered layout, sharp corners"
|
|
174
|
+
- 注:饱和度是这个风格的生死线——描述里保留 "muted saturation";出图太艳就再加 "pastel, low saturation"。
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 瑞士网格
|
|
3
|
+
description: 国际主义排版风格——严格网格、大量留白、单一强调色,冷静克制的现代主义
|
|
4
|
+
name_en: "Swiss Grid"
|
|
5
|
+
description_en: "The International Typographic Style: a strict grid, plenty of white space and a single accent color. Calm, restrained modernism."
|
|
6
|
+
suits: "内容阅读 · 品牌门面"
|
|
7
|
+
colors:
|
|
8
|
+
primary: "#111418"
|
|
9
|
+
secondary: "#5C6066"
|
|
10
|
+
accent: "#D93025"
|
|
11
|
+
neutral: "#F4F3EF"
|
|
12
|
+
line: "#C9C7C0"
|
|
13
|
+
fonts:
|
|
14
|
+
latin: "'Neue Haas Grotesk', 'Helvetica Neue'"
|
|
15
|
+
cjk: sans
|
|
16
|
+
typography:
|
|
17
|
+
headline:
|
|
18
|
+
fontSize: "48px"
|
|
19
|
+
fontWeight: 700
|
|
20
|
+
letterSpacing: "-0.02em"
|
|
21
|
+
body:
|
|
22
|
+
fontSize: "16px"
|
|
23
|
+
lineHeight: 1.6
|
|
24
|
+
measure: "66ch"
|
|
25
|
+
fontWeight: 400
|
|
26
|
+
label:
|
|
27
|
+
fontWeight: 500
|
|
28
|
+
letterSpacing: "0.08em"
|
|
29
|
+
border:
|
|
30
|
+
width: "1px"
|
|
31
|
+
style: solid
|
|
32
|
+
emphasis: "1px"
|
|
33
|
+
rounded:
|
|
34
|
+
none: 0px
|
|
35
|
+
spacing:
|
|
36
|
+
unit: 8px
|
|
37
|
+
imagery:
|
|
38
|
+
ratio: "3:2"
|
|
39
|
+
treatment: grayscale
|
|
40
|
+
crop: hard
|
|
41
|
+
icon:
|
|
42
|
+
style: line
|
|
43
|
+
strokeWidth: "1px"
|
|
44
|
+
linecap: butt
|
|
45
|
+
corner: sharp
|
|
46
|
+
components:
|
|
47
|
+
button-primary:
|
|
48
|
+
backgroundColor: "{colors.primary}"
|
|
49
|
+
textColor: "{colors.neutral}"
|
|
50
|
+
typography: "{typography.label}"
|
|
51
|
+
rounded: "{rounded.none}"
|
|
52
|
+
height: "40px"
|
|
53
|
+
padding: "20px"
|
|
54
|
+
button-primary-hover:
|
|
55
|
+
backgroundColor: "{colors.accent}"
|
|
56
|
+
button-secondary:
|
|
57
|
+
backgroundColor: "{colors.neutral}"
|
|
58
|
+
textColor: "{colors.primary}"
|
|
59
|
+
typography: "{typography.label}"
|
|
60
|
+
rounded: "{rounded.none}"
|
|
61
|
+
height: "40px"
|
|
62
|
+
padding: "20px"
|
|
63
|
+
input-field:
|
|
64
|
+
backgroundColor: "{colors.neutral}"
|
|
65
|
+
textColor: "{colors.primary}"
|
|
66
|
+
typography: "{typography.body}"
|
|
67
|
+
rounded: "{rounded.none}"
|
|
68
|
+
height: "40px"
|
|
69
|
+
padding: "12px"
|
|
70
|
+
tag:
|
|
71
|
+
backgroundColor: "{colors.accent}"
|
|
72
|
+
textColor: "{colors.neutral}"
|
|
73
|
+
typography: "{typography.label}"
|
|
74
|
+
rounded: "{rounded.none}"
|
|
75
|
+
height: "24px"
|
|
76
|
+
padding: "8px"
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Overview
|
|
80
|
+
|
|
81
|
+
参照物:1960 年代 Josef Müller-Brockmann 的音乐厅招贴、苏黎世设计学院的展览目录。
|
|
82
|
+
一切秩序来自网格与字号,而不是装饰。纸感的暖白底、近黑的墨色文字、唯一一点红。
|
|
83
|
+
气质是「工程师的冷静」——信息密度可以高,但每一毫米都有依据。
|
|
84
|
+
|
|
85
|
+
## Colors
|
|
86
|
+
|
|
87
|
+
- **primary (#111418)**:近黑墨色,承担 90% 的文字与图形。
|
|
88
|
+
- **secondary (#5C6066)**:注释、次级信息的中灰。
|
|
89
|
+
- **accent (#D93025)**:全局唯一的强调红,一张图里出现不超过两处(一个标题词、一条线、一个箭头)。红是信号,不是装饰。
|
|
90
|
+
- **neutral (#F4F3EF)**:暖白纸底。不用纯白 #FFF——纸感来自这一点点暖。
|
|
91
|
+
- **line (#C9C7C0)**:网格线、分隔线专用,细而浅。
|
|
92
|
+
|
|
93
|
+
## Typography
|
|
94
|
+
|
|
95
|
+
- 无衬线一族走到底:拉丁 Neue Haas Grotesk / Helvetica,中文系统黑体(苹方 / 微软雅黑,思源黑体在栈尾兜底)。
|
|
96
|
+
- 层级只靠字号与字重拉开(大标题可以非常大,与正文形成 4 倍以上的反差),不靠颜色和斜体。
|
|
97
|
+
- label 类小字全大写(拉丁)+ 加宽字距,是这个风格的签名细节。
|
|
98
|
+
|
|
99
|
+
## Layout
|
|
100
|
+
|
|
101
|
+
- 严格的列网格(海报 6 列、界面 12 列),元素必须落在网格线上;留白占版面 40% 以上。
|
|
102
|
+
- 齐左不齐右(拉丁);对齐是唯一的装饰。
|
|
103
|
+
- 图片裁成网格整数倍的矩形,不加边框不加圆角不加投影。
|
|
104
|
+
|
|
105
|
+
## Elevation & Depth
|
|
106
|
+
|
|
107
|
+
深度**不存在**。这是印刷品,纸只有一层。
|
|
108
|
+
|
|
109
|
+
- **Level 0 是唯一一层**:所有内容直接落在 neutral 纸底上,没有第二层底色。
|
|
110
|
+
- 分区只有两种手段:**一条 1px 的 line 横线**,或**一整段留白**(≥3 倍常规间距 = 24px 起)。
|
|
111
|
+
二者等效,**优先留白**。
|
|
112
|
+
- 主次靠字号跳跃(48/16,4 倍差)与 accent 红的位置——红落在哪里,哪里就是第一视线。
|
|
113
|
+
- 需要一个区块看起来独立时:加一条线,或多留 3 倍的白。**不要把它变成卡片。**
|
|
114
|
+
|
|
115
|
+
Don't:任何 box-shadow(哪怕 1px 模糊);白卡叠在白底上制造「浮起」的错觉。
|
|
116
|
+
|
|
117
|
+
## Shapes
|
|
118
|
+
|
|
119
|
+
形状语言 = **网格切出来的矩形**。
|
|
120
|
+
|
|
121
|
+
- **圆角恒 0**(`rounded.none`),包括图片、输入框、头像。圆角一出现,秩序感就换成了亲和感。
|
|
122
|
+
- **线条只有一种**:1px 实线 line 色,端点 butt(平头),只走水平或垂直;不用虚线、不用斜线。
|
|
123
|
+
- 描边用得极省:图片不描边、区块不描边。线只用来**分隔**,不用来**包围**。
|
|
124
|
+
- 允许的形状:矩形、正圆(仅作图表数据点)、实心三角(仅作箭头)。装饰性图形一个都没有。
|
|
125
|
+
- **图标**:与网格线同一支笔——1px 实线、端点 butt(平头)、转角直角,不圆头也不填实心。
|
|
126
|
+
图标是标识不是装饰件,能用文字说清的地方就不要图标。
|
|
127
|
+
|
|
128
|
+
## Components
|
|
129
|
+
|
|
130
|
+
- **按钮**:方角实心块,高 40px、左右内边距 20px。主按钮 primary 底 + neutral 字;
|
|
131
|
+
hover **换成 accent 红**(不是变深)——这个风格里状态变化是换色,不是加效果。
|
|
132
|
+
- **次级按钮**:同尺寸,neutral 底 + 1px line 描边 + primary 字。层级差别只在填色。
|
|
133
|
+
- **输入框**:与按钮同高(40px),只画**底部一条 1px line**;聚焦时线换 primary 并加粗到 2px,
|
|
134
|
+
**不加外发光、不加背景色变化**。
|
|
135
|
+
- **标签**:accent 实色小块,高 24px。一屏最多一个——它和红标题共用「唯一强调」的配额。
|
|
136
|
+
- 所有控件高度取 `spacing.unit` 的整数倍(24 / 40 / 48),对不齐网格的控件不要出现。
|
|
137
|
+
|
|
138
|
+
## Do's and Don'ts
|
|
139
|
+
|
|
140
|
+
- Don't:任何渐变、任何投影、任何圆角。
|
|
141
|
+
- Don't:第二种强调色。红已经在了,想加蓝的时候删一个元素。
|
|
142
|
+
- Don't:斜体、艺术字、描边字。
|
|
143
|
+
- Don't:居中排版(标题正文全部齐左;居中只允许出现在单行封面字)。
|
|
144
|
+
- Do:敢留白,敢把标题放大到「有点过分」的程度。
|
|
145
|
+
- Do:用一条 1px 的线解决所有分区需求。
|
|
146
|
+
|
|
147
|
+
## Composition
|
|
148
|
+
|
|
149
|
+
- 单主体、强轴线:主体沿网格垂直/水平轴放置,视线路径从大字号向小字号流动。
|
|
150
|
+
- 摄影素材转黑白或单色化处理后再进版面,避免彩色照片打破配色纪律。
|
|
151
|
+
|
|
152
|
+
## Image Prompt Templates
|
|
153
|
+
|
|
154
|
+
- base: "Swiss International Typographic Style poster, strict grid layout, generous negative space, warm off-white paper background (#F4F3EF), near-black ink text (#111418), a single red accent (#D93025), Helvetica-style grotesque typography, flat, no gradients, no shadows, precise and rational, 1960s Zurich design school aesthetic"
|
|
155
|
+
- negative: "gradient, drop shadow, rounded corners, multiple bright colors, 3D render, glossy, clip art, emoji"
|
|
156
|
+
- 注:生成带中文文字的版面时,在 base 里补 "clean CJK sans-serif typography";文字宁少勿多。
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 科技深色
|
|
3
|
+
description: 克制的深色科技界面——石墨蓝底、高可读文字、一点数据青,像专业监控台而非霓虹夜店
|
|
4
|
+
name_en: "Tech Dark"
|
|
5
|
+
description_en: "A restrained dark technical interface: graphite-blue ground, highly legible text and a hint of data cyan. A professional monitoring console, not a neon nightclub."
|
|
6
|
+
suits: "工具产品"
|
|
7
|
+
colors:
|
|
8
|
+
bg: "#0B0E14"
|
|
9
|
+
surface: "#151A23"
|
|
10
|
+
primary: "#E6EAF2"
|
|
11
|
+
secondary: "#8A93A6"
|
|
12
|
+
accent: "#2DD4BF"
|
|
13
|
+
line: "#232B38"
|
|
14
|
+
fonts:
|
|
15
|
+
latin: "'IBM Plex Sans'"
|
|
16
|
+
cjk: sans
|
|
17
|
+
typography:
|
|
18
|
+
headline:
|
|
19
|
+
fontSize: "24px"
|
|
20
|
+
fontWeight: 600
|
|
21
|
+
body:
|
|
22
|
+
fontSize: "14px"
|
|
23
|
+
lineHeight: 1.7
|
|
24
|
+
measure: "72ch"
|
|
25
|
+
fontWeight: 400
|
|
26
|
+
data:
|
|
27
|
+
latin: "'IBM Plex Mono', 'JetBrains Mono'"
|
|
28
|
+
fontWeight: 500
|
|
29
|
+
border:
|
|
30
|
+
width: "1px"
|
|
31
|
+
style: solid
|
|
32
|
+
emphasis: "1px"
|
|
33
|
+
rounded:
|
|
34
|
+
sm: 6px
|
|
35
|
+
md: 10px
|
|
36
|
+
spacing:
|
|
37
|
+
unit: 8px
|
|
38
|
+
status:
|
|
39
|
+
warning: "#F2B26B"
|
|
40
|
+
imagery:
|
|
41
|
+
ratio: "16:9"
|
|
42
|
+
treatment: none
|
|
43
|
+
crop: rounded
|
|
44
|
+
icon:
|
|
45
|
+
style: line
|
|
46
|
+
strokeWidth: "1.5px"
|
|
47
|
+
linecap: butt
|
|
48
|
+
corner: sharp
|
|
49
|
+
components:
|
|
50
|
+
card:
|
|
51
|
+
backgroundColor: "{colors.surface}"
|
|
52
|
+
textColor: "{colors.primary}"
|
|
53
|
+
typography: "{typography.body}"
|
|
54
|
+
rounded: "{rounded.md}"
|
|
55
|
+
padding: "16px"
|
|
56
|
+
button-primary:
|
|
57
|
+
backgroundColor: "{colors.surface}"
|
|
58
|
+
textColor: "{colors.primary}"
|
|
59
|
+
typography: "{typography.body}"
|
|
60
|
+
rounded: "{rounded.sm}"
|
|
61
|
+
height: "32px"
|
|
62
|
+
padding: "12px"
|
|
63
|
+
button-primary-hover:
|
|
64
|
+
backgroundColor: "{colors.line}"
|
|
65
|
+
button-secondary:
|
|
66
|
+
backgroundColor: "{colors.bg}"
|
|
67
|
+
textColor: "{colors.secondary}"
|
|
68
|
+
typography: "{typography.body}"
|
|
69
|
+
rounded: "{rounded.sm}"
|
|
70
|
+
height: "32px"
|
|
71
|
+
padding: "12px"
|
|
72
|
+
input-field:
|
|
73
|
+
backgroundColor: "{colors.bg}"
|
|
74
|
+
textColor: "{colors.primary}"
|
|
75
|
+
typography: "{typography.body}"
|
|
76
|
+
rounded: "{rounded.sm}"
|
|
77
|
+
height: "32px"
|
|
78
|
+
padding: "10px"
|
|
79
|
+
tag:
|
|
80
|
+
backgroundColor: "{colors.surface}"
|
|
81
|
+
textColor: "{colors.accent}"
|
|
82
|
+
typography: "{typography.data}"
|
|
83
|
+
rounded: "{rounded.sm}"
|
|
84
|
+
height: "20px"
|
|
85
|
+
padding: "8px"
|
|
86
|
+
metric-value:
|
|
87
|
+
textColor: "{colors.accent}"
|
|
88
|
+
typography: "{typography.data}"
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Overview
|
|
92
|
+
|
|
93
|
+
参照物:专业交易终端、航天任务控制室的屏幕、开发者工具的深色主题。
|
|
94
|
+
深色不是为了酷,是为了让数据发光。底色是带一点蓝的石墨,不是纯黑;
|
|
95
|
+
强调色是冷静的数据青,只给「活的数据」用。整体气质:值夜班的工程师信得过的界面。
|
|
96
|
+
|
|
97
|
+
## Colors
|
|
98
|
+
|
|
99
|
+
- **bg (#0B0E14) / surface (#151A23)**:两级深底,卡片浮起靠这一档明度差,不靠投影。
|
|
100
|
+
- **primary (#E6EAF2)**:正文亮灰白。别用纯白 #FFF,刺眼。
|
|
101
|
+
- **secondary (#8A93A6)**:标签、说明文字。
|
|
102
|
+
- **accent (#2DD4BF)**:数据青。只用于数值、活动状态、图表主线——按钮和标题不抢它。
|
|
103
|
+
- **warning (#F2B26B,在顶层 `status:` 段)**:告警琥珀,与青色天然区分(bg 上 10.5:1)。错误可再深一档到红,但一张图里红是稀客。
|
|
104
|
+
- **line (#232B38)**:分隔线与描边。深色界面的秩序靠线,不靠色块。
|
|
105
|
+
|
|
106
|
+
## Typography
|
|
107
|
+
|
|
108
|
+
- 界面文字 IBM Plex Sans + 系统黑体(苹方 / 微软雅黑,思源黑体兜底);**所有数值一律等宽字体**(IBM Plex Mono / JetBrains Mono)——数字会对齐、会跳动,等宽是专业感的一半;中文没有等宽族,夹在数值里的汉字兜到系统黑体。
|
|
109
|
+
- 字重克制:600 封顶,不用 800/900 的重磅字。
|
|
110
|
+
|
|
111
|
+
## Layout
|
|
112
|
+
|
|
113
|
+
- 信息密度可以高,但要分区清晰:卡片之间留 16px 以上,卡片内边距统一。
|
|
114
|
+
- 图表线条细(1.5-2px),数据点小;网格线用 line 色且比数据线浅得多。
|
|
115
|
+
|
|
116
|
+
## Elevation & Depth
|
|
117
|
+
|
|
118
|
+
层级靠**明度台阶**,不靠投影——深色底上的投影根本看不见,只会把界面弄脏。
|
|
119
|
+
|
|
120
|
+
1. **Level 0** = bg `#0B0E14`,页面底。
|
|
121
|
+
2. **Level 1**(卡片/面板)= surface `#151A23`。**这一档明度差就是全部的「浮起」**,不叠任何阴影。
|
|
122
|
+
3. **Level 2**(弹层/下拉/浮层)= 仍是 surface + **1px line `#232B38` 描边**。靠描边而不是再提亮
|
|
123
|
+
一档,是为了不引入第三种底色。
|
|
124
|
+
4. **hover** = 在当前层上再提亮约 6% 明度(surface `#151A23` → `#232B38`,与 line 同值),
|
|
125
|
+
**不是**加投影、不是加边框。
|
|
126
|
+
5. ⚠ 不要用「在 surface 上叠一层品牌色 tint」的老做法:Material 3 已弃用 `surfaceTint`
|
|
127
|
+
(规范逐字:"Surface tint color is deprecated. Use elevation level tokens (0–5) instead."),
|
|
128
|
+
正统做法就是像这里一样,用两个**独立的 surface 色角色**。
|
|
129
|
+
|
|
130
|
+
Don't:霓虹外发光(glow)当浮起;≥3 层底色堆叠(第三层深色一定分不出来)。
|
|
131
|
+
|
|
132
|
+
## Shapes
|
|
133
|
+
|
|
134
|
+
形状语言 = 精密仪器的面板:直边、小圆角、细线。
|
|
135
|
+
|
|
136
|
+
- **圆角两档分工**:`sm 6px` 给按钮/输入框/标签,`md 10px` 给卡片/面板/弹层。**同屏不出现第三种**。
|
|
137
|
+
- **同心嵌套**:外圆角 − 内边距 = 内圆角(M3 叫 optical roundness,Apple HIG 叫 concentricity,
|
|
138
|
+
两家独立收敛到同一条)。10px 圆角的卡片里放按钮,内边距 4px 时按钮才配 6px;
|
|
139
|
+
内边距开到 16px 时,内层元素**不要再画圆角容器**,直接裸放内容。
|
|
140
|
+
- **转角族用 `rounded` 不用 `cut`**(M3 逐字:"The shape style family can be customized from
|
|
141
|
+
rounded to cut. This makes the corner a straight line instead of curved.")——切角是赛博朋克
|
|
142
|
+
语汇,与这里的克制不合。
|
|
143
|
+
- **紧邻成组**的元素(分段控件、工具条按钮)用**非对称转角**:整组外侧两端 6px、内侧相接处 0,
|
|
144
|
+
让一排按钮读作一件东西而不是四个。
|
|
145
|
+
- **线条**:1px line 色实线、端点 butt 用于分隔;图表数据线 1.5-2px、端点 round;
|
|
146
|
+
虚线只表达一种语义——「预测值/未确认数据」,别当装饰用。
|
|
147
|
+
- **图标**:细线几何图标,1.5px 描边、端点 butt、转角直角,24px 网格。比 1px 分隔线粗半档
|
|
148
|
+
是为了在深底上立得住——深色底会把过细的亮线吃掉;再粗就成了仪表盘之外的另一种音量。
|
|
149
|
+
**不用实心图标**(实心块是 surface 的活儿,不是图标的)。
|
|
150
|
+
|
|
151
|
+
## Components
|
|
152
|
+
|
|
153
|
+
- **卡片/面板**:surface 底 + 10px 圆角 + 16px 内边距,卡片之间 16px。
|
|
154
|
+
**卡片里不再套卡片**(第二层 surface 在深色下分不出来)。
|
|
155
|
+
- **按钮**:32px 高、6px 圆角、surface 底 + primary 字,hover 提亮到 `#232B38`。
|
|
156
|
+
**主按钮不用 accent**——青色是数据的,不是操作的。
|
|
157
|
+
- **输入框**:32px 高、bg 底(比卡片更暗 = 「凹进去」)+ 1px line 描边;聚焦时描边换 accent,
|
|
158
|
+
不加外发光。
|
|
159
|
+
- **标签/状态点**:20px 高,surface 底 + accent 字,文字走 `typography.data` 等宽。
|
|
160
|
+
- **数值**:一律等宽字体;**活跃/实时**的数值上 accent,静态历史值用 primary——
|
|
161
|
+
一屏里带 accent 的数字超过三个,accent 就失效了。
|
|
162
|
+
- 控件高度取 4px 的整数倍(20 / 32 / 40),密度可以高,但必须齐。
|
|
163
|
+
|
|
164
|
+
## Do's and Don'ts
|
|
165
|
+
|
|
166
|
+
- Don't:紫蓝渐变(#6366F1 一族)、任何大面积渐变背景——这是深色科技风最泛滥的套路。
|
|
167
|
+
- Don't:霓虹发光(glow/bloom)效果、赛博朋克粉紫配色。
|
|
168
|
+
- Don't:emoji 当图标;图标用细线几何图标。
|
|
169
|
+
- Don't:纯黑底 #000。
|
|
170
|
+
- Do:数据造真:量级合理、有单位、有时间戳;假数据一眼假。
|
|
171
|
+
- Do:让 accent 保持稀缺——满屏青色等于没有青色。
|
|
172
|
+
|
|
173
|
+
## Composition
|
|
174
|
+
|
|
175
|
+
- 仪表盘类:最重要的一个数字最大,放左上;趋势图占宽不占高。
|
|
176
|
+
- 概念图/架构图:深底上用 surface 色块做节点、line 色连线、accent 只标关键路径。
|
|
177
|
+
|
|
178
|
+
## Image Prompt Templates
|
|
179
|
+
|
|
180
|
+
- base: "professional dark-mode dashboard interface, graphite blue-black background (#0B0E14), elevated panels (#151A23), light gray text, teal accent (#2DD4BF) for live data only, monospaced numerals, thin geometric line icons, subtle 1px borders, realistic plausible metrics with units, calm and precise, no neon glow"
|
|
181
|
+
- negative: "purple-blue gradient, neon glow, cyberpunk, emoji icons, pure black background, glossy 3D, lens flare"
|
|
182
|
+
- 注:图表数据要像真实业务(合理量级 + 单位),这条写进每次的画面描述里。
|