Multi-Agent Workflow Orchestration Engine. One Bus. Zero Friction.
Project description
Glink
Multi-Agent. One Bus. Zero Friction.
Glink is a lightweight orchestration engine that turns your AI agents into a collaborative assembly line. Define a workflow in YAML, and Glink routes each step to the right agent — passing context, handling failures, and logging every heartbeat onto a shared JSONL blackboard. No databases, no message queues, no external dependencies.
Architecture
┌──────────────────────────────────────────────────────────┐
│ Glink Engine │
│ │
│ ┌────────┐ ┌────────┐ ┌──────────┐ ┌──────┐ ┌──────┐│
│ │ Hammer │ │ Ink │ │Bumblebee │ │Laser │ │Forge ││
│ │ :8431 │ │ :8432 │ │ :8434 │ │:8435 │ │:8436 ││
│ └───┬─────┘ └───┬────┘ └────┬──────┘ └──┬───┘ └──┬───┘│
│ │ │ │ │ │ │
│ └────────────┴────────────┴────────────┴──────────┘ │
│ │ │
│ ┌────────▼────────┐ │
│ │ Main Bus │ │
│ │ JSONL Blackboard │ │
│ └─────────────────┘ │
│ Append-only timeline — every agent reads & writes │
└──────────────────────────────────────────────────────────┘
Quick Start
# Clone & go
cd glink
# Run a workflow (resumes from last checkpoint automatically)
python3 glink-daemon.py sandbox-builder
# Force restart from step 1
python3 glink-daemon.py sandbox-builder --force
# Jump to a specific step
python3 glink-daemon.py sandbox-builder --step 4
# Serve-only mode (API without running workflow)
python3 glink-daemon.py --serve
# Dashboard
open http://127.0.0.1:8426
Features
| Feature | Description |
|---|---|
| YAML Workflows | Define steps, agents, dependencies, and fallbacks in one file |
| Main Bus | JSONL blackboard — append-only, agent-agnostic, replayable |
| Smart Routing | Primary agent down? Auto-fallback to the next in line |
| Checkpoint Resume | Crash mid-workflow? Restart picks up exactly where it left off |
| Dependency Graph | Steps can depends_on each other; Glink handles ordering |
| Retry Loop | Auto-retry failed steps (configurable, default 2×) |
| HTTP API + SSE | Live status, agent health, and event stream on :8426 |
| Healthcheck Cron | Self-healing — daemon restarts on crash, alerts via Feishu |
| Zero Deps | One Python file + one JSONL file. No pip install needed |
Workflow Example
name: sandbox-builder
version: 0.2.0
global_context: |
Three.js r160 + Cannon-es. Output: single HTML file.
steps:
- id: step-1
executor: Hammer
title: Scene setup
description: Three.js scene + camera + lights + render loop
output_file: projects/sandbox-builder/scene.html
- id: step-2
executor: Hammer
title: Block placement
description: Raycasting + grid snap + 6 materials
input_file: projects/sandbox-builder/scene.html
output_file: projects/sandbox-builder/blocks.html
- id: step-5
executor: Ink
title: Glassmorphism UI
description: Toolbar + score panel with backdrop-filter
fallback_agents: [Hammer, Default]
input_file: projects/sandbox-builder/blocks.html
output_file: projects/sandbox-builder/ui.html
Agent Roster
| Agent | Port | Specialty |
|---|---|---|
| Default / Zaku | 8420 | Generalist, fallback for everything |
| Hammer | 8431 | Backend, databases, engineering code |
| Ink | 8432 | Frontend UI, visual design, CSS |
| Bumblebee | 8434 | Data, search, persistence |
| Laser | 8435 | Testing, validation, documentation |
| Forge | 8436 | Code review, quality gate, code artistry |
API Reference
| Method | Endpoint | Description |
|---|---|---|
GET |
/health |
Liveness check → {"status":"ok"} |
GET |
/status |
Full project status + step-by-step progress |
GET |
/status/agents |
Which agents are online right now |
GET |
/status/events?n=20 |
Last N Bus events |
POST |
/restart |
Resume from last checkpoint |
POST |
/restart?force |
Force restart from step 1 |
POST |
/restart?step=N |
Jump to step N |
Real-World Result
sandbox-builder — 10 steps × 5 agents → 97 KB / 2,751 lines of playable HTML.
Three.js sandbox game with physics, procedural textures, glassmorphism UI, save/load, scoring, and achievements — built entirely by agent collaboration, no human code touched.
License
MIT © 2026 Opprime
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file glink_engine-0.3.3.tar.gz.
File metadata
- Download URL: glink_engine-0.3.3.tar.gz
- Upload date:
- Size: 52.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
580cd6b08950ee7b4fd5c5c7367aa9edf645f1a8a0f63bc986a1ae4ad65d9832
|
|
| MD5 |
0125167b56ef32fe51344f54fb129ab7
|
|
| BLAKE2b-256 |
55036db2355f12d4d69432ac60f9d59625b47b4c360db294b756822f41e2122b
|
File details
Details for the file glink_engine-0.3.3-py3-none-any.whl.
File metadata
- Download URL: glink_engine-0.3.3-py3-none-any.whl
- Upload date:
- Size: 50.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f215b449906beb19d705caf8798848a04d156ffce1b7a9d9cfe11cba56ac94f3
|
|
| MD5 |
cbbd0b5e80a215eedd1ef615b21dbe6b
|
|
| BLAKE2b-256 |
b6f43d1ab7dde30a61f5b8d4d5f8c77dd2a096b8ae0f440a822b12e3a54234e7
|