Skip to content

muke1908/noconsole

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

23 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

NoConsole

A real-time WebSocket-based log streaming system with AI-powered analysis.

πŸ“¦ Packages

@noconsole/logger

Drop-in replacement for the browser console API that routes all output over a WebSocket.

import { WebSocketLogger } from '@noconsole/logger';
const logger = new WebSocketLogger('ws://localhost:8080');

logger.log('Hello world!', { foo: 'bar' });
logger.warn('High memory', { usage: '92%' });
logger.error('Unhandled rejection', err);
// Sends: { type, args, timestamp, id }
  • Full Console interface (log, warn, error, info, debug, time/timeEnd, count, table, group, …)
  • WebSocket | null β€” caller owns the socket lifecycle
  • Silent no-op when socket is null or not OPEN
  • Full TypeScript support

@noconsole/streamer

All-in-one viewer: a WebSocket broadcast server plus the React web client in a single package.

Server (packages/streamer/server/index.js)

Minimal WebSocket server that accepts connections from @noconsole/logger instances and broadcasts each message to all connected viewer clients.

npm run server --workspace=packages/streamer
# or
node packages/streamer/server/index.js

Listens on ws://localhost:8080 by default (override with PORT=…).

Client (React + Vite)

Real-time log viewer served at http://localhost:5173 in dev mode.

  • Virtualized list (@tanstack/react-virtual) β€” handles thousands of entries without degradation
  • Level filters: All / Log / Info / Warn / Error / Debug
  • Search: real-time substring match with inline highlight; case-sensitivity toggle
  • Pause/Resume: buffers up to 10k logs while paused, flushes on resume
  • Auto-scroll with smart manual override
  • AI Analysis panel: streams logs to a local Ollama instance, response parsed into Errors / Warnings / Performance / Recommendations
  • Export logs as JSON

πŸ—‚οΈ Monorepo Structure

noconsole/
β”œβ”€β”€ packages/
β”‚   β”œβ”€β”€ logger/          # @noconsole/logger β€” WebSocket logger library
β”‚   └── streamer/        # @noconsole/streamer β€” WS server + React viewer
β”‚       └── server/      #   broadcast server (Node.js)
└── package.json         # workspace root

πŸš€ Quick Start

# 1. Install all dependencies
npm install

# 2. Build all packages
npm run build

# 3a. Start the broadcast server
npm run server

# 3b. In another terminal, start the dev viewer (client + server together)
npm run dev

npm run dev inside packages/streamer starts both the WS server and the Vite dev server concurrently via concurrently.

πŸ—οΈ Architecture

Log Message Format

interface LogMessage {
  type: 'log' | 'warn' | 'error' | 'info' | 'debug' | ...;
  args: any[];
  timestamp: number;
  id: string;
}

Logger Package

  • WebSocketLogger.ts β€” implements the Console interface
  • index.ts β€” public API
  • index.test.ts β€” Jest tests

Streamer Package

  • server/index.js β€” Node.js WebSocket broadcast server
  • src/ β€” React + TypeScript viewer
    • Hooks: useWebSocket (connection + log state), useLLM (Ollama)
    • Components: Header, FilterBar, LogViewer, LogRow, LLMPanel

πŸ› οΈ Commands

# Root
npm install           # install all workspace dependencies
npm run build         # build all packages
npm run dev           # start streamer dev server (WS + Vite)
npm run server        # start WS broadcast server only
npm test              # run logger tests

# packages/logger
npm run build
npm test

# packages/streamer
npm run dev           # WS server + Vite (concurrent)
npm run build         # production build
npm run server:start  # WS server only

πŸ€– AI Analysis

  1. Install Ollama and pull a model: ollama pull llama3.2
  2. Start Ollama (http://localhost:11434)
  3. Click AI Analysis in the viewer
  4. Select your model and click Analyze Logs

πŸ“„ License

MIT

About

Stream your browser logs via websocket

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors