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

推荐订阅源

G
Google Developers Blog
阮一峰的网络日志
阮一峰的网络日志
IT之家
IT之家
人人都是产品经理
人人都是产品经理
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 【当耐特】
WordPress大学
WordPress大学
Hugging Face - Blog
Hugging Face - Blog
博客园 - 叶小钗
罗磊的独立博客
宝玉的分享
宝玉的分享
月光博客
月光博客
V
V2EX
博客园 - 司徒正美
Vercel News
Vercel News
量子位
Y
Y Combinator Blog
美团技术团队
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Tailwind CSS Blog
博客园 - Franky
小众软件
小众软件
I
InfoQ
A
About on SuperTechFans

Hacker News: Show HN

PurrrrrFocus: Pomodoro Timer App - App Store Workflow Engine — Multi-Step Orchestration for Bun RapidPhoto: Pro Photo Editor App - App Store GitHub - DheerG/swarms: Achieve extraordinary results with claude code across a variety of tasks SPICE simulation → oscilloscope → verification with Claude Code — Lucas Gerads Show HN: VCoding – A 5 MB native Windows IDE with no dynamic dependencies Show HN: LLMs don't hallucinate because they're bad at math, it's the format GitHub - Agent-FM/agentfm-core: AgentFM is a peer-to-peer network that turns everyday computers into a decentralized AI supercomputer. AgentFM lets you run massive AI workloads directly across a global mesh of idle CPUs and GPUs. Show HN: Tracking Top US Science Olympiad Alumni over Last 25 Years GitHub - Potarix/agent-hub: One place to talk to all your agents Show HN: Runtime security for AI agents(injection,tool abuse, data exfiltration) GitHub - dubeyKartikay/lazyspotify: Terminal Spotify client for macOS and Linux GitHub - the-banana-tool/king-louie: Easy to use GUI Personal AI Assistant. Win/Linux/Mac. Show HN I made my vacation rental bookable by AI agents–no Airbnb, 0% commission GitHub - basteez/jsf-autoreload: maven plugin to enable hot reload on jsf projects uvm32/hosts/host-gdbstub at main · ringtailsoftware/uvm32 GitHub - labsai/EDDI: Config-driven engine that turns JSON into production-grade AI agents. Multi-agent orchestration, 12+ LLM providers, MCP/A2A protocols, RAG, persistent memory, and enterprise compliance (EU AI Act, GDPR, HIPAA). Built on Quarkus. GitHub - glitchnsec/fortyone-oss: AI Executive Assistant Platform Quickstart | Alien GitHub - muxshed/shed: One stream in, or many. Every destination, simultaneously. No cloud middleman, no per-channel fees, no limits. GitHub - ocrbase-hq/ocrbase: 📄 PDF/IMG ->.MD/JSON Document OCR API for PaddleOCR and GLMOCR. Self-hostable. GitHub - impactjo/home-memory: MCP server that lets your AI assistant remember everything about your home. GitHub - Sets88/dbcls: DbCls is a powerful terminal database client that supports various databases GitHub - neptun2000/heor-agent-mcp GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh RollQuation: Math Puzzles - Apps on Google Play GitHub - dropbox/witchcraft Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis GitHub - opentalon/opentalon: OpenTalon is an open-source platform built from the ground up in Go as a robust alternative to OpenClaw LinkedIn™ 职位抓取工具 - Chrome 应用商店
GitHub - tpp6me/serial-com-multiplatform: Serial communic...
praveentp · 2026-06-23 · via Hacker News: Show HN

MultiSerial

MultiSerial is a desktop serial communication workspace for connecting to UART, USB-serial, and COM-port devices. It is built with Tauri 2, Rust, React, and TypeScript, with the serial backend running natively through Rust and the UI focused on day-to-day device bring-up, loopback checks, logging, and repeatable send workflows.

The app is intended for embedded, hardware, firmware, and lab workflows where you need to inspect incoming serial data, send text or bytes, keep logs, and switch between devices without relying on a terminal-only tool.

Connected MultiSerial workspace

What You Can Do

  • Discover serial ports and inspect USB metadata such as product, manufacturer, VID/PID, and serial number.
  • Connect with configurable baud rate, data bits, parity, stop bits, and flow control.
  • Send text, hex bytes, macros, automated sends, and raw file contents.
  • View terminal data as UTF-8, hex, binary, decimal, or mixed output.
  • Search terminal data, add filters, and highlight matching patterns.
  • Keep independent session tabs with separate buffers, settings, filters, macros, and logs.
  • Start session logs, open log folders, and export terminal data as text or HTML.
  • Toggle DTR and RTS while connected.

Highlight rules in the inspector

Current Status

The project is under active implementation. The macOS path is the most heavily exercised so far, including CP2102 loopback testing. Linux (Ubuntu 24.04) now has a verified AppImage build, launch, and CP2102 loopback over /dev/ttyUSB0. Windows support and .deb install verification are still pending native host testing.

Known current release gates are tracked in TODO.md, with hardware spike results in docs/spike-results.md.

Download

A pre-release build is published on the Releases page.

  • macOS (Apple Silicon / arm64): download MultiSerial_<version>_aarch64.dmg, open it, and drag MultiSerial to Applications. The build is signed with a Developer ID and notarized by Apple, so it opens without a Gatekeeper warning.
  • Linux (x86_64): download MultiSerial_<version>_amd64.AppImage (chmod +x and run directly) or MultiSerial_<version>_amd64.deb (sudo dpkg -i). Built and verified on Ubuntu 24.04, including launch and a CP2102 USB-UART loopback over /dev/ttyUSB0. See docs/release-checklist.md and docs/linux-permissions.md for the dialout group requirement.

These are early pre-release builds and are not yet feature-complete. Intel (x86_64) macOS and Windows artifacts are not published yet; build them from source in the meantime (see below and docs/release-checklist.md).

Quick Start For Development

Use the pinned project toolchain rather than global JavaScript tooling:

corepack enable
corepack prepare pnpm@10.11.0 --activate
corepack pnpm install
corepack pnpm tauri:dev

Development runs use isolated project-local data under .dev-data/ for config, logs, temp files, and test results. This avoids clashing with the computer's global environment or production app data.

For the browser-only preview:

For a production frontend build:

For the packaged desktop app:

corepack pnpm tauri:build

More setup detail is in docs/development.md.

Manual Loopback Test

  1. Connect a USB-to-TTL serial adapter.
  2. Short TX to RX on the adapter.
  3. Launch MultiSerial and scan ports.
  4. Select the adapter, choose a baud rate such as 115200, and click Connect.
  5. Send text such as hello and confirm it appears back in the terminal.
  6. Switch to Hex and send bytes such as 00 01 02 ff.

A sample file for file-send testing is included at:

docs/samples/serial-loopback-sample.txt

Use Choose file, select the sample file, connect a loopback adapter, and click Send file. File send transmits the file's raw bytes over the active serial connection.

Settings

The Settings dialog controls default connection parameters, display behavior, logging, send/file pacing, automation limits, filters, update behavior, and privacy defaults.

MultiSerial settings dialog

Production logs default to ~/MultiSerial/logs. Development and tests use .dev-data/ paths.

Test Commands

Run the main checks before committing:

corepack pnpm typecheck
corepack pnpm lint
corepack pnpm format:check
corepack pnpm test
corepack pnpm test:e2e
corepack pnpm rust:fmt
corepack pnpm rust:test
corepack pnpm rust:clippy

Hardware loopback tests are ignored by default because they require a physical adapter. See docs/hardware-self-test.md.

Useful Docs

Repository Layout

  • src/ - React frontend, terminal model, send/macro logic, filters, settings, and app state.
  • src-tauri/ - Rust Tauri shell, serial backend, logging backend, config, and native commands.
  • tests/e2e/ - Playwright workflows for UI behavior and browser mock serial testing.
  • docs/ - user, developer, hardware, and release documentation.
  • .dev-data/ - local development/test data and manual test files.

License

This project is licensed under the terms in LICENSE. Third-party notices are collected in THIRD_PARTY_NOTICES.md.