8e69ac185ea7d3b5964ea25a4c3104e0e35b3aef
- ChatPanel: add 'chat-message ${role}' CSS classes to message wrappers
so .chat-message.user and .chat-message.assistant rules apply correctly
- LoginPage: rename className 'login-error' -> 'error' to match the
.login-card .error selector in globals.css
- MCPAppRenderer: verify event.source matches iframe contentWindow before
processing postMessage to close cross-window injection vector
- App: remove redundant await refresh() after createNew() since
createNew() already calls refresh() internally
- useArtifacts: wrap listArtifacts call in try/catch with console.error,
matching the error-handling pattern already used in useSessions
Research Workbench
AI-powered research tool: chat + live browser + artifacts. Backed by amplifierd.
See DESIGN.md for the full architecture.
Quick Start
# Build
docker build -t research-workbench .
# Run
docker run -d --name research-workbench \
-p 8080:8080 \
-p 6080:6080 \
-e ANTHROPIC_API_KEY="$ANTHROPIC_API_KEY" \
research-workbench
research.ampbox.io -- the app vnc.ampbox.io -- the live browser
Description
Languages
TypeScript
51.6%
Python
24.2%
Shell
17.8%
HTML
2.7%
CSS
2%
Other
1.7%