https://github.com/rogerchappel/agentglow
Local-first visual presence SDK for agent-mode interfaces.
https://github.com/rogerchappel/agentglow
accessibility agent-mode agent-ui ai audio-visualizer local-first presence react svg typescript
Last synced: 9 days ago
JSON representation
Local-first visual presence SDK for agent-mode interfaces.
- Host: GitHub
- URL: https://github.com/rogerchappel/agentglow
- Owner: rogerchappel
- License: mit
- Created: 2026-05-01T06:36:58.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-05-17T01:18:35.000Z (18 days ago)
- Last Synced: 2026-05-17T02:47:29.969Z (18 days ago)
- Topics: accessibility, agent-mode, agent-ui, ai, audio-visualizer, local-first, presence, react, svg, typescript
- Language: TypeScript
- Size: 91.8 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
- Roadmap: ROADMAP.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
# AgentGlow
A design-led visual presence SDK for agent-mode interfaces — the quiet glow that tells users whether their agent is listening, thinking, speaking, working, waiting, blocked, or celebrating.
AgentGlow is **not** chat UI, and it is not a basic audio waveform. It is the layer that makes an agent feel operationally present: listening, thinking, speaking, running tools, waiting for approval, blocked, interrupted, or done — with themeable visuals, accessibility semantics, and audio-reactive inputs.
## Install
```sh
npm install agentglow
# optional local fixture renderer
npx agentglow-render --fixture tests/fixtures/presence-run.json --out frame.svg
```
The v0.1 package ships the local-first monorepo runtime as `agentglow`, `agentglow/core`, and `agentglow/react`. Published exports point at built JavaScript plus declaration files, while the TypeScript sources remain included for auditability.
## Quickstart
```tsx
import { AgentGlow } from 'agentglow/react';
export function AssistantPresence() {
return (
);
}
```
## Core controller
```ts
import { createAgentGlowController, renderAgentGlowToSvg } from 'agentglow/core';
const glow = createAgentGlowController({ preset: 'console-pulse' });
glow.send({ type: 'presence.tool.started', toolName: 'github.createPullRequest' });
glow.setInput({ progress: 0.35, activityLevel: 0.8 });
const frame = renderAgentGlowToSvg(glow.getSnapshot());
```
## Canonical states
`idle`, `listening`, `thinking`, `speaking`, `tool-running`, `waiting`, `blocked`, `error`, `success`, and `interrupted`.
## Presets
- `orb` — layered premium presence core.
- `waveform-halo` — audio-forward ring for listening/speaking.
- `constellation` — distributed reasoning field.
- `console-pulse` — operational/tool-running display.
- `minimal-dot-field` — quiet, brandable fallback.
## Personality
AgentGlow is meant to feel premium without becoming theatrical: calm when idle, focused under load, bright when speaking, precise during tool use, and unmistakably blocked when it needs human help. It gives your product a visual heartbeat without pretending to be the whole assistant.
## Demo and examples
- Demo playground: [`demo/playground.html`](demo/playground.html)
- CLI fixture smoke: `node bin/agentglow-render.mjs --fixture tests/fixtures/presence-run.json --out frame.svg`
- CrewCmd / AgentPulse mapping: [`examples/crewcmd`](examples/crewcmd)
- Recipes: [`docs/RECIPES.md`](docs/RECIPES.md)
## Accessibility and performance
AgentGlow exposes accessible labels, optional polite live-region text, reduced-motion fallbacks, contrast-aware theme normalization, local-only core behavior, and 60fps/30fps renderer targets.
See [`docs/ACCESSIBILITY.md`](docs/ACCESSIBILITY.md) and [`docs/PERFORMANCE.md`](docs/PERFORMANCE.md).
## API docs
See [`docs/API.md`](docs/API.md) and [`docs/architecture.md`](docs/architecture.md).
## Roadmap
- WebGL/canvas renderer adapters behind the same snapshot contract.
- Visual regression screenshots for every preset/state pair.
- Published package build pipeline and typed declaration output.
- More framework wrappers once the React contract is dogfooded.
## Verify
```sh
npm test
npm run check
npm run build
npm run pack:smoke
node bin/agentglow-render.mjs --fixture tests/fixtures/presence-run.json --out /tmp/agentglow.svg
bash scripts/validate.sh
```
## License
MIT