sintbot 1.0.16 → 1.3.0

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.
Files changed (137) hide show
  1. package/CHANGELOG.en.json +99 -0
  2. package/CHANGELOG.json +99 -0
  3. package/README.md +20 -158
  4. package/README.zh-CN.md +20 -166
  5. package/THIRD-PARTY-NOTICES.md +394 -0
  6. package/bin/sintbot-v2.js +363 -0
  7. package/docs/AI-ASSISTED-INSTALL.md +11 -35
  8. package/docs/install.md +61 -167
  9. package/docs/zh-CN/AI-ASSISTED-INSTALL.md +11 -35
  10. package/docs/zh-CN/install.md +61 -165
  11. package/install.sh +84 -0
  12. package/package.json +73 -37
  13. package/src/agent/claudecode.js +149 -108
  14. package/src/agent/codexapp.js +458 -0
  15. package/src/agent/codexcode.js +210 -107
  16. package/src/agent/errtag.js +34 -0
  17. package/src/agent/privatecore.js +790 -0
  18. package/src/agent/privatecore.wasm +0 -0
  19. package/src/agent/runner.js +10 -8
  20. package/src/agent/winexec.js +35 -5
  21. package/src/c2install.js +117 -0
  22. package/src/config.js +2 -1
  23. package/src/core/c2cardeffectbridge.js +51 -0
  24. package/src/core/c2cardterminalpath.js +216 -0
  25. package/src/core/c2durableingress.js +148 -0
  26. package/src/core/c2durablejournal.js +1560 -0
  27. package/src/core/c2durableruntime.js +2361 -0
  28. package/src/core/c2eventidentity.js +90 -0
  29. package/src/core/c2globalfault.js +401 -0
  30. package/src/core/c2localeffectexecutor.js +193 -0
  31. package/src/core/c2payloadhandles.js +333 -0
  32. package/src/core/c2persistrelation.js +179 -0
  33. package/src/core/c2persiststate.js +342 -0
  34. package/src/core/c2platformrecoverysender.js +76 -0
  35. package/src/core/c2recoverygate.js +385 -0
  36. package/src/core/c2runnerinput.js +63 -0
  37. package/src/core/c2servicestartgate.js +103 -0
  38. package/src/core/c2sessionbridge.js +72 -0
  39. package/src/core/c2sourcequarantine.js +30 -0
  40. package/src/core/c2startuprecovery.js +105 -0
  41. package/src/core/c2successorbridge.js +151 -0
  42. package/src/core/c2terminaleffectbridge.js +154 -0
  43. package/src/core/c2terminalprune.js +108 -0
  44. package/src/core/c2turnprojection.js +177 -0
  45. package/src/core/enginecheckpoint.js +211 -0
  46. package/src/core/engineeffectcursor.js +394 -0
  47. package/src/core/enginestepcoordinator.js +183 -0
  48. package/src/core/store.js +52 -8
  49. package/src/core/v2engine.js +1469 -0
  50. package/src/platform/feishu.js +324 -67
  51. package/src/plugins.js +1 -9
  52. package/assets/design-styles/acid-pop.md +0 -155
  53. package/assets/design-styles/archive-index.md +0 -161
  54. package/assets/design-styles/art-deco.md +0 -164
  55. package/assets/design-styles/cinematic-noir.md +0 -178
  56. package/assets/design-styles/editorial.md +0 -121
  57. package/assets/design-styles/extra/README.md +0 -23
  58. package/assets/design-styles/extra/constructivism.md +0 -146
  59. package/assets/design-styles/extra/neo-brutalism.md +0 -175
  60. package/assets/design-styles/extra/new-wave.md +0 -166
  61. package/assets/design-styles/extra/nordic-material.md +0 -162
  62. package/assets/design-styles/extra/paris-couture.md +0 -162
  63. package/assets/design-styles/extra/tropical-modern.md +0 -168
  64. package/assets/design-styles/extra/ulm-functional.md +0 -182
  65. package/assets/design-styles/extra/wa-shikimen.md +0 -160
  66. package/assets/design-styles/extra/y2k-chrome.md +0 -172
  67. package/assets/design-styles/geometric-pop.md +0 -122
  68. package/assets/design-styles/hand-drawn.md +0 -117
  69. package/assets/design-styles/islamic-geometry.md +0 -155
  70. package/assets/design-styles/liquid-glass.md +0 -183
  71. package/assets/design-styles/neo-chinese.md +0 -136
  72. package/assets/design-styles/precision-mono.md +0 -156
  73. package/assets/design-styles/quiet-luxury.md +0 -163
  74. package/assets/design-styles/riso-print.md +0 -116
  75. package/assets/design-styles/soft-friendly.md +0 -174
  76. package/assets/design-styles/swiss-grid.md +0 -156
  77. package/assets/design-styles/tech-dark.md +0 -182
  78. package/assets/favicon.svg +0 -6
  79. package/assets/logo.svg +0 -24
  80. package/bin/sbot.js +0 -4716
  81. package/docs/slack-app-manifest.yaml +0 -104
  82. package/sbot.config.example.json +0 -235
  83. package/src/agent/askonce.js +0 -76
  84. package/src/agent/claudemodels.js +0 -60
  85. package/src/agent/claudestatus.js +0 -74
  86. package/src/agent/claudeusage.js +0 -200
  87. package/src/agent/codexstatus.js +0 -181
  88. package/src/agent/imagen.js +0 -458
  89. package/src/agent/quotaerr.js +0 -44
  90. package/src/agent/transienterr.js +0 -32
  91. package/src/cdp.js +0 -254
  92. package/src/cli-secret.js +0 -36
  93. package/src/clilang.js +0 -31
  94. package/src/core/cron.js +0 -182
  95. package/src/core/cronfire.js +0 -120
  96. package/src/core/cronrun.js +0 -116
  97. package/src/core/engine.js +0 -2758
  98. package/src/core/interfaces.js +0 -114
  99. package/src/core/issues.js +0 -185
  100. package/src/core/ledger.js +0 -30
  101. package/src/core/opsalert.js +0 -214
  102. package/src/core/pending.js +0 -123
  103. package/src/core/proxy.js +0 -424
  104. package/src/core/quotaalert.js +0 -79
  105. package/src/core/quotaerr.js +0 -55
  106. package/src/core/scheduler.js +0 -59
  107. package/src/design.js +0 -5161
  108. package/src/gitrepo.js +0 -150
  109. package/src/health.js +0 -353
  110. package/src/installdeps.js +0 -72
  111. package/src/leftover.js +0 -174
  112. package/src/platform/boardnotice.js +0 -77
  113. package/src/platform/boardops.js +0 -36
  114. package/src/platform/boardwatch.js +0 -447
  115. package/src/platform/cli.js +0 -45
  116. package/src/platform/slack.js +0 -1289
  117. package/src/platform/takeovercard.js +0 -37
  118. package/src/platform/wecom.js +0 -938
  119. package/src/platform/wecomcli.js +0 -128
  120. package/src/platform/wecomgate.js +0 -108
  121. package/src/platform/wecomname.js +0 -43
  122. package/src/platform/wecompoll.js +0 -241
  123. package/src/preview.js +0 -581
  124. package/src/projectmemory.js +0 -175
  125. package/src/service.js +0 -317
  126. package/src/ui/auth.js +0 -31
  127. package/src/ui/browser.html +0 -392
  128. package/src/ui/browserroutes.js +0 -234
  129. package/src/ui/console.html +0 -5526
  130. package/src/ui/dashboard.js +0 -168
  131. package/src/ui/feishulogin.js +0 -136
  132. package/src/ui/server.js +0 -2314
  133. package/src/ui/sessions.js +0 -78
  134. package/src/ui/takeover.js +0 -108
  135. package/src/updater.js +0 -243
  136. package/src/upgrade.js +0 -35
  137. package/src/usage.js +0 -144
@@ -1,156 +0,0 @@
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";文字宁少勿多。
@@ -1,182 +0,0 @@
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
- - 注:图表数据要像真实业务(合理量级 + 单位),这条写进每次的画面描述里。
@@ -1,6 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="64" height="64" role="img" aria-label="Sintbot">
2
- <!-- SintBot 标记:黑盘白字、盘外透明。
3
- 字形在原路径里是镂空(nonzero 反绕),所以要先垫一枚同径白圆盘才让镂空处露白 —— 少了它,字形会直接透出标签栏底色。 -->
4
- <circle cx="50" cy="50" r="50" fill="#fff"/>
5
- <path fill="#000" d="M100,50A50,50,0,1,1,50,0,50,50,0,0,1,100,50ZM22.08,42.76,64,63.69l-7,3.49H43l-7-3.49v-7l-14,7v7l14,7H64l14-7v-14l-14-7,14-7v-14l-14-7v14l-14,7-14-7v-14l-14,7Z"/>
6
- </svg>
package/assets/logo.svg DELETED
@@ -1,24 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64" role="img" aria-label="Sintbot">
2
- <title>Sintbot</title>
3
- <!-- 金手指/引脚:先画,压在板下层露出边缘 -->
4
- <g fill="#c9a25c">
5
- <rect x="1.5" y="22" width="5" height="7" rx="1"/>
6
- <rect x="1.5" y="34" width="5" height="7" rx="1"/>
7
- <rect x="57.5" y="22" width="5" height="7" rx="1"/>
8
- <rect x="57.5" y="34" width="5" height="7" rx="1"/>
9
- <rect x="17" y="53.5" width="7" height="5" rx="1"/>
10
- <rect x="28.5" y="53.5" width="7" height="5" rx="1"/>
11
- <rect x="40" y="53.5" width="7" height="5" rx="1"/>
12
- </g>
13
- <!-- 板 -->
14
- <rect x="5" y="8" width="54" height="48" rx="4.5" fill="#235c3c"/>
15
- <!-- 丝印内框 -->
16
- <rect x="8.5" y="11.5" width="47" height="41" rx="2.5" fill="none" stroke="#3d8155" stroke-width="1"/>
17
- <!-- S 走线:每个拐角切成两个 45°,PCB 不允许 90° 直角走线 -->
18
- <path d="M44 20 H24 L20 24 V28 L24 32 H40 L44 36 V40 L40 44 H20"
19
- fill="none" stroke="#d68f44" stroke-width="4"
20
- stroke-linecap="round" stroke-linejoin="round"/>
21
- <!-- 两端:起点过孔(环)/终点焊盘(实心) -->
22
- <circle cx="44" cy="20" r="3.6" fill="#235c3c" stroke="#e5b94d" stroke-width="2.2"/>
23
- <circle cx="20" cy="44" r="3.4" fill="#e5b94d"/>
24
- </svg>