[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-82759":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":15,"stars30d":15,"stars90d":14,"forks30d":14,"starsTrendScore":14,"compositeScore":16,"rankGlobal":10,"rankLanguage":10,"license":17,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":20,"hasPages":18,"topics":21,"createdAt":10,"pushedAt":10,"updatedAt":29,"readmeContent":30,"aiSummary":31,"trendingCount":14,"starSnapshotCount":14,"syncStatus":15,"lastSyncTime":32,"discoverSource":33},82759,"glink-engine","garyqlin\u002Fglink-engine","garyqlin","Zero-dependency multi-agent workflow orchestration engine. YAML pipelines, shared event bus, auto-recovery, real-time dashboard.","https:\u002F\u002Fgithub.com\u002Fgaryqlin\u002Fglink",null,"Python",104,1,0,2,42.1,"MIT License",false,"main",true,[22,23,24,25,26,27,28],"agent-orchestration","multi-agent","pipeline","python","workflow-automation","workflow-engine","zero-dependency","2026-06-12 04:01:38","# Glink\n\n> **Multi-Agent. One Bus. Zero Friction.**\n\nGlink 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.\n\n---\n\n## Architecture\n\n```\n                         ┌─────────────────────┐\n                         │ Your AI Agents       │\n                         │  (any LLM, any role) │\n                         └──────┬──────┬──────┬─┘\n                                │      │      │\n                     ┌──────────▼──────▼──────▼────────┐\n                     │        Main Bus                  │\n                     │     JSONL Blackboard             │\n                     └─────────────────────────────────┘\n         Append-only event log — every agent reads & writes\n\n     ┌─────────────────────────────────────────────────┐\n     │        Glink Engine (daemon + API)              │\n     │  Routes steps → picks agents → logs results     │\n     │  Checkpoints on every success → crash-survive   │\n     └─────────────────────────────────────────────────┘\n```\n\n---\n\n## Quick Start\n\n```bash\n# Clone & go\ncd glink\n\n# Run a workflow (resumes from last checkpoint automatically)\npython3 glink-daemon.py sandbox-builder\n\n# Force restart from step 1\npython3 glink-daemon.py sandbox-builder --force\n\n# Jump to a specific step\npython3 glink-daemon.py sandbox-builder --step 4\n\n# Serve-only mode (API without running workflow)\npython3 glink-daemon.py --serve\n\n# Dashboard\nopen http:\u002F\u002F127.0.0.1:8426\n```\n\n---\n\n## Features\n\n| Feature | Description |\n|:--------|:------------|\n| **YAML Workflows** | Define steps, agents, dependencies, and fallbacks in one file |\n| **Main Bus** | JSONL blackboard — append-only, agent-agnostic, replayable |\n| **Smart Routing** | Primary agent down? Auto-fallback to the next in line |\n| **Checkpoint Resume** | Crash mid-workflow? Restart picks up exactly where it left off |\n| **Dependency Graph** | Steps can `depends_on` each other; Glink handles ordering |\n| **Retry Loop** | Auto-retry failed steps (configurable, default 2×) |\n| **HTTP API + SSE** | Live status, agent health, and event stream on `:8426` |\n| **Healthcheck Cron** | Self-healing — daemon restarts on crash, alerts via webhook |\n| **Zero Deps** | One Python file + one JSONL file. No pip install needed |\n\n---\n\n## Workflow Example\n\n```yaml\nname: sandbox-builder\nversion: 0.2.0\n\nglobal_context: |\n  Three.js r160 + Cannon-es. Output: single HTML file.\n\nsteps:\n  - id: step-1\n    executor: Agent A\n    title: Scene setup\n    description: Three.js scene + camera + lights + render loop\n    output_file: projects\u002Fsandbox-builder\u002Fscene.html\n\n  - id: step-2\n    executor: Agent A\n    title: Block placement\n    description: Raycasting + grid snap + 6 materials\n    input_file: projects\u002Fsandbox-builder\u002Fscene.html\n    output_file: projects\u002Fsandbox-builder\u002Fblocks.html\n\n  - id: step-5\n    executor: Agent B\n    title: Glassmorphism UI\n    description: Toolbar + score panel with backdrop-filter\n    fallback_agents: [Agent A, Default]\n    input_file: projects\u002Fsandbox-builder\u002Fblocks.html\n    output_file: projects\u002Fsandbox-builder\u002Fui.html\n```\n\n---\n\n## Agent Roster\n\nDefine your own agents in `glink-daemon.py` — map each to a port, a name, and a specialty.\n\n```python\nAGENT_PORTS = {\n    \"engineer\":    \"http:\u002F\u002F127.0.0.1:8431\u002Fask\",\n    \"designer\":    \"http:\u002F\u002F127.0.0.1:8432\u002Fask\",\n    \"tester\":      \"http:\u002F\u002F127.0.0.1:8433\u002Fask\",\n}\n```\n\nWorkflow steps reference agents by name; the daemon assigns the work automatically.\n\n---\n\n## API Reference\n\n| Method | Endpoint | Description |\n|:-------|:---------|:------------|\n| `GET` | `\u002Fhealth` | Liveness check → `{\"status\":\"ok\"}` |\n| `GET` | `\u002Fstatus` | Full project status + step-by-step progress |\n| `GET` | `\u002Fstatus\u002Fagents` | Which agents are online right now |\n| `GET` | `\u002Fstatus\u002Fevents?n=20` | Last N Bus events |\n| `POST` | `\u002Frestart` | Resume from last checkpoint |\n| `POST` | `\u002Frestart?force` | Force restart from step 1 |\n| `POST` | `\u002Frestart?step=N` | Jump to step N |\n\n---\n\n## Real-World Result\n\n**sandbox-builder** — 10 steps × 5 agents → 97 KB \u002F 2,751 lines of playable HTML.\n\nThree.js sandbox game with physics, procedural textures, glassmorphism UI, save\u002Fload, scoring, and achievements — built entirely by agent collaboration, no human code touched.\n\n---\n\n## License\n\nMIT\n","Glink 是一个零依赖的多代理工作流编排引擎，通过YAML定义流程，利用共享事件总线实现自动恢复和实时监控。它支持使用YAML文件定义复杂的工作流，并智能地将任务分配给合适的代理执行，同时记录所有操作到一个共享的JSONL黑板上，确保了整个过程的高度透明与可追溯性。该引擎具有自动故障恢复、智能路由选择以及无需外部依赖等特性，特别适合需要构建基于AI代理协作的应用场景，如自动化测试环境搭建、数据处理流水线等。","2026-06-11 04:09:09","CREATED_QUERY"]