codebee 0.1.65 → 0.1.66
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.md +520 -513
- package/LICENSE +21 -21
- package/README.md +494 -487
- package/app/core/aiflavor.py +197 -197
- package/app/core/artifacts.py +148 -148
- package/app/core/attachments.py +532 -532
- package/app/core/automation.py +758 -758
- package/app/core/backup.py +470 -470
- package/app/core/beekeeper.py +183 -183
- package/app/core/board.py +209 -209
- package/app/core/bookmeta.py +796 -759
- package/app/core/bookmeta_catalog.py +180 -180
- package/app/core/branching.py +137 -137
- package/app/core/builtin_agent.py +1234 -1191
- package/app/core/capability.py +144 -144
- package/app/core/catalog.py +23 -24
- package/app/core/chaptersafe.py +32 -32
- package/app/core/cleanup.py +303 -303
- package/app/core/compaction.py +201 -186
- package/app/core/covergen.py +356 -356
- package/app/core/diagnostics.py +114 -114
- package/app/core/dispatch.py +173 -173
- package/app/core/dispatch_log.py +113 -113
- package/app/core/env_scrub.py +85 -85
- package/app/core/error_codes.py +220 -65
- package/app/core/errorlog.py +137 -137
- package/app/core/evaluation.py +174 -0
- package/app/core/failure_notify.py +290 -0
- package/app/core/flows.py +355 -355
- package/app/core/goal_service.py +167 -167
- package/app/core/health.py +374 -342
- package/app/core/history.py +38 -38
- package/app/core/hooks.py +162 -156
- package/app/core/jobs.py +1034 -1022
- package/app/core/knowledge.py +6 -2
- package/app/core/manager.py +2115 -1996
- package/app/core/market.py +362 -362
- package/app/core/market_remote.py +66 -66
- package/app/core/mocks.py +64 -64
- package/app/core/modelhub.py +3517 -3332
- package/app/core/notify.py +106 -106
- package/app/core/paihang.py +109 -109
- package/app/core/paths.py +2 -2
- package/app/core/pipeline.py +4614 -4494
- package/app/core/planner.py +33 -31
- package/app/core/portguard.py +111 -111
- package/app/core/preview.py +293 -293
- package/app/core/publish/__init__.py +7 -7
- package/app/core/publish/auto.py +367 -367
- package/app/core/publish/browser.py +533 -533
- package/app/core/publish/fanqie.py +128 -128
- package/app/core/publish/flow.py +432 -406
- package/app/core/publish/flows-fanqie-calibrated.json +17 -9
- package/app/core/publish/flows-qimao-calibrated.json +6 -2
- package/app/core/publish/ledger.py +198 -198
- package/app/core/publish/manager.py +623 -590
- package/app/core/publish/qimao.py +141 -141
- package/app/core/publish/ws.py +139 -139
- package/app/core/redact.py +38 -38
- package/app/core/repeat_guard.py +129 -124
- package/app/core/router.py +119 -81
- package/app/core/runner.py +2050 -2042
- package/app/core/selfupdate.py +384 -384
- package/app/core/session_log.py +161 -161
- package/app/core/sessions.py +312 -312
- package/app/core/settings.py +149 -149
- package/app/core/settings_schema.py +262 -262
- package/app/core/share_page.py +114 -114
- package/app/core/skill_scan.py +114 -106
- package/app/core/skillpacks/fanqie-novel.md +80 -80
- package/app/core/skillpacks/market/character-bible.md +66 -66
- package/app/core/skillpacks/market/code-risk-checklist.md +58 -58
- package/app/core/skillpacks/market/git-workflow.md +57 -57
- package/app/core/skillpacks/market/release-notes.md +72 -72
- package/app/core/skillpacks/market/weekly-report.md +71 -71
- package/app/core/skillpacks/market/worldview-consistency.md +70 -70
- package/app/core/skills.py +221 -72
- package/app/core/step_runner.py +132 -132
- package/app/core/store.py +23 -0
- package/app/core/task_compile.py +199 -199
- package/app/core/telemetry.py +292 -292
- package/app/core/tlsctx.py +64 -64
- package/app/core/token_meter.py +147 -147
- package/app/core/upstream.py +41 -0
- package/app/core/usage.py +114 -3
- package/app/core/volumes.py +355 -355
- package/app/core/wxdigest.py +858 -858
- package/app/core/zentao.py +2447 -2447
- package/app/main.py +2838 -2832
- package/app/pick_dialog.py +110 -110
- package/app/ui/app.js +13994 -13977
- package/app/ui/board.css +20 -41
- package/app/ui/board.html +162 -162
- package/app/ui/board.js +305 -305
- package/app/ui/i18n.js +2716 -2711
- package/app/ui/icons/bee.svg +79 -79
- package/app/ui/index.html +1 -1
- package/app/ui/manifest.json +16 -16
- package/app/ui/qrcode.js +2297 -2297
- package/app/ui/style.css +6107 -6125
- package/bin/tutti.js +147 -147
- package/package.json +46 -41
- package/tools/wx_reader.py +261 -261
- package/app/.playwright-cli/console-2026-09-23T08-26-03-635Z.log +0 -88
- package/app/.playwright-cli/page-2026-09-23T08-26-03-845Z.yml +0 -126
- package/app/.playwright-cli/page-2026-09-23T08-29-44-203Z.png +0 -0
- package/app/.playwright-cli/page-2026-09-23T08-35-42-046Z.yml +0 -210
- package/app/.playwright-cli/page-2026-09-23T08-36-52-858Z.png +0 -0
- package/app/.playwright-cli/page-2026-09-23T08-37-33-938Z.png +0 -0
- package/app/.playwright-cli/run-detail-after.png +0 -0
package/app/ui/icons/bee.svg
CHANGED
|
@@ -1,79 +1,79 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
|
|
2
|
-
<!-- CodeBee 写实小蜂:琥珀黑条纹腹 + 绒毛胸背 + 半透明翅脉 + 扇翅动画。
|
|
3
|
-
经 <img> 引用(独立文档,渐变 id 互不串扰);翅动媒体查询随系统 reduce-motion 关停。 -->
|
|
4
|
-
<defs>
|
|
5
|
-
<linearGradient id="cbAbd" x1="0" y1="0" x2="0" y2="1">
|
|
6
|
-
<stop offset="0" stop-color="#ffcd66"/>
|
|
7
|
-
<stop offset=".55" stop-color="#f0a92c"/>
|
|
8
|
-
<stop offset="1" stop-color="#c67c12"/>
|
|
9
|
-
</linearGradient>
|
|
10
|
-
<radialGradient id="cbThx" cx=".38" cy=".3" r="1.05">
|
|
11
|
-
<stop offset="0" stop-color="#7a5a26"/>
|
|
12
|
-
<stop offset=".6" stop-color="#3d2c10"/>
|
|
13
|
-
<stop offset="1" stop-color="#1f1505"/>
|
|
14
|
-
</radialGradient>
|
|
15
|
-
<linearGradient id="cbWing" x1="0" y1="0" x2="1" y2="1">
|
|
16
|
-
<stop offset="0" stop-color="#ffffff" stop-opacity=".85"/>
|
|
17
|
-
<stop offset="1" stop-color="#cfe0f5" stop-opacity=".16"/>
|
|
18
|
-
</linearGradient>
|
|
19
|
-
<clipPath id="cbAbdClip"><ellipse cx="32" cy="44" rx="11.5" ry="13.5"/></clipPath>
|
|
20
|
-
</defs>
|
|
21
|
-
<style>
|
|
22
|
-
.wingL, .wingR { transform-box: view-box; }
|
|
23
|
-
.wingL { transform-origin: 27px 21px; animation: cbFlapL .16s ease-in-out infinite alternate; }
|
|
24
|
-
.wingR { transform-origin: 37px 21px; animation: cbFlapR .16s ease-in-out infinite alternate; }
|
|
25
|
-
@keyframes cbFlapL { from { transform: rotate(-16deg); } to { transform: rotate(9deg); } }
|
|
26
|
-
@keyframes cbFlapR { from { transform: rotate(16deg); } to { transform: rotate(-9deg); } }
|
|
27
|
-
@media (prefers-reduced-motion: reduce) { .wingL, .wingR { animation: none; } }
|
|
28
|
-
</style>
|
|
29
|
-
|
|
30
|
-
<!-- 触角 -->
|
|
31
|
-
<path d="M29.5 8C27.5 4.6 24.6 3 21.8 3.6" fill="none" stroke="#241a05" stroke-width="1.4" stroke-linecap="round"/>
|
|
32
|
-
<path d="M34.5 8c2-3.4 4.9-5 7.7-4.4" fill="none" stroke="#241a05" stroke-width="1.4" stroke-linecap="round"/>
|
|
33
|
-
<circle cx="21.6" cy="3.7" r="1.5" fill="#241a05"/>
|
|
34
|
-
<circle cx="42.4" cy="3.7" r="1.5" fill="#241a05"/>
|
|
35
|
-
|
|
36
|
-
<!-- 左翅(前后两片,扇翅绕胸侧基点) -->
|
|
37
|
-
<g class="wingL">
|
|
38
|
-
<ellipse cx="16.5" cy="19.5" rx="11.5" ry="4.8" transform="rotate(-34 26 20.5)"
|
|
39
|
-
fill="url(#cbWing)" stroke="#e8f1fb" stroke-opacity=".65" stroke-width=".7"/>
|
|
40
|
-
<ellipse cx="20" cy="24.5" rx="8.2" ry="3.5" transform="rotate(-22 26.5 24.5)"
|
|
41
|
-
fill="url(#cbWing)" stroke="#e8f1fb" stroke-opacity=".55" stroke-width=".6"/>
|
|
42
|
-
<g transform="rotate(-34 26 20.5)" fill="none" stroke="#a9c1dd" stroke-opacity=".4" stroke-width=".5">
|
|
43
|
-
<path d="M26 20.5 8 15.5"/><path d="M26 21.5 7.5 20.5"/>
|
|
44
|
-
</g>
|
|
45
|
-
</g>
|
|
46
|
-
<!-- 右翅 -->
|
|
47
|
-
<g class="wingR">
|
|
48
|
-
<ellipse cx="47.5" cy="19.5" rx="11.5" ry="4.8" transform="rotate(34 38 20.5)"
|
|
49
|
-
fill="url(#cbWing)" stroke="#e8f1fb" stroke-opacity=".65" stroke-width=".7"/>
|
|
50
|
-
<ellipse cx="44" cy="24.5" rx="8.2" ry="3.5" transform="rotate(22 37.5 24.5)"
|
|
51
|
-
fill="url(#cbWing)" stroke="#e8f1fb" stroke-opacity=".55" stroke-width=".6"/>
|
|
52
|
-
<g transform="rotate(34 38 20.5)" fill="none" stroke="#a9c1dd" stroke-opacity=".4" stroke-width=".5">
|
|
53
|
-
<path d="M38 20.5 56 15.5"/><path d="M38 21.5 56.5 20.5"/>
|
|
54
|
-
</g>
|
|
55
|
-
</g>
|
|
56
|
-
|
|
57
|
-
<!-- 腹部:琥珀底 + 黑条纹 + 高光 + 螫针 -->
|
|
58
|
-
<ellipse cx="32" cy="44" rx="11.5" ry="13.5" fill="url(#cbAbd)"/>
|
|
59
|
-
<g clip-path="url(#cbAbdClip)" fill="#241a05">
|
|
60
|
-
<path d="M20 40.5 Q32 36.5 44 40.5 L44 46.5 Q32 42.5 20 46.5 Z"/>
|
|
61
|
-
<path d="M20.5 49 Q32 45.5 43.5 49 L43.2 54.5 Q32 51.5 20.8 54.5 Z" opacity=".92"/>
|
|
62
|
-
</g>
|
|
63
|
-
<path d="M25.2 36q-2.6 4-2 9.5" stroke="#ffe9ad" stroke-opacity=".7" stroke-width="1.6" stroke-linecap="round" fill="none"/>
|
|
64
|
-
<ellipse cx="32" cy="44" rx="11.5" ry="13.5" fill="none" stroke="#8a5a10" stroke-opacity=".35" stroke-width=".8"/>
|
|
65
|
-
<path d="M32 58.5 29.8 54h4.4Z" fill="#241a05"/>
|
|
66
|
-
|
|
67
|
-
<!-- 胸背:绒毛渐变 + 虚线描边模拟绒毛缘 -->
|
|
68
|
-
<ellipse cx="32" cy="25.5" rx="9.2" ry="9.8" fill="url(#cbThx)"/>
|
|
69
|
-
<ellipse cx="32" cy="25.5" rx="9.2" ry="9.8" fill="none" stroke="#8a6a2e" stroke-opacity=".45"
|
|
70
|
-
stroke-width="1" stroke-dasharray="1.2 1.6"/>
|
|
71
|
-
|
|
72
|
-
<!-- 头:复眼 + 高光 -->
|
|
73
|
-
<circle cx="32" cy="12.8" r="6.3" fill="#241a05"/>
|
|
74
|
-
<ellipse cx="28" cy="12.6" rx="2.4" ry="3" fill="#0e0a03"/>
|
|
75
|
-
<ellipse cx="36" cy="12.6" rx="2.4" ry="3" fill="#0e0a03"/>
|
|
76
|
-
<circle cx="28.9" cy="11.3" r=".7" fill="#7d6538" opacity=".8"/>
|
|
77
|
-
<circle cx="36.9" cy="11.3" r=".7" fill="#7d6538" opacity=".8"/>
|
|
78
|
-
<path d="M28.5 8.6q3.5-1.6 7 0" stroke="#8a6a2e" stroke-opacity=".55" stroke-width=".8" fill="none"/>
|
|
79
|
-
</svg>
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
|
|
2
|
+
<!-- CodeBee 写实小蜂:琥珀黑条纹腹 + 绒毛胸背 + 半透明翅脉 + 扇翅动画。
|
|
3
|
+
经 <img> 引用(独立文档,渐变 id 互不串扰);翅动媒体查询随系统 reduce-motion 关停。 -->
|
|
4
|
+
<defs>
|
|
5
|
+
<linearGradient id="cbAbd" x1="0" y1="0" x2="0" y2="1">
|
|
6
|
+
<stop offset="0" stop-color="#ffcd66"/>
|
|
7
|
+
<stop offset=".55" stop-color="#f0a92c"/>
|
|
8
|
+
<stop offset="1" stop-color="#c67c12"/>
|
|
9
|
+
</linearGradient>
|
|
10
|
+
<radialGradient id="cbThx" cx=".38" cy=".3" r="1.05">
|
|
11
|
+
<stop offset="0" stop-color="#7a5a26"/>
|
|
12
|
+
<stop offset=".6" stop-color="#3d2c10"/>
|
|
13
|
+
<stop offset="1" stop-color="#1f1505"/>
|
|
14
|
+
</radialGradient>
|
|
15
|
+
<linearGradient id="cbWing" x1="0" y1="0" x2="1" y2="1">
|
|
16
|
+
<stop offset="0" stop-color="#ffffff" stop-opacity=".85"/>
|
|
17
|
+
<stop offset="1" stop-color="#cfe0f5" stop-opacity=".16"/>
|
|
18
|
+
</linearGradient>
|
|
19
|
+
<clipPath id="cbAbdClip"><ellipse cx="32" cy="44" rx="11.5" ry="13.5"/></clipPath>
|
|
20
|
+
</defs>
|
|
21
|
+
<style>
|
|
22
|
+
.wingL, .wingR { transform-box: view-box; }
|
|
23
|
+
.wingL { transform-origin: 27px 21px; animation: cbFlapL .16s ease-in-out infinite alternate; }
|
|
24
|
+
.wingR { transform-origin: 37px 21px; animation: cbFlapR .16s ease-in-out infinite alternate; }
|
|
25
|
+
@keyframes cbFlapL { from { transform: rotate(-16deg); } to { transform: rotate(9deg); } }
|
|
26
|
+
@keyframes cbFlapR { from { transform: rotate(16deg); } to { transform: rotate(-9deg); } }
|
|
27
|
+
@media (prefers-reduced-motion: reduce) { .wingL, .wingR { animation: none; } }
|
|
28
|
+
</style>
|
|
29
|
+
|
|
30
|
+
<!-- 触角 -->
|
|
31
|
+
<path d="M29.5 8C27.5 4.6 24.6 3 21.8 3.6" fill="none" stroke="#241a05" stroke-width="1.4" stroke-linecap="round"/>
|
|
32
|
+
<path d="M34.5 8c2-3.4 4.9-5 7.7-4.4" fill="none" stroke="#241a05" stroke-width="1.4" stroke-linecap="round"/>
|
|
33
|
+
<circle cx="21.6" cy="3.7" r="1.5" fill="#241a05"/>
|
|
34
|
+
<circle cx="42.4" cy="3.7" r="1.5" fill="#241a05"/>
|
|
35
|
+
|
|
36
|
+
<!-- 左翅(前后两片,扇翅绕胸侧基点) -->
|
|
37
|
+
<g class="wingL">
|
|
38
|
+
<ellipse cx="16.5" cy="19.5" rx="11.5" ry="4.8" transform="rotate(-34 26 20.5)"
|
|
39
|
+
fill="url(#cbWing)" stroke="#e8f1fb" stroke-opacity=".65" stroke-width=".7"/>
|
|
40
|
+
<ellipse cx="20" cy="24.5" rx="8.2" ry="3.5" transform="rotate(-22 26.5 24.5)"
|
|
41
|
+
fill="url(#cbWing)" stroke="#e8f1fb" stroke-opacity=".55" stroke-width=".6"/>
|
|
42
|
+
<g transform="rotate(-34 26 20.5)" fill="none" stroke="#a9c1dd" stroke-opacity=".4" stroke-width=".5">
|
|
43
|
+
<path d="M26 20.5 8 15.5"/><path d="M26 21.5 7.5 20.5"/>
|
|
44
|
+
</g>
|
|
45
|
+
</g>
|
|
46
|
+
<!-- 右翅 -->
|
|
47
|
+
<g class="wingR">
|
|
48
|
+
<ellipse cx="47.5" cy="19.5" rx="11.5" ry="4.8" transform="rotate(34 38 20.5)"
|
|
49
|
+
fill="url(#cbWing)" stroke="#e8f1fb" stroke-opacity=".65" stroke-width=".7"/>
|
|
50
|
+
<ellipse cx="44" cy="24.5" rx="8.2" ry="3.5" transform="rotate(22 37.5 24.5)"
|
|
51
|
+
fill="url(#cbWing)" stroke="#e8f1fb" stroke-opacity=".55" stroke-width=".6"/>
|
|
52
|
+
<g transform="rotate(34 38 20.5)" fill="none" stroke="#a9c1dd" stroke-opacity=".4" stroke-width=".5">
|
|
53
|
+
<path d="M38 20.5 56 15.5"/><path d="M38 21.5 56.5 20.5"/>
|
|
54
|
+
</g>
|
|
55
|
+
</g>
|
|
56
|
+
|
|
57
|
+
<!-- 腹部:琥珀底 + 黑条纹 + 高光 + 螫针 -->
|
|
58
|
+
<ellipse cx="32" cy="44" rx="11.5" ry="13.5" fill="url(#cbAbd)"/>
|
|
59
|
+
<g clip-path="url(#cbAbdClip)" fill="#241a05">
|
|
60
|
+
<path d="M20 40.5 Q32 36.5 44 40.5 L44 46.5 Q32 42.5 20 46.5 Z"/>
|
|
61
|
+
<path d="M20.5 49 Q32 45.5 43.5 49 L43.2 54.5 Q32 51.5 20.8 54.5 Z" opacity=".92"/>
|
|
62
|
+
</g>
|
|
63
|
+
<path d="M25.2 36q-2.6 4-2 9.5" stroke="#ffe9ad" stroke-opacity=".7" stroke-width="1.6" stroke-linecap="round" fill="none"/>
|
|
64
|
+
<ellipse cx="32" cy="44" rx="11.5" ry="13.5" fill="none" stroke="#8a5a10" stroke-opacity=".35" stroke-width=".8"/>
|
|
65
|
+
<path d="M32 58.5 29.8 54h4.4Z" fill="#241a05"/>
|
|
66
|
+
|
|
67
|
+
<!-- 胸背:绒毛渐变 + 虚线描边模拟绒毛缘 -->
|
|
68
|
+
<ellipse cx="32" cy="25.5" rx="9.2" ry="9.8" fill="url(#cbThx)"/>
|
|
69
|
+
<ellipse cx="32" cy="25.5" rx="9.2" ry="9.8" fill="none" stroke="#8a6a2e" stroke-opacity=".45"
|
|
70
|
+
stroke-width="1" stroke-dasharray="1.2 1.6"/>
|
|
71
|
+
|
|
72
|
+
<!-- 头:复眼 + 高光 -->
|
|
73
|
+
<circle cx="32" cy="12.8" r="6.3" fill="#241a05"/>
|
|
74
|
+
<ellipse cx="28" cy="12.6" rx="2.4" ry="3" fill="#0e0a03"/>
|
|
75
|
+
<ellipse cx="36" cy="12.6" rx="2.4" ry="3" fill="#0e0a03"/>
|
|
76
|
+
<circle cx="28.9" cy="11.3" r=".7" fill="#7d6538" opacity=".8"/>
|
|
77
|
+
<circle cx="36.9" cy="11.3" r=".7" fill="#7d6538" opacity=".8"/>
|
|
78
|
+
<path d="M28.5 8.6q3.5-1.6 7 0" stroke="#8a6a2e" stroke-opacity=".55" stroke-width=".8" fill="none"/>
|
|
79
|
+
</svg>
|
package/app/ui/index.html
CHANGED
|
@@ -1073,7 +1073,7 @@
|
|
|
1073
1073
|
</div>
|
|
1074
1074
|
<p id="su-note" class="hint"></p>
|
|
1075
1075
|
<p id="su-progress" class="hint"></p>
|
|
1076
|
-
<p class="hint" data-i18n="升级会通过 npm 拉取最新版并自动执行(日志可在运行记录里实时查看);完成后服务会自动重启,页面会自动重连。开发仓库(git clone)模式不提供自动升级,请用 git pull。">升级会通过 npm 拉取最新版并自动执行(日志可在运行记录里实时查看);完成后服务会自动重启,页面会自动重连。开发仓库(git clone)模式不提供自动升级,请用 git pull。</p>
|
|
1076
|
+
<p class="hint" data-i18n="升级会通过 npm 拉取最新版并自动执行(日志可在运行记录里实时查看);完成后服务会自动重启,页面会自动重连。开发仓库(git clone)模式不提供自动升级,请用 git pull。">升级会通过 npm 拉取最新版并自动执行(日志可在运行记录里实时查看);完成后服务会自动重启,页面会自动重连。开发仓库(git clone)模式不提供自动升级,请用 git pull。</p>
|
|
1077
1077
|
<h3 data-i18n="帮助改进 CodeBee" class="sec-title">帮助改进 CodeBee</h3>
|
|
1078
1078
|
<label class="toggle"><input id="set-telemetry" type="checkbox" onchange="saveTelemetry(this.checked)"> <span data-i18n="发送匿名错误报告(帮助我们发现和修复问题)">发送匿名错误报告(帮助我们发现和修复问题)</span></label>
|
|
1079
1079
|
<p data-i18n="只上报失败原因码、供应商/模型名与脱敏后的错误摘录——绝不上传任务内容、章节正文、API 密钥和本机路径;关闭后立即停止一切上报。" class="hint">只上报失败原因码、供应商/模型名与脱敏后的错误摘录——绝不上传任务内容、章节正文、API 密钥和本机路径;关闭后立即停止一切上报。</p>
|
package/app/ui/manifest.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "CodeBee · 多智能体编排台",
|
|
3
|
-
"short_name": "CodeBee",
|
|
4
|
-
"description": "All agents, one hive. 一句话目标,自动拆解、路由、执行、验证与跨厂商评审。",
|
|
5
|
-
"start_url": "/",
|
|
6
|
-
"scope": "/",
|
|
7
|
-
"display": "standalone",
|
|
8
|
-
"orientation": "portrait-primary",
|
|
9
|
-
"background_color": "#0f1115",
|
|
10
|
-
"theme_color": "#6d5df6",
|
|
11
|
-
"icons": [
|
|
12
|
-
{ "src": "icons/icon-192.png", "sizes": "192x192", "type": "image/png", "purpose": "any" },
|
|
13
|
-
{ "src": "icons/icon-512.png", "sizes": "512x512", "type": "image/png", "purpose": "any" },
|
|
14
|
-
{ "src": "icons/icon-512.png", "sizes": "512x512", "type": "image/png", "purpose": "maskable" }
|
|
15
|
-
]
|
|
16
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "CodeBee · 多智能体编排台",
|
|
3
|
+
"short_name": "CodeBee",
|
|
4
|
+
"description": "All agents, one hive. 一句话目标,自动拆解、路由、执行、验证与跨厂商评审。",
|
|
5
|
+
"start_url": "/",
|
|
6
|
+
"scope": "/",
|
|
7
|
+
"display": "standalone",
|
|
8
|
+
"orientation": "portrait-primary",
|
|
9
|
+
"background_color": "#0f1115",
|
|
10
|
+
"theme_color": "#6d5df6",
|
|
11
|
+
"icons": [
|
|
12
|
+
{ "src": "icons/icon-192.png", "sizes": "192x192", "type": "image/png", "purpose": "any" },
|
|
13
|
+
{ "src": "icons/icon-512.png", "sizes": "512x512", "type": "image/png", "purpose": "any" },
|
|
14
|
+
{ "src": "icons/icon-512.png", "sizes": "512x512", "type": "image/png", "purpose": "maskable" }
|
|
15
|
+
]
|
|
16
|
+
}
|