| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat(ui): UI enhancements | 3 个月前 | |
feat(hive): per-agent env metadata — cwdValid guard + agent-env query tool The roster surfaced tokens/cost/status but not a reliable, validated view of each agent's working directory, so respawning a worker next to a peer meant guessing the path — a non-absolute fragment ("ClaudeTerminalHarness") spawned into a nonexistent dir and failed silently. - hive.ts: ensureAgent() now validates meta.cwd (absolute AND exists) and persists `cwdValid` on the registry entry so the roster reliably exposes environment validity; logs a single `cwd_invalid` activity event only on the rare bad case (no per-spawn spam). Best-effort, never throws, spawn behaviour unchanged. - tools/agent-env.cjs: dependency-free CLI to query per-agent env/session metadata (cwd + cwdValid + provider/sessionId/status + live telemetry) from registry.json + fleet.json. Modes: table / <id> / --json / --all / --snapshot. Reads only non-secret roster files; emits paths + non-secret session metadata. - tools/AGENT-ENV.md: docs (what/where/how/security/respawn recipe). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> | 2 个月前 | |
feat(hive): per-agent env metadata — cwdValid guard + agent-env query tool The roster surfaced tokens/cost/status but not a reliable, validated view of each agent's working directory, so respawning a worker next to a peer meant guessing the path — a non-absolute fragment ("ClaudeTerminalHarness") spawned into a nonexistent dir and failed silently. - hive.ts: ensureAgent() now validates meta.cwd (absolute AND exists) and persists `cwdValid` on the registry entry so the roster reliably exposes environment validity; logs a single `cwd_invalid` activity event only on the rare bad case (no per-spawn spam). Best-effort, never throws, spawn behaviour unchanged. - tools/agent-env.cjs: dependency-free CLI to query per-agent env/session metadata (cwd + cwdValid + provider/sessionId/status + live telemetry) from registry.json + fleet.json. Modes: table / <id> / --json / --all / --snapshot. Reads only non-secret roster files; emits paths + non-secret session metadata. - tools/AGENT-ENV.md: docs (what/where/how/security/respawn recipe). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> | 2 个月前 | |
release(v0.4.3): Michael's portrait becomes the brand mark The logo was a pair of script initials on a gradient tile, drawn with the Lobster webfont — which had to be installed for the design source to render correctly. It is now Michael, in the app's own pixel art, on the brand yellow. The SVG is the source of truth. docs/logo.svg is authored as pure vector (every sprite pixel a run-merged rect; no fonts, gradients or filters) and every raster in build/ and docs/ is generated from that same geometry by tools/make-logo.cjs — including a real multi-resolution .icns (16..1024, with the macOS drop shadow) and a .ico carrying six sizes. Nothing is a downscale of a 512px image any more, and the site, the app and the three platform icons cannot drift apart. Also in this release: - Site CTA buttons are brighter by default. .btn.primary took its fill from --accent, which also colours accent TEXT and so has to stay dark enough to read on a white page; the light theme's #E5A00D made the download button read brown. Fills now use their own --accent-fill / --accent-fill-hover tokens, starting at what used to be the hover colour. - docs/llms.txt advertised 0.4.1 two releases after the fact. tools/check-release-links.cjs now checks it, so it cannot drift silently again. - README's version badge and status note had been stuck at 0.4.0. Appearance only — no functional change. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> | 26 天前 | |
feat(knowledge-graph): v1 vertical slice — ingest, store, agent CLI (flag OFF) Phase 2 of the enterprise Knowledge Graph. Behind knowledgeGraph.enabled (default OFF → zero behaviour change). Ships ingest → file-backed store → agent retrieval end-to-end for two modalities (text/markdown/code + images). - src/main/kg-core.cjs pure-JS core (parse/chunk/keyword-search), no native deps so it loads under both Electron main AND a plain node CLI (dodges the better-sqlite3 electron-ABI trap) - resources/kg.cjs agent-facing CLI: `kg search|list|get`, invoked via Bash like MemPalace; resolved + env-injected like md-slack-reply.cjs - src/main/knowledge.ts KnowledgeManager: active()/env()/status()/ingest/search, mirrors MemoryManager and slots into the spawn flow - config + spawn + prompt: knowledgeGraph flag; KG_ROOT/KG_CLI/KG_CORE injected when on; one flag-gated, cache-safe line in injectedPrompt - IPC + preload + Settings toggle (+ add-files picker); HarnessConfig mirrored across main/renderer/preload - test/kg-core.test.cjs 12 tests: tokenize/chunk/score + ingest→search round-trip for text & image + the real out-of-process kg CLI typecheck (node+web) clean; node test/kg-core.test.cjs green; build copies the sidecar and the bundled main keeps a runtime require('./kg-core.cjs'). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> | 2 个月前 | |
fix(pty): restore +x on node-pty spawn-helper so agents can spawn The prebuilds/<platform>/spawn-helper shipped mode 644; node-pty execs it via posix_spawnp, which failed on every pty.fork -> no agent (Michael) could spawn locally. Add a postinstall guard (tools/ensure-pty-perms.cjs) that chmod +x all node-pty spawn-helpers after electron-rebuild. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> | 3 个月前 | |
feat(tvshow): Brooklyn-99 precinct map + theme registration (Phase 2) Register the brooklyn99 theme (precinct bullpen: Captain Holt's glass office = desk-ceo, 8-desk detective bullpen pc-1..8, briefing room + break room with the coffee economy) and flip its picker card to built. - brooklyn99.tmj (36x24) generated by tools/gen-b99-map.cjs with a flood-fill validator (all seats/stands/spawns reachable from entrance). - BROOKLYN99_THEME authors layout-bound anchors (seats/cafe/coffee/props/ errands) to the new map; tilesets/monitor/palette/cast reuse the office theme as PLACEHOLDER art (Pam's license-clean B99 tileset + cast §C/§D drop into those seams later). - Engine/registration only; no office runtime change beyond registry+picker. typecheck:web + typecheck:node + electron-vite build all green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> | 2 个月前 | |
fix(brand): draw the Dock icon full bleed so the silhouette stops reading as debris The macOS icon showed two dark tabs hard against the left and right of the tile — reported, fairly, as "the edge of someone else's head." They are Michael's OWN outermost silhouette columns: the far edge of the hair (sprite rows 3-11) and the outer shoulder (rows 19-24), with the face between them. Nothing foreign, and nothing wrong with the sprite. The cause was the framing. make-logo emits two: `mark` at full bleed for the site and README, and `icon` with a 112/1024 margin for the .icns. That margin put a band of brand yellow between the tile edge and the figure, and the gap is what isolated those columns into floating tabs. Same pixels, different frame — which is why docs/logo.svg always looked right and only the Dock icon did not. FRAMES.icon is now 0. Not a single sprite pixel is cropped: cropping the outer columns was tried first and was wrong, because it cut away real hair and shoulder. docs/logo.* are byte-identical after this change, which is the proof that framing was the whole problem. Also fixes ROOT, which was pinned to a different clone — running the generator from this repo would have read that repo's sprite and written its assets. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> | 21 天前 | |
chore(launch): keep the Product Hunt gallery plate and its generator Generated during launch prep and left untracked. The plate is built from the same office sprites as the rest of the brand, so the generator belongs next to make-logo.cjs rather than in someone's scratch folder. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> | 26 天前 | |
release(v0.4.3): Michael's portrait becomes the brand mark The logo was a pair of script initials on a gradient tile, drawn with the Lobster webfont — which had to be installed for the design source to render correctly. It is now Michael, in the app's own pixel art, on the brand yellow. The SVG is the source of truth. docs/logo.svg is authored as pure vector (every sprite pixel a run-merged rect; no fonts, gradients or filters) and every raster in build/ and docs/ is generated from that same geometry by tools/make-logo.cjs — including a real multi-resolution .icns (16..1024, with the macOS drop shadow) and a .ico carrying six sizes. Nothing is a downscale of a 512px image any more, and the site, the app and the three platform icons cannot drift apart. Also in this release: - Site CTA buttons are brighter by default. .btn.primary took its fill from --accent, which also colours accent TEXT and so has to stay dark enough to read on a white page; the light theme's #E5A00D made the download button read brown. Fills now use their own --accent-fill / --accent-fill-hover tokens, starting at what used to be the hover colour. - docs/llms.txt advertised 0.4.1 two releases after the fact. tools/check-release-links.cjs now checks it, so it cannot drift silently again. - README's version badge and status note had been stuck at 0.4.0. Appearance only — no functional change. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> | 26 天前 | |
fix(windows): guard node-pty ConPTY AttachConsole crash + main resilience (#65) Companion to #54 (Antigravity provider): spawning an `agy` worker on Windows could take the whole app down when the worker exits. node-pty forks conpty_console_list_agent.js to enumerate console processes on a pty's death; getConsoleProcessList throws "AttachConsole failed" UNCAUGHT in that forked helper (the agy Go binary manages its own console, already gone), cascading to exit 255. - tools/patch-node-pty-conpty.cjs: postinstall patcher (after electron-rebuild, alongside ensure-pty-perms) that wraps the helper's getConsoleProcessList in try/catch → degrades to an empty list. Windows-only, idempotent, best-effort. - main: process-level uncaughtException/unhandledRejection guards that log and keep running — a long-running multi-agent supervisor shouldn't die from a single stray throw in a forked helper. Co-authored-by: Gulum <gulum@rismer.de> | 2 个月前 | |
chore(launch): keep the Product Hunt gallery plate and its generator Generated during launch prep and left untracked. The plate is built from the same office sprites as the rest of the brand, so the generator belongs next to make-logo.cjs rather than in someone's scratch folder. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> | 26 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 3 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 26 天前 | ||
| 2 个月前 | ||
| 3 个月前 | ||
| 2 个月前 | ||
| 21 天前 | ||
| 26 天前 | ||
| 26 天前 | ||
| 2 个月前 | ||
| 26 天前 |