GenMult

module
v0.0.0-...-e777e7f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 12, 2026 License: AGPL-3.0

README

AgentHub — Multi-Agent Collaboration Platform

AI Full-Stack Challenge entry · Team 启灵 (Qiling) — 齐紫瀚, 熊子恒, 张桐铖

中文版:README_CN.md

AgentHub makes "driving a team of AI agents" feel as natural as a group chat: agents are room members; @-mention the lead agent to auto-decompose and dispatch work, or @ a specific member to assign it directly. Artifacts land in a shared room workspace, and the whole collaboration is visible in the chat stream in real time. The platform plugs in multiple agents through one adapter layer — memoh (built-in framework agent in this repo), Claude Code, and Codex (CLI-backed) — coordinated by an Orchestrator DAG engine.

This repository is built on the memoh full-stack platform (Go backend + Vue web + Electron desktop + containerized agent workspaces). AgentHub is its multi-agent collaboration capability; memoh is one of the agents that run inside it.


📦 Deliverables (3 documents)

The three final documents live in deliverables/ as PDFs:

Document File Contents
Product Design agenthub-product-design.pdf Positioning, the group-chat mental model, multi-agent failure modes & mitigations, target users & scenarios, core UX decisions, feature matrix, roadmap
Technical Design agenthub-technical-design.pdf Layered architecture, data model (full DDL), orchestration state machine & scheduling, two-tier Planner, unified adapter layer, credential chain, event projection, three core sequence flows, HTTP API, test gates
AI Collaboration Record agenthub-ai-collaboration.pdf Human–AI turn-based model, Rules / Spec / Plan / Skill conventions, three deep collaboration cases, real session archive (19 sessions / 277 user turns / 2582 tool calls)
Rubric navigation
Dimension Weight Where to verify
AI collaboration 30% AI Collaboration Record + git log (R1–R9 feature commits)
Feature completeness 25% Run the demo below; feature matrix in the Product Design
Output quality 20% Demo video + screenshots below
Code understanding 15% Technical Design (architecture / state machines / sequences) + internal/agenthub/**
Innovation & product sense 10% Product doc: failure-mode mitigations, pinned long-term context, shared workspace, live process bubbles

🎬 Demo video (3 minutes)

Quark drive: https://pan.quark.cn/s/4e9ebc5c07b7 ("启灵-agent")


🖼 Screenshots

Single chat: token streaming + thinking / tool trace Group orchestration: task-plan card
Single-chat streaming Task plan
Live process bubble of a running task Shared room workspace: in-browser terminal
Live bubble Workspace terminal

▶️ Run the demo (local)

Prerequisites: Docker / Docker Compose and mise (manages tasks plus Go / Node / pnpm / sqlc tool versions).

# 1. Install dependencies and toolchain
mise run setup

# 2. Start the dev environment (docker compose, SQLite, auto-build)
mise run dev

Then open the web console:

http://localhost:19082

The web port can be overridden via MEMOH_SQLITE_DEV_WEB_PORT (default 19082). Stop with mise run dev:down:sqlite; list all tasks (including dev:postgres) with mise tasks.

The demo walkthrough (single-chat token streaming, live process bubbles during group-chat orchestration, pinned long-term context, and the shared workspace file browser + in-browser terminal) is described in the Product / Technical documents.


Project overview

  • Backend Go (Echo) · Frontend Vue 3 + Vite · Desktop Electron · Storage SQLite / PostgreSQL · Retrieval Qdrant
  • Agent integration: memoh (built-in framework agent) / Claude Code / Codex (CLI-backed), one adapter layer + Orchestrator DAG engine, LLM + rule-based two-tier Planner
  • Collaboration: AgentHub rooms, @-mentions, shared workspace, pinned long-term context, event sourcing, live in-progress process bubbles, failure degradation, and crash self-healing

Full architecture, data model, and core sequence flows are in deliverables/agenthub-technical-design.pdf.

License

See LICENSE.

Directories

Path Synopsis
cmd
agent command
bridge command
memoh command
internal
acl
agent/background
Package background implements a background task manager for long-running commands executed inside bot containers.
Package background implements a background task manager for long-running commands executed inside bot containers.
agenthub/orchestrator
Package orchestrator implements AgentHub's task orchestration control plane.
Package orchestrator implements AgentHub's task orchestration control plane.
agenthub/providers
Package providers implements AgentProvider adapters for external CLI-based coding agents (Claude Code, OpenAI Codex).
Package providers implements AgentProvider adapters for external CLI-based coding agents (Claude Code, OpenAI Codex).
channel
Package channel provides a unified abstraction for multi-platform messaging channels.
Package channel provides a unified abstraction for multi-platform messaging channels.
channel/adapters/dingtalk
Package dingtalk implements the DingTalk channel adapter.
Package dingtalk implements the DingTalk channel adapter.
channel/adapters/feishu
Package feishu implements the Feishu (Lark) channel adapter.
Package feishu implements the Feishu (Lark) channel adapter.
channel/adapters/feishu/wsclient
Package wsclient is a Feishu/Lark long-connection websocket client.
Package wsclient is a Feishu/Lark long-connection websocket client.
channel/adapters/local
Package local implements the CLI and Web channel adapters for local development.
Package local implements the CLI and Web channel adapters for local development.
channel/adapters/misskey
Package misskey implements the Misskey channel adapter.
Package misskey implements the Misskey channel adapter.
channel/adapters/telegram
Package telegram implements the Telegram channel adapter.
Package telegram implements the Telegram channel adapter.
channel/common
Package common provides shared utilities for channel adapters.
Package common provides shared utilities for channel adapters.
conversation
Package conversation defines conversation domain types and rules.
Package conversation defines conversation domain types and rules.
conversation/flow/botruntime
Package botruntime introduces a conversational runtime abstraction so a bot can be backed by different agent frameworks.
Package botruntime introduces a conversational runtime abstraction so a bot can be backed by different agent frameworks.
db
mcp
memory/qdrant
Package qdrant wraps the official github.com/qdrant/go-client SDK, providing a thin facade for sparse-vector memory operations.
Package qdrant wraps the official github.com/qdrant/go-client SDK, providing a thin facade for sparse-vector memory operations.
memory/sparse
Package sparse provides a Go client for the sparse encoding Python service.
Package sparse provides a Go client for the sparse encoding Python service.
pipeline
Package pipeline implements the Deterministic Context Pipeline (DCP) for assembling LLM context from canonical IM events.
Package pipeline implements the Deterministic Context Pipeline (DCP) for assembling LLM context from canonical IM events.
storage
Package storage defines the Provider interface for object storage backends.
Package storage defines the Provider interface for object storage backends.
storage/providers/containerfs
Package containerfs implements storage.Provider for bot containers backed by gRPC calls to the in-container MCP service.
Package containerfs implements storage.Provider for bot containers backed by gRPC calls to the in-container MCP service.
storage/providers/fallback
Package fallback implements storage.Provider that tries a primary provider first (e.g.
Package fallback implements storage.Provider that tries a primary provider first (e.g.
storage/providers/localfs
Package localfs implements storage.Provider backed by the host filesystem.
Package localfs implements storage.Provider backed by the host filesystem.
tui
tui/local
Package local resolves the on-disk layout shared between the Memoh desktop Electron shell (apps/desktop) and the bundled CLI binary (cmd/memoh).
Package local resolves the on-disk layout shared between the Memoh desktop Electron shell (apps/desktop) and the bundled CLI binary (cmd/memoh).
workspace/bridge
Package bridge provides a gRPC client for the workspace container bridge service.
Package bridge provides a gRPC client for the workspace container bridge service.
Package spec Code generated by swaggo/swag.
Package spec Code generated by swaggo/swag.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL