Procbridge
A super-lightweight IPC (Inter-Process Communication) protocol over TCP socket.
Install / Use
/learn @gongzhang/ProcbridgeREADME
1. Introduction
ProcBridge is a super-lightweight IPC (Inter-Process Communication) protocol over TCP socket. It enables you to send and recieve JSON between processes easily. ProcBridge is much like a simplified version of HTTP protocol, but only transfer JSON values.
<img src="./doc/concept.png" width="900">On the server side, you define a function which handles requests and returns result. On the client side, you just make request and get results synchronously. Both requests and responses are wildcard JSON values (null, boolean, number, string, object, and array).
ProcBridge has been implemented in Java, Python, Node.js, Swift, and C#. If you want to connect two processes and HTTP & RPC are too heavy for your scenario, then ProcBridge will be an ideal choice.
2. Instructions & Example
Please go to sub-repos for more information.
- ✅ Java - gongzhang/procbridge-java
- ✅ Python - gongzhang/procbridge-python
- ✅ Node.js - gongzhang/procbridge-nodejs
- ✅ Swift - royalstream/procbridge-swift
- Alternative: gongzhang/procbridge-swift (WIP but supported Unix domain socket already)
- ✅ C# - IXI01/procbridge-csharp
- ⚠️ Go - not yet supported
3. Protocol Design
<img src="./doc/protocol.png" width="550">Both request and response are encoded into ProcBridge Packets. Those binary packets are sent over TCP socket directly. Talk is cheap, please read Python implementation to fully understand the protocol design.
4. Collaboration
👀 Note for Early Collaborators (2019-01-10)
The library implementations have been refactored and migrated to sub-repos as described above. From now on, this repo only stores docs. If you worked on master branch before, please switch to legacy branch. Thank you for your understanding and support. 😼
Below is the collaboration guideline:
✨ Extend the protocol
If you want to extend the protocol, for example:
- support packet compression
- support bidirectional communication
- support long connection and event-based communication
- define conventions to method name or JSON body
Please open an issue first.
✨ Implement the protocol
You can quickly implement ProcBridge in any other programming languages. Note that it only takes 300 lines of code to fully implement the protocol in Python. Please name your repo like procbridge-xxx where xxx is your programming language. Don't forget to open an issue to let me know it.
✨ Improve existing implementation
Cool. Please open PR in sub-repos.
5. Contacts
👨🏻💻 Gong Zhang (gong@me.com)
Related Skills
node-connect
346.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
claude-opus-4-5-migration
107.6kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
107.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
model-usage
346.8kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
Security Score
Audited on Apr 28, 2025
