AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
A multi-protocol gateway for the Web using ActivityStream messages.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A protocol gateway for the web.
Sockethub lets browser apps talk to IRC, XMPP, feeds, and other protocols using
one ActivityStreams JSON format. Your app sends a single message shape, and
Sockethub handles connections, credentials, and protocol translation.
• Send and receive chat messages (IRC, XMPP)
• Fetch and parse feeds (RSS, Atom)
• Generate link previews and metadata
• Add new protocols as custom platforms
Sockethub uses ActivityStreams JSON for all platforms. Your app sends the same
shape for IRC, XMPP, feeds, and more, and receives the same shape back. Only
the @context changes.README 전문 보기 ↗A protocol gateway for the web.
Sockethub lets browser apps talk to IRC, XMPP, feeds, and other protocols using one ActivityStreams JSON format. Your app sends a single message shape, and Sockethub handles connections, credentials, and protocol translation.
Sockethub uses ActivityStreams JSON for all platforms. Your app sends the same
shape for IRC, XMPP, feeds, and more, and receives the same shape back. Only
the @context changes.
The @context selects a platform; the rest stays consistent.
Sockethub is a translation layer for web applications to communicate with protocols and services that are impractical to use from in-browser JavaScript. It runs server-side, keeps long-lived connections, and exposes everything as ActivityStreams JSON.
Built with modern TypeScript and running on Node.js, Sockethub is organized as a monorepo with packages for the server, client, schemas, and platforms. (Development uses Bun as the toolchain; see Contributing.)
Originally inspired as a sister project to RemoteStorage, and assisting in the development of unhosted and noBackend, Sockethub also fits into traditional stacks by removing protocol-specific code from the application layer.
Sockethub runs each protocol in its own process and moves messages through Redis so browsers can talk to long-lived connections safely.
packages/server/) - Socket.IO, validation, routingRequest Flow:
For detailed architecture documentation, see Architecture.
Sockethub standardizes platform actions as ActivityStreams type values. For
example, an XMPP friend request can be modeled as request-friend,
remove-friend, and make-friend in a consistent format.
Create a platform module that defines a schema and maps ActivityStreams verbs.
Enable or disable platforms in config.json.
# Start Redis (required for data layer)
# - Docker: docker run -d -p 6379:6379 redis:alpine
# - Homebrew: brew install redis && brew services start redis
# Install and run the server (Node.js)
npm install -g sockethub
sockethub --help
sockethub --host 0.0.0.0
Or run with Docker (docker compose up sockethub), which builds and runs the
server on Node.js.
Contributors use Bun as the toolchain. See Contributing for the full workflow.
bun install # install workspace dependencies
bun run dev # dev server with examples, HTTP actions, and hot reload
Open http://localhost:10550/examples for the interactive examples. The root
URL serves a server info page.
For debugging and configuration options, see the Server package documentation.
sockethub --examples)Project created and maintained by Nick Jennings
Logo design by Jan-Christoph Borchardt
Sponsored by NLNET