@hybridlabor-api/aos 4.4.2-beta.7 → 4.4.2-beta.9
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/CLAUDE.md +0 -104
- package/installer.js +97 -13
- package/package.json +1 -1
- package/skills/global_config/live-preview-canvas/SKILL.md +19 -0
- package/skills/global_config/live-preview-canvas/examples/preview_interactive_dashboard.html +406 -0
- package/skills/global_config/live-preview-canvas/resources/template.html +291 -0
- package/skills/global_config/live-preview-canvas/scripts/base_template.html +178 -0
- package/skills/global_config/openwiki-skill/scripts/install_daemon.ps1 +81 -28
- package/skills/global_config/openwiki-skill/scripts/install_daemon.sh +71 -25
package/CLAUDE.md
CHANGED
|
@@ -616,110 +616,6 @@ must not do.
|
|
|
616
616
|
|
|
617
617
|
## Headless timeouts
|
|
618
618
|
|
|
619
|
-
A trivial headless `agy` prompt was measured at **605s** in 2026-09.
|
|
620
|
-
`agy-delegate` defaults to `--print-timeout 5m`, so it aborts at 300s and
|
|
621
|
-
reports an empty body while the answer is still arriving. Pass `--timeout 15m`
|
|
622
|
-
for anything non-trivial. A short timeout does not read as "slow", it reads as
|
|
623
|
-
"broken".
|
|
624
|
-
|
|
625
|
-
# AOS — Antigravity / Gemini
|
|
626
|
-
|
|
627
|
-
**Read [AGENTS.md](AGENTS.md) first.** It holds every rule that applies to all
|
|
628
|
-
harnesses: the non-negotiables, the release gate, Conventional Commits, the
|
|
629
|
-
skill contract and category routing, the pipeline variants, and the delegation
|
|
630
|
-
policy. Nothing from it is repeated here — a rule that lives in two files is a
|
|
631
|
-
rule that will eventually disagree with itself.
|
|
632
|
-
|
|
633
|
-
This file covers only what is specific to running AOS under Antigravity.
|
|
634
|
-
|
|
635
|
-
## Nothing enforces the gate here — you are the enforcement
|
|
636
|
-
|
|
637
|
-
`.claude/hooks/go-gate.mjs` is a Claude Code hook and does not run on this
|
|
638
|
-
harness. Not one of the four release commands is mechanically blocked for you,
|
|
639
|
-
and neither is anything else.
|
|
640
|
-
|
|
641
|
-
So the full rule in AGENTS.md applies here in its entirety, not just its
|
|
642
|
-
hook-enforced subset: when the user asks for a plan, review, audit or
|
|
643
|
-
multi-step action, you are read-only until they answer with the literal **GO**
|
|
644
|
-
— including file writes and `git commit`. On Claude Code a hook would catch the
|
|
645
|
-
four worst cases if discipline failed. Here there is no backstop, which makes
|
|
646
|
-
this the harness where the rule matters most, not least.
|
|
647
|
-
|
|
648
|
-
## Model routing
|
|
649
|
-
|
|
650
|
-
The tier names in `agy-delegate` map to models that go stale — the built-in
|
|
651
|
-
`flash` still points at Gemini 3.7 while 3.8 ships. Re-check against
|
|
652
|
-
`agy models` after every upgrade; the id carries both the version and the
|
|
653
|
-
effort suffix.
|
|
654
|
-
|
|
655
|
-
| Work | Model |
|
|
656
|
-
|---|---|
|
|
657
|
-
| Media, fast or mechanical coding, boilerplate | `Gemini 3.8 Flash (Medium)` |
|
|
658
|
-
| Trivial one-liners | `Gemini 3.8 Flash (Low)` |
|
|
659
|
-
| Review, architecture, hard reasoning | `Claude Sonnet 4.6 (Thinking)` |
|
|
660
|
-
|
|
661
|
-
Set these once via `CLAUDE_PLUGIN_OPTION_TIER_{FLASH,FLASH_LO,PRO}` in
|
|
662
|
-
`~/.zshenv` — **not** `~/.zshrc`, which non-interactive tool shells never
|
|
663
|
-
source.
|
|
664
|
-
|
|
665
|
-
Adversarial review is the case that most repays the stronger model: a Flash
|
|
666
|
-
tier tends to agree with what it is shown, which is the one thing a reviewer
|
|
667
|
-
must not do.
|
|
668
|
-
|
|
669
|
-
## Headless timeouts
|
|
670
|
-
|
|
671
|
-
A trivial headless `agy` prompt was measured at **605s** in 2026-09.
|
|
672
|
-
`agy-delegate` defaults to `--print-timeout 5m`, so it aborts at 300s and
|
|
673
|
-
reports an empty body while the answer is still arriving. Pass `--timeout 15m`
|
|
674
|
-
for anything non-trivial. A short timeout does not read as "slow", it reads as
|
|
675
|
-
"broken".
|
|
676
|
-
|
|
677
|
-
# AOS — Antigravity / Gemini
|
|
678
|
-
|
|
679
|
-
**Read [AGENTS.md](AGENTS.md) first.** It holds every rule that applies to all
|
|
680
|
-
harnesses: the non-negotiables, the release gate, Conventional Commits, the
|
|
681
|
-
skill contract and category routing, the pipeline variants, and the delegation
|
|
682
|
-
policy. Nothing from it is repeated here — a rule that lives in two files is a
|
|
683
|
-
rule that will eventually disagree with itself.
|
|
684
|
-
|
|
685
|
-
This file covers only what is specific to running AOS under Antigravity.
|
|
686
|
-
|
|
687
|
-
## Nothing enforces the gate here — you are the enforcement
|
|
688
|
-
|
|
689
|
-
`.claude/hooks/go-gate.mjs` is a Claude Code hook and does not run on this
|
|
690
|
-
harness. Not one of the four release commands is mechanically blocked for you,
|
|
691
|
-
and neither is anything else.
|
|
692
|
-
|
|
693
|
-
So the full rule in AGENTS.md applies here in its entirety, not just its
|
|
694
|
-
hook-enforced subset: when the user asks for a plan, review, audit or
|
|
695
|
-
multi-step action, you are read-only until they answer with the literal **GO**
|
|
696
|
-
— including file writes and `git commit`. On Claude Code a hook would catch the
|
|
697
|
-
four worst cases if discipline failed. Here there is no backstop, which makes
|
|
698
|
-
this the harness where the rule matters most, not least.
|
|
699
|
-
|
|
700
|
-
## Model routing
|
|
701
|
-
|
|
702
|
-
The tier names in `agy-delegate` map to models that go stale — the built-in
|
|
703
|
-
`flash` still points at Gemini 3.7 while 3.8 ships. Re-check against
|
|
704
|
-
`agy models` after every upgrade; the id carries both the version and the
|
|
705
|
-
effort suffix.
|
|
706
|
-
|
|
707
|
-
| Work | Model |
|
|
708
|
-
|---|---|
|
|
709
|
-
| Media, fast or mechanical coding, boilerplate | `Gemini 3.8 Flash (Medium)` |
|
|
710
|
-
| Trivial one-liners | `Gemini 3.8 Flash (Low)` |
|
|
711
|
-
| Review, architecture, hard reasoning | `Claude Sonnet 4.6 (Thinking)` |
|
|
712
|
-
|
|
713
|
-
Set these once via `CLAUDE_PLUGIN_OPTION_TIER_{FLASH,FLASH_LO,PRO}` in
|
|
714
|
-
`~/.zshenv` — **not** `~/.zshrc`, which non-interactive tool shells never
|
|
715
|
-
source.
|
|
716
|
-
|
|
717
|
-
Adversarial review is the case that most repays the stronger model: a Flash
|
|
718
|
-
tier tends to agree with what it is shown, which is the one thing a reviewer
|
|
719
|
-
must not do.
|
|
720
|
-
|
|
721
|
-
## Headless timeouts
|
|
722
|
-
|
|
723
619
|
A trivial headless `agy` prompt was measured at **605s** in 2026-09.
|
|
724
620
|
`agy-delegate` defaults to `--print-timeout 5m`, so it aborts at 300s and
|
|
725
621
|
reports an empty body while the answer is still arriving. Pass `--timeout 15m`
|
package/installer.js
CHANGED
|
@@ -3348,6 +3348,9 @@ function generateAndOpenLaunchpad() {
|
|
|
3348
3348
|
<meta charset="UTF-8">
|
|
3349
3349
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
3350
3350
|
<title>BDB Agent OS – Launchpad</title>
|
|
3351
|
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
3352
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
3353
|
+
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap" rel="stylesheet">
|
|
3351
3354
|
<style>
|
|
3352
3355
|
:root {
|
|
3353
3356
|
--bg: #090a0f;
|
|
@@ -3355,10 +3358,10 @@ function generateAndOpenLaunchpad() {
|
|
|
3355
3358
|
--card-border: rgba(255, 255, 255, 0.08);
|
|
3356
3359
|
--text: #f0f6fc;
|
|
3357
3360
|
--text-muted: #8b949e;
|
|
3358
|
-
--accent: #
|
|
3361
|
+
--accent: #9b30c4;
|
|
3359
3362
|
--green: #3fb950;
|
|
3360
|
-
--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
|
3361
|
-
--mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
|
|
3363
|
+
--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
|
3364
|
+
--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
|
|
3362
3365
|
}
|
|
3363
3366
|
* { box-sizing: border-box; margin: 0; padding: 0; }
|
|
3364
3367
|
body {
|
|
@@ -3384,12 +3387,13 @@ function generateAndOpenLaunchpad() {
|
|
|
3384
3387
|
letter-spacing: -0.5px;
|
|
3385
3388
|
margin-bottom: 6px;
|
|
3386
3389
|
}
|
|
3390
|
+
.logo-mark { width: 36px; height: 36px; flex-shrink: 0; }
|
|
3387
3391
|
.logo-badge {
|
|
3388
|
-
background: linear-gradient(135deg, #
|
|
3392
|
+
background: linear-gradient(135deg, #ffffff 0%, #c77dea 60%, #9b30c4 100%);
|
|
3389
3393
|
-webkit-background-clip: text;
|
|
3390
3394
|
-webkit-text-fill-color: transparent;
|
|
3391
3395
|
}
|
|
3392
|
-
.tagline { color: var(--text-muted); font-size: 14px; }
|
|
3396
|
+
.tagline { color: var(--text-muted); font-size: 14px; font-weight: 400; }
|
|
3393
3397
|
.grid { display: flex; flex-direction: column; gap: 12px; }
|
|
3394
3398
|
.card {
|
|
3395
3399
|
background: var(--card-bg);
|
|
@@ -3405,15 +3409,15 @@ function generateAndOpenLaunchpad() {
|
|
|
3405
3409
|
transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
|
|
3406
3410
|
}
|
|
3407
3411
|
.card:hover {
|
|
3408
|
-
border-color: rgba(
|
|
3412
|
+
border-color: rgba(155, 48, 196, 0.45);
|
|
3409
3413
|
transform: translateY(-2px);
|
|
3410
3414
|
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
|
|
3411
3415
|
}
|
|
3412
3416
|
.card-content { display: flex; align-items: center; gap: 14px; }
|
|
3413
3417
|
.card-icon {
|
|
3414
|
-
font-size: 22px;
|
|
3415
3418
|
width: 40px;
|
|
3416
3419
|
height: 40px;
|
|
3420
|
+
padding: 6px;
|
|
3417
3421
|
border-radius: 10px;
|
|
3418
3422
|
background: rgba(255, 255, 255, 0.04);
|
|
3419
3423
|
border: 1px solid rgba(255, 255, 255, 0.06);
|
|
@@ -3421,6 +3425,7 @@ function generateAndOpenLaunchpad() {
|
|
|
3421
3425
|
align-items: center;
|
|
3422
3426
|
justify-content: center;
|
|
3423
3427
|
}
|
|
3428
|
+
.card-icon svg { width: 100%; height: 100%; }
|
|
3424
3429
|
.card-info h2 { font-size: 15px; font-weight: 600; margin-bottom: 2px; }
|
|
3425
3430
|
.card-info p { font-size: 13px; color: var(--text-muted); }
|
|
3426
3431
|
.card-meta {
|
|
@@ -3434,7 +3439,7 @@ function generateAndOpenLaunchpad() {
|
|
|
3434
3439
|
background: rgba(255, 255, 255, 0.06);
|
|
3435
3440
|
padding: 4px 10px;
|
|
3436
3441
|
border-radius: 20px;
|
|
3437
|
-
color: #
|
|
3442
|
+
color: #c77dea;
|
|
3438
3443
|
}
|
|
3439
3444
|
.status-dot {
|
|
3440
3445
|
width: 8px;
|
|
@@ -3460,13 +3465,43 @@ function generateAndOpenLaunchpad() {
|
|
|
3460
3465
|
<body>
|
|
3461
3466
|
<div class="container">
|
|
3462
3467
|
<div class="header">
|
|
3463
|
-
<div class="logo"
|
|
3468
|
+
<div class="logo">
|
|
3469
|
+
<svg class="logo-mark" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg">
|
|
3470
|
+
<defs>
|
|
3471
|
+
<linearGradient id="bdbPlateLight" x1="0%" y1="0%" x2="100%" y2="100%">
|
|
3472
|
+
<stop offset="0%" stop-color="#FFFFFF"/><stop offset="60%" stop-color="#FFFFFF"/><stop offset="100%" stop-color="#E7E7EA"/>
|
|
3473
|
+
</linearGradient>
|
|
3474
|
+
<linearGradient id="bdbPlateDark" x1="0%" y1="0%" x2="0%" y2="100%">
|
|
3475
|
+
<stop offset="0%" stop-color="#1C1C1F"/><stop offset="100%" stop-color="#050505"/>
|
|
3476
|
+
</linearGradient>
|
|
3477
|
+
</defs>
|
|
3478
|
+
<circle cx="256" cy="256" r="195" fill="url(#bdbPlateDark)" stroke="#FFFFFF" stroke-width="2" stroke-opacity="0.6"/>
|
|
3479
|
+
<circle cx="256" cy="256" r="175" fill="#0a0a0a"/>
|
|
3480
|
+
<g transform="translate(70, 68) scale(1.0)">
|
|
3481
|
+
<path fill="url(#bdbPlateLight)" d="M181.63.05c101.39-2.47,184.56,80.09,190.14,179.93,5.53,99.03-66.16,185.42-165.11,195.46-87.39,8.86-171.1-45.56-197.67-128.96C-28.74,128.03,56.78,3.1,181.63.05h0ZM177.5,21.3C69.09,25.31-7.16,129.62,21.76,234.52c18.72,67.88,81.56,116.7,151.53,121.32,106.21,7.03,195.6-81.63,179.68-189.06-12.54-84.65-89.81-148.66-175.47-145.49h0Z"/>
|
|
3482
|
+
<g fill="#FFFFFF">
|
|
3483
|
+
<path d="M147.69,120.05c12.04.36,24.64-.72,36.62-.07,24.29,1.32,41.37,20.13,42.91,43.99-.69,16.35.57,33.42-.28,49.69-1.31,25.42-18.55,43.75-44.02,45.64-9.59.72-20.14.69-29.78.84-4.97.08-9.9.68-10.37-5.66s.43-9.41.34-14.03c12.65-11.84,14.75-31.17,4.75-45.41-.63-.9-2.26-2.34-2.62-3.17s-.46-12.58-.26-14.37,1.1-3.52,1.46-5.16c1.21-5.42,1.06-11.26-.39-16.62-.41-1.54-1.48-3.56-1.63-4.99-.47-4.28-.14-9.67-.26-14.08-.11-3.56-.84-8.43-.57-11.86s1.32-4.35,4.08-4.75h0ZM162.03,135.5c-4.32.73-3.34,6.65-3.26,10.01.17,6.21.91,12.51,1.13,18.73.83,23.13-1.03,45.49-1.41,68.42-.07,3.93-1.27,10.87,4.01,11.46,10.36-.51,21.39,1.89,31.38-1.45,13.74-4.59,20.43-17.79,19.81-31.81-1.77-14.46-1.19-29.09-1.94-43.58-.52-10.12-3.97-20.33-12.44-26.46-10.8-7.82-24.82-4.88-37.29-5.34h0Z"/>
|
|
3484
|
+
<path d="M232.66,132.46c9.53.36,19.74-.72,29.19-.08,22.64,1.52,33.92,28.58,21.93,47.05-1.49,2.3-4.32,4.47-3.85,7.42.47,2.95,5.64,6.21,7.42,8.3,11.88,13.96,8.41,35.69-6.91,45.49-7.85,5.02-14.69,4.43-23.56,4.86-7.67.37-16.24,1.05-23.91.66-1.66-.08-2.98-.73-3.68-2.32s-.52-7.28-.43-9.26c.36-6.63,3.52-13.04,3.89-20.39.58-11.38-.1-23.12-.3-34.49-.1-5.68.32-11.44-.3-17.08-.41-3.82-1.64-7.52-1.89-11.35-.25-3.85-.18-7.99-.26-11.88-.07-2.84-1.26-6.03,2.68-6.95h-.01ZM243.68,144.59c-3.41.77-2.55,6.7-2.66,9.2-.28,6.08-.58,12.36-.29,18.47.1,2.06.36,6.36.9,8.21.54,1.85.84,1.79,1.66,2.19,1.66.83,8-.68,10.26-.88,4.22-.39,8.12.03,12.28-1.24,16.76-5.12,16.53-26.53,1.01-33.02-15.52-6.5-13.5-2.7-18.82-2.98-5.31-.28-3.37-.17-4.36.06h.03ZM243.68,194.52c-3.49.79-2.58,8.66-2.68,11.39-.26,7.05-1.06,17.41.07,24.21,1.13,6.8,2.63,3.38,5.32,3.26,3.96-.19,8.36-1.32,12.4-1.67,5.85-.5,10.68.22,16.24-2.25,13.6-6.04,12.62-25.27-.46-31.46-5.63-2.66-9.89-1.97-15.78-2.43-3.57-.28-7.2-.92-10.76-1.1-1.12-.06-3.35-.17-4.36.06h0Z"/>
|
|
3485
|
+
<path d="M90.59,133.03c8.84-.44,25.24-1.08,33.23,1.92,18.07,6.77,23.99,29.96,13.56,45.7-1.6,2.41-4.52,4.44-3.28,7.75.69,1.85,5.41,5.42,7.03,7.31,11.86,13.82,8.77,35.23-6.25,45.33-15.02,10.1-23.31,5.27-34.44,5.56-4.12.11-10.36.88-14.32.28-2.22-.34-3.45-2.79-3.48-4.83-.11-7.84.77-15.89,1.1-23.71.99-23.09,1.31-45.33.57-68.43-.14-4.15-1.05-9.79-.57-13.79.43-3.52,4.1-2.95,6.84-3.09h0ZM98.3,145.15c-1.71.29-2.98,1.7-3.21,3.41-.15,1.19-.23,3.13-.3,4.39-.39,8.01-.9,19.53.58,27.27.23,1.24.57,2.55,1.82,3.15,1.81.84,7.03-.55,9.32-.76,3.3-.3,6.62-.1,9.89-.59,21.2-3.21,21.02-29.7,1.28-34.86-4.36-1.14-13.16-1.92-17.79-2.07-.55-.01-1.03-.03-1.59.07h0ZM98.03,195.09c-4.25.88-2.46,6.76-3.24,9.72-.06,7.92-.55,15.86,0,23.75.22,3.21.77,5.75,4.57,5.67,3.82-.08,8.46-1.32,12.41-1.67,5.55-.48,11.21.12,16.48-2,14.62-5.88,13.53-26.13-.52-32.17-5.13-2.21-8.25-1.59-13.48-1.97-4.69-.34-9.7-1.23-14.35-1.38-.62-.01-1.26-.07-1.86.06h-.01Z"/>
|
|
3486
|
+
</g>
|
|
3487
|
+
</g>
|
|
3488
|
+
</svg>
|
|
3489
|
+
<span class="logo-badge">BDB Agent OS</span>
|
|
3490
|
+
</div>
|
|
3464
3491
|
<p class="tagline">Local Multi-Agent Ecosystem Hub</p>
|
|
3465
3492
|
</div>
|
|
3466
3493
|
<div class="grid">
|
|
3467
3494
|
<a class="card" href="http://127.0.0.1:8088" target="_blank">
|
|
3468
3495
|
<div class="card-content">
|
|
3469
|
-
<div class="card-icon"
|
|
3496
|
+
<div class="card-icon"><svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
|
|
3497
|
+
<defs><linearGradient id="grad-memb" x1="50%" y1="0%" x2="50%" y2="100%"><stop offset="0%" stop-color="#FFFFFF"/><stop offset="100%" stop-color="#51116F"/></linearGradient></defs>
|
|
3498
|
+
<polygon points="50,10 85,45 50,90 15,45" fill="url(#grad-memb)" opacity="0.9"/>
|
|
3499
|
+
<polyline points="50,10 50,90" stroke="#FFFFFF" stroke-width="2" opacity="0.6"/>
|
|
3500
|
+
<polyline points="15,45 85,45" stroke="#FFFFFF" stroke-width="2" opacity="0.6"/>
|
|
3501
|
+
<line x1="50" y1="45" x2="70" y2="25" stroke="#FFFFFF" stroke-width="1.5" opacity="0.5"/>
|
|
3502
|
+
<line x1="50" y1="45" x2="30" y2="70" stroke="#FFFFFF" stroke-width="1.5" opacity="0.5"/>
|
|
3503
|
+
<circle cx="50" cy="45" r="4" fill="#FFFFFF"/><circle cx="70" cy="25" r="2" fill="#FFFFFF"/><circle cx="30" cy="70" r="2" fill="#FFFFFF"/>
|
|
3504
|
+
</svg></div>
|
|
3470
3505
|
<div class="card-info">
|
|
3471
3506
|
<h2>memB Vector Memory</h2>
|
|
3472
3507
|
<p>Autonomous Vector & Long-Term Memory</p>
|
|
@@ -3479,7 +3514,15 @@ function generateAndOpenLaunchpad() {
|
|
|
3479
3514
|
</a>
|
|
3480
3515
|
<a class="card" href="http://127.0.0.1:7781" target="_blank">
|
|
3481
3516
|
<div class="card-content">
|
|
3482
|
-
<div class="card-icon"
|
|
3517
|
+
<div class="card-icon"><svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
|
|
3518
|
+
<defs><linearGradient id="grad-synapse" x1="50%" y1="0%" x2="50%" y2="100%"><stop offset="0%" stop-color="#FFFFFF"/><stop offset="100%" stop-color="#51116F"/></linearGradient></defs>
|
|
3519
|
+
<rect x="20" y="55" width="14" height="30" rx="2" fill="url(#grad-synapse)" opacity="0.85"/>
|
|
3520
|
+
<rect x="43" y="35" width="14" height="50" rx="2" fill="url(#grad-synapse)" opacity="0.9"/>
|
|
3521
|
+
<rect x="66" y="45" width="14" height="40" rx="2" fill="url(#grad-synapse)" opacity="0.8"/>
|
|
3522
|
+
<line x1="27" y1="55" x2="50" y2="35" stroke="#FFFFFF" stroke-width="1.5" opacity="0.5"/>
|
|
3523
|
+
<line x1="50" y1="35" x2="73" y2="45" stroke="#FFFFFF" stroke-width="1.5" opacity="0.5"/>
|
|
3524
|
+
<circle cx="27" cy="55" r="3" fill="#FFFFFF"/><circle cx="50" cy="35" r="3" fill="#FFFFFF"/><circle cx="73" cy="45" r="3" fill="#FFFFFF"/>
|
|
3525
|
+
</svg></div>
|
|
3483
3526
|
<div class="card-info">
|
|
3484
3527
|
<h2>Synapse 3D</h2>
|
|
3485
3528
|
<p>Interactive Codebase Topology & Sessions</p>
|
|
@@ -3492,7 +3535,40 @@ function generateAndOpenLaunchpad() {
|
|
|
3492
3535
|
</a>
|
|
3493
3536
|
<a class="card" href="http://127.0.0.1:3101" target="_blank">
|
|
3494
3537
|
<div class="card-content">
|
|
3495
|
-
<div class="card-icon"
|
|
3538
|
+
<div class="card-icon"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg">
|
|
3539
|
+
<defs>
|
|
3540
|
+
<linearGradient id="plateLight" x1="0%" y1="0%" x2="0%" y2="100%"><stop offset="0%" stop-color="#FFFFFF"/><stop offset="60%" stop-color="#FFFFFF"/><stop offset="100%" stop-color="#E7E7EA"/></linearGradient>
|
|
3541
|
+
<linearGradient id="plateMid" x1="0%" y1="0%" x2="0%" y2="100%"><stop offset="0%" stop-color="#9b30c4"/><stop offset="100%" stop-color="#51116F"/></linearGradient>
|
|
3542
|
+
<linearGradient id="plateDark" x1="0%" y1="0%" x2="0%" y2="100%"><stop offset="0%" stop-color="#1C1C1F"/><stop offset="100%" stop-color="#050505"/></linearGradient>
|
|
3543
|
+
</defs>
|
|
3544
|
+
<g id="antennae" stroke="#000000" stroke-width="2.5" stroke-linejoin="round">
|
|
3545
|
+
<rect x="180" y="45" width="20" height="30" rx="2" fill="url(#plateLight)"/><polygon points="180,45 190,25 200,45" fill="#FFFFFF"/><circle cx="190" cy="25" r="4" fill="#FFFFFF"/>
|
|
3546
|
+
<rect x="186" y="80" width="22" height="34" rx="2" fill="url(#plateMid)"/><rect x="194" y="118" width="24" height="38" rx="2" fill="url(#plateDark)"/><rect x="202" y="160" width="26" height="38" rx="2" fill="url(#plateDark)"/>
|
|
3547
|
+
<rect x="312" y="45" width="20" height="30" rx="2" fill="url(#plateLight)"/><polygon points="312,45 322,25 332,45" fill="#FFFFFF"/><circle cx="322" cy="25" r="4" fill="#FFFFFF"/>
|
|
3548
|
+
<rect x="304" y="80" width="22" height="34" rx="2" fill="url(#plateMid)"/><rect x="294" y="118" width="24" height="38" rx="2" fill="url(#plateDark)"/><rect x="284" y="160" width="26" height="38" rx="2" fill="url(#plateDark)"/>
|
|
3549
|
+
</g>
|
|
3550
|
+
<g id="head" stroke="#000000" stroke-width="2.5" stroke-linejoin="round">
|
|
3551
|
+
<rect x="238" y="170" width="36" height="32" rx="3" fill="url(#plateLight)"/>
|
|
3552
|
+
<rect x="156" y="206" width="200" height="88" rx="6" fill="url(#plateDark)"/>
|
|
3553
|
+
<rect x="136" y="230" width="20" height="40" rx="3" fill="url(#plateMid)"/><rect x="356" y="230" width="20" height="40" rx="3" fill="url(#plateMid)"/>
|
|
3554
|
+
</g>
|
|
3555
|
+
<g id="eyes">
|
|
3556
|
+
<rect x="174" y="222" width="56" height="52" rx="5" fill="#000000" stroke="#FFFFFF" stroke-width="2"/><rect x="180" y="228" width="44" height="40" rx="3" fill="url(#plateDark)"/>
|
|
3557
|
+
<circle cx="202" cy="248" r="14" fill="#FFFFFF" opacity="0.3"/><circle cx="202" cy="248" r="7" fill="#FFFFFF"/><circle cx="205" cy="245" r="2.5" fill="#FFFFFF"/>
|
|
3558
|
+
<rect x="282" y="222" width="56" height="52" rx="5" fill="#000000" stroke="#FFFFFF" stroke-width="2"/><rect x="288" y="228" width="44" height="40" rx="3" fill="url(#plateDark)"/>
|
|
3559
|
+
<circle cx="310" cy="248" r="14" fill="#FFFFFF" opacity="0.3"/><circle cx="310" cy="248" r="7" fill="#FFFFFF"/><circle cx="313" cy="245" r="2.5" fill="#FFFFFF"/>
|
|
3560
|
+
</g>
|
|
3561
|
+
<g id="mandibles" stroke="#000000" stroke-width="2.5">
|
|
3562
|
+
<rect x="226" y="298" width="60" height="18" rx="3" fill="url(#plateLight)"/>
|
|
3563
|
+
<rect x="236" y="303" width="10" height="8" rx="1.5" fill="#51116F"/><rect x="251" y="303" width="10" height="8" rx="1.5" fill="#51116F"/><rect x="266" y="303" width="10" height="8" rx="1.5" fill="#51116F"/>
|
|
3564
|
+
<polygon points="196,300 220,300 206,340" fill="url(#plateLight)"/><polygon points="316,300 292,300 306,340" fill="url(#plateLight)"/>
|
|
3565
|
+
</g>
|
|
3566
|
+
<g id="thorax" stroke="#000000" stroke-width="2.5" stroke-linejoin="round">
|
|
3567
|
+
<rect x="180" y="336" width="152" height="74" rx="6" fill="url(#plateMid)"/>
|
|
3568
|
+
<rect x="216" y="352" width="80" height="42" rx="4" fill="#0c0414" stroke="#FFFFFF" stroke-width="1.5"/>
|
|
3569
|
+
<text x="256" y="378" fill="#FFFFFF" font-family="monospace" font-size="14" font-weight="900" text-anchor="middle" letter-spacing="3">BDB</text>
|
|
3570
|
+
</g>
|
|
3571
|
+
</svg></div>
|
|
3496
3572
|
<div class="card-info">
|
|
3497
3573
|
<h2>AO — Agent Orchestrator</h2>
|
|
3498
3574
|
<p>Multi-Agent Cockpit & Git-Worktree Orchestration</p>
|
|
@@ -3505,7 +3581,15 @@ function generateAndOpenLaunchpad() {
|
|
|
3505
3581
|
</a>
|
|
3506
3582
|
<a class="card" href="http://127.0.0.1:9080" target="_blank">
|
|
3507
3583
|
<div class="card-content">
|
|
3508
|
-
<div class="card-icon"
|
|
3584
|
+
<div class="card-icon"><svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
|
|
3585
|
+
<defs><linearGradient id="grad-remote" x1="50%" y1="0%" x2="50%" y2="100%"><stop offset="0%" stop-color="#FFFFFF"/><stop offset="100%" stop-color="#51116F"/></linearGradient></defs>
|
|
3586
|
+
<circle cx="50" cy="50" r="32" fill="none" stroke="url(#grad-remote)" stroke-width="3" opacity="0.6"/>
|
|
3587
|
+
<circle cx="50" cy="50" r="8" fill="url(#grad-remote)"/>
|
|
3588
|
+
<circle cx="50" cy="14" r="4" fill="#FFFFFF"/><circle cx="82" cy="65" r="4" fill="#FFFFFF"/><circle cx="18" cy="65" r="4" fill="#FFFFFF"/>
|
|
3589
|
+
<line x1="50" y1="50" x2="50" y2="18" stroke="#FFFFFF" stroke-width="1.5" opacity="0.6"/>
|
|
3590
|
+
<line x1="50" y1="50" x2="79" y2="63" stroke="#FFFFFF" stroke-width="1.5" opacity="0.6"/>
|
|
3591
|
+
<line x1="50" y1="50" x2="21" y2="63" stroke="#FFFFFF" stroke-width="1.5" opacity="0.6"/>
|
|
3592
|
+
</svg></div>
|
|
3509
3593
|
<div class="card-info">
|
|
3510
3594
|
<h2>RemoteOS Gateway</h2>
|
|
3511
3595
|
<p>Multi-Cloud Execution & 4-Eyes Approval Gateway</p>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hybridlabor-api/aos",
|
|
3
|
-
"version": "4.4.2-beta.
|
|
3
|
+
"version": "4.4.2-beta.9",
|
|
4
4
|
"description": "AOS — A Curated AI AGENT OS. Optimized agent skills and add-ons like memB, OpenWiki, Heimdall Token Saver, and Godmode architectures.",
|
|
5
5
|
"main": "installer.js",
|
|
6
6
|
"engines": {
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: live-preview-canvas
|
|
3
|
+
description: A prototyping skill that generates a local HTML mock with a built-in feedback layer, allowing users to drop visual comments (red dots) for UI fixes.
|
|
4
|
+
category: design-ui-ux
|
|
5
|
+
---
|
|
6
|
+
# live-preview-canvas
|
|
7
|
+
|
|
8
|
+
**live-preview-canvas** is an AOS (BDB Agent OS) skill designed to bridge the gap between design and implementation feedback. It combines rapid local prototyping with direct visual feedback.
|
|
9
|
+
|
|
10
|
+
## Workflow
|
|
11
|
+
|
|
12
|
+
1. **Generate Prototype**: The agent uses the `base_template.html` to generate a local HTML mock of a UI component or page.
|
|
13
|
+
2. **Review & Comment**: The user opens the HTML file in their browser. They can click anywhere on the UI to leave a visual comment (represented by a red dot) and enter text detailing what needs to be fixed or changed.
|
|
14
|
+
3. **Export Feedback**: The user clicks the "Export Feedback" button to generate a JSON payload of all comments, including coordinates and text.
|
|
15
|
+
4. **Agent Action**: The agent reads the exported feedback (either pasted back by the user or saved to a file) and correlates the visual comments with the UI structure to apply precise fixes.
|
|
16
|
+
|
|
17
|
+
## Usage
|
|
18
|
+
|
|
19
|
+
When a user requests a UI prototype or a visual iteration, copy the contents of `scripts/base_template.html` and inject your HTML/CSS/JS for the prototype into the designated areas. Instruct the user to open the file, click to leave feedback, and share the exported JSON back for the next iteration.
|