惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

aimingoo的专栏
aimingoo的专栏
量子位
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
S
Schneier on Security
Cisco Talos Blog
Cisco Talos Blog
T
ThreatConnect
J
Java Code Geeks
博客园 - 司徒正美
A
Arctic Wolf
T
True Tiger Recordings
C
Cybersecurity and Infrastructure Security Agency CISA
Cyberwarzone
Cyberwarzone
Know Your Adversary
Know Your Adversary
T
Threat Research - Cisco Blogs
V
Vulnerabilities – Threatpost
Recorded Future
Recorded Future
P
Palo Alto Networks Blog
The Hacker News
The Hacker News
The Register - Security
The Register - Security
S
Securelist
www.infosecurity-magazine.com
www.infosecurity-magazine.com
C
CXSECURITY Database RSS Feed - CXSecurity.com
Application and Cybersecurity Blog
Application and Cybersecurity Blog
I
Intezer
P
Privacy & Cybersecurity Law Blog
Scott Helme
Scott Helme
K
Kaspersky official blog
博客园 - 聂微东
Last Week in AI
Last Week in AI
V
V2EX
小众软件
小众软件
F
Fox-IT International blog
Martin Fowler
Martin Fowler
Apple Machine Learning Research
Apple Machine Learning Research
T
Tenable Blog
F
Future of Privacy Forum
Microsoft Security Blog
Microsoft Security Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
腾讯CDC
Stack Overflow Blog
Stack Overflow Blog
C
Check Point Blog
阮一峰的网络日志
阮一峰的网络日志
GbyAI
GbyAI
T
Threatpost
I
InfoQ
P
Proofpoint News Feed
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
T
Tor Project blog
G
GRAHAM CLULEY
D
DataBreaches.Net

Hacker News: Show HN

Show HN: Feynman AI research Assistant plugin for Obsidian Show HN: SynapCores – AI-native database (vector, graph, SQL, AutoML, LLM) GitHub - erikshelley/complete-family-tree-viewer: A webpage for viewing all of a person's family tree at once GitHub - Noumenon-ai/AutoMaxFix: Controlled AI repair loop. Audit → Reproduce → Patch → Test → Report. Safety boundaries most AI agents skip. Show HN: Plonk – Spotlight Search style Python interpreter Open Satchel — A free local-first PDF editor. Show HN: Hackobar – One feed for AI news Show HN: TiltBump, a mobile web game controlled by phone tilt Show HN: A tool to replace x.com with tweet.md for X threads as Markdown Show HN: Symbol Combos Copy and Paste Show HN: JustBookmarks – a simple browser-independent bookmark manager SailWP. WordPress without the weight. Show HN: Widget Cast – Video Widgets for iOS PhoneDiffusion App - App Store Show HN: NanoApps: Run custom homebrew apps on iPod nano 7th generation Breadboard Knockout GitHub - elixir-volt/volt: Elixir-native frontend build tool — dev server, HMR, and production builds for JavaScript, TypeScript, Vue SFCs, and CSS. No Node.js required. Show HN: GuideOS – A radar-first, off-grid navigation kernel for edge robotics State lives on disk, not in chat Show HN: My biggest solo-project: Game engine with its own programming language MarketChacha | Stock Trading Community for Real Market Discussion GitHub - dmitryAQA/playwright-bdr-template Kubernetes, explained — interactive walkthroughs Show HN: Proj – organize your coding projects with categories and one-key CD Show HN: I made a compiler/VM for untrusted scripts Show HN: Stumpy – StumbleUpon Re-Created Show HN: Reward Is Not Reinforcement Until Admitted GitHub - dominikhei/cardamon: Cardamon is a cleanup tool for Prometheus that collects unused metrics from Grafana and Prometheus and generates drop statements for them. GitHub - NavodPeiris/grizzlars: High-performance DataFrame library written in C++ with Python bindings. Peakedin - LinkedIn's finest moments, curated weekly Planetensuche GitHub - cnemri/awesome-gemini-omni: A curated list of awesome Google Gemini Omni prompt guides, interactive platforms, and creative showcases. Show HN: An open-source, interactive AI engineering syllabus (1,100 papers) Show HN: I Built a Debugging Challenge for the AI Coding Age HTML Deployer: 1-Click AI Code To Website Publisher - Chrome 应用商店 GitHub - alkait/WhatsKept: Searchable, agent-queryable WhatsApp history from an iOS backup — a single Go binary. Geomatic | Tiny Volt Show HN: SenseCollect – Web data extraction made simple GitHub - feers77/iasql: A new implementation of SQL for IA purposes, using postgresSQL and Karpathy wiki-llm as inspiration. Kubernetes Study Path — From kubectl to a Production Cluster GitHub - octelium/cordium: Open-source sandbox platform with identity-based secretless infrastructure access for developers and AI agents on Kubernetes Play Doom with friends in your browser. You decide when you receive ForwardPass! (experimental) GitHub - jacksonsolid/Bytery fx.leftium.com GitHub - skorotkiewicz/cadence: $$hi Small marker tracking for source files. GitHub - nikitph/yieldos Show HN: Live AI music sequencing agent SaveNeighbor | Local help from people you trust drea: podcast ad blocker App - App Store JS Crossword GitHub - jake-stewart/tuie: A rich, performant TUI library for Rust. GitHub - AlexWasHeree/NoteCast: Local note engine that uses LLM to build and evolve a knowledge graph stocks.sjer.red — long PC parts RocketGraph — Never look at logs again Show HN: Replacing a 3.4MB video with 40kb of GSAP Show HN: Lightweight, OpenSource, zero-dependency App tour & user onboarding SDK Treasury — Personal Finance App | AI Insights & Budgeting Show HN: MailMark – Cold email tool where you own your domain and mailboxes Voxxy: Voice to Text for your Mac Menu Bar Show HN: I built a TikTok style video debate app GitHub - acatovic/ai-game-studio: AI generation of 2d game assets such as spritesheets Assemblr GitHub - AlexMason/worldnotes: Extensible inline-markdown editor with wiki-style navigation Show HN: Brew-browser – A native macOS GUI for Homebrew GitHub - aloth/cred-1: CRED-1: An Open Multi-Signal Domain Credibility Dataset (2,672 domains) Show HN: TalkTimer, a micro-SaaS run by an AI agent team Trickster's Table invest-like - AI value-investing: best-tier consensus beat S&P 500 by +72.7% GitHub - kimjune01/swebench-verified: Reproducible recon/craft/audit agent pipeline for SWE-bench Verified. Official-graded, codex-attested, GPL-3.0. Run it yourself. GitHub - mupt-ai/context-drop: cli tool to make sharing context between remote agents dead easy Multiple Real Desktops for Windows GitHub - lionello/han64: Handling Chinese text on the Commodore 64 Show HN: Strudel – Generate commit messages via Apple's on-device LLM Show HN: Audiomass – a free, open-source multitrack audio editor for the web move-reminder The Front Page HtmlUnit – Welcome to HtmlUnit GitHub - kouhxp/textsnap: Snap any image, screenshot, or webpage into plaintext. No GPU. No cloud. One command. Show HN: Pro Health Ledger – An open-source, net-neutral reputation system iPhone 版“Today” - App Store LLMRequirements.com — Hardware for Local LLMs Show HN: Hookwarden – npx tool to find and fix webhook HMAC bugs (JS/TS/Py/PHP) Frello — A small revolt against bloated software Career tools for data professionals | Datamata Studios Show HN: Kanban CLI (A local-first, agent-first task manager for the terminal) Show HN: Fleet – Python supervisor for running coding agents in parallel TravElly | A travel diary app for kids TapToyPia Show HN:An LED display app that lights up concerts, events, and fan moments Show HN: Logo Fonts Home | Qavvāli Wiki Show HN: Panorama – Review Code, Faster Show HN: Slow Code, a monthly meetup to practice coding by hand GitHub - abakh/nbsdgames: A package of 21 new, improved, text-based modern games. Some are entirely original ideas. Best and lightest! Let's Jam Show HN: CurRant->Screw Google scourge, help people notice what is worth a look Fruitsy Show HN: World Cup 2026 free family and friends prediction platform
GitHub - ghostchat-dev/widget: ~10KB chat widget. Zero cookies. Zero tracking. Fully open source.
jorbach · 2026-05-26 · via Hacker News: Show HN

~10KB chat widget. Zero cookies. Zero tracking. Fully open source.

License: MIT Size No cookies

This is the open source client-side widget that powers GhostChat — a lightweight, privacy-first live chat for websites.

Quick Start

Add this script tag to your site:

<script src="https://api.ghostchat.dev/widget.js" data-site="YOUR_SITE_ID" async></script>

Sign up at ghostchat.dev to get your site ID.

What's Inside

A single TypeScript file that compiles to ~10KB gzipped. No frameworks, no dependencies.

  • WebSocket real-time messaging — instant two-way communication
  • File & image uploads — up to 5MB with inline preview, tap to open full-size
  • Typing indicators — both visitor and agent, in real time
  • Page journey tracking — SPA-aware, shows agents which pages the visitor browsed
  • Visitor identity — optional name and email capture, required during away hours
  • Presence detection — green/orange status dot, online/away via visibilitychange and beforeunload
  • Quick links — configurable shortcut buttons above the message input
  • URL auto-linking — URLs in messages become clickable links automatically
  • Notification sounds — synthesized audio ding, no external files
  • Unread badge — shows count on the launcher button
  • Dark mode — respects prefers-color-scheme
  • Customizable — position, colors, icon, welcome message via data-* attributes

Privacy by Design

Don't take our word for it — read the code:

  • grep "document.cookie"0 results — no cookies, ever
  • grep "analytics\|tracking\|pixel"0 results — no tracking scripts
  • grep "fingerprint"0 results — no browser fingerprinting
  • localStorage keys: only 5 (ghostchat_session_id, ghostchat_session_secret, ghostchat_email, ghostchat_name, ghostchat_tooltip_shown)
  • All API calls go to your GhostChat API domain only — no third-party requests
  • No CDN dependencies, no external fonts, no iframes from other domains

Size Comparison

Widget Gzipped Size Cookies Tracking
GhostChat ~10KB None None
Intercom ~200KB+ Yes Yes
Tawk.to ~200KB Yes Yes
Tidio ~200KB+ Yes Yes
Crisp ~140KB Yes Yes
LiveChat ~120KB Yes Yes

Build from Source

git clone https://github.com/jacoborbach/ghostchat-widget.git
cd ghostchat-widget
npm install
npm run build

The built widget will be at dist/widget.js.

How It Works

The widget is a single IIFE (Immediately Invoked Function Expression) that:

  1. Auto-detects the API URL from the <script> tag's src attribute
  2. Creates a shadow-DOM-free chat UI injected at the end of <body>
  3. Opens a WebSocket connection for real-time messaging
  4. Falls back to polling if WebSocket fails
  5. Stores only a session ID in localStorage — no cookies, no fingerprinting

Self-Hosting Note

This widget connects to GhostChat's hosted API. You need a GhostChat account to use it. Sign up free — no credit card required.

Architecture

See How Our Widget Works for a visual breakdown of the architecture, privacy guarantees, and size comparisons.

License

MIT — see LICENSE.

Built by GhostChat.