selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

BailingHub logo

Self-host BailingHub

v0.10.0

Agent-to-business hub for safely operating business systems

BetaOpen SourceApache-2.0
Updated10 hours ago
LanguageTypescript
Setup difficultyAdvanced
Stars
127
Port
18900 (BailingHub core HTTP API and console)
Docker
crpi-xm97pbcjrmf5in3s.cn-shanghai.personal.cr.aliyuncs.com/bailinghub/bailinghub
Install with Docker Compose

What is BailingHub?

BailingHub (百灵中枢) is an open-source agent-to-business (A2B) control plane that connects AI agents to existing business systems like e-commerce platforms, SaaS, CRM, and ERP. It governs what agents can do by managing trusted business identities, capability scopes, risk controls, and full audit trails — while the business systems retain final authorization. Users interact via embedded web chat, local agents (e.g., DeepSeek Harness), or automation platforms (Dify, n8n, MCP) using a shared routing, knowledge, and audit layer. The core is written in Node.js/TypeScript with a Vue/Element Plus console, and persists state in MySQL. It supports approval workflows for high-risk actions, idempotency, rate limiting, and tool governance via the Agent Capability Contract (ACC). Deployment options include Docker Compose, a one-click install script for Ubuntu/Debian, or manual Node.js 22+ with MySQL. The project is in early public validation (v0.9.x) under Apache-2.0.

Should you self-host BailingHub?

BailingHub scores 44/100 on selfhost.directory (how scoring works) and ranks #146 of 209 in AI Agents. It has 127 GitHub stars.

It shipped 9 stable releases in the past year. The latest, v0.10.0, came out on 22 October 2026. New versions land roughly every 4 days.

Setup is advanced: plan for several services and some ongoing maintenance. An official Docker image is available. It is Apache-2.0-licensed and written mostly in Typescript.

Its closest alternative on selfhost.directory is Orca (91/100, 108 446 stars). It scores higher overall, so compare the two before you pick. See BailingHub vs Orca side by side.

Features

  • Agent Client SDK for local agents
  • Agent-to-Business (A2B) control plane
  • Approval workflows for high-risk actions
  • Capability governance with ACC
  • Execution governance (allowlist, risk levels, rate limiting, confirmations, approvals, idempotency)
  • Full audit trail and traceability
  • Knowledge base with RAG
  • MCP server adapterSeparate repository: bailinghub/bailinghub-mcp-server
  • Multi-entry routing (web chat, local agents, API/automation)
  • Multi-modal input support
  • Notification durabilityAdded in v0.9.4
  • OpenAPI/ACC tool declaration with SDKs
  • Pause/resume control
  • Self-hosted console with RBAC
  • Trusted business identity binding

BailingHub README

How to install BailingHub

Install BailingHub with Docker Compose

Docker and Docker Compose
Environment variables
BAILING_TOKEN, BAILING_PUBLIC_PORT, BAILING_DEMO_PUBLIC_PORT, BAILING_MYSQL_PUBLIC_PORT, BAILING_MYSQL_IMAGE, BAILING_NODE_IMAGE, DEMO_TOOL_SECRET, DEMO_CLIENT_TOKEN, DEMO_PROFILE

export BAILING_TOKEN="${BAILING_TOKEN:-$(openssl rand -hex 32)}" docker compose up --build

Starts BailingHub core, MySQL, and demo business system. Access console at http://localhost:18900/console/

How to configure BailingHub

  • BAILING_ALERTS_TYPEAlert type (webhook or notify executor target)

    Alert type (webhook or notify executor target)

    values: webhook, <executor target name>

  • BAILING_ALERTS_URLWebhook URL for alerts when type=webhook

    Webhook URL for alerts when type=webhook

  • BAILING_AUDIT_RETENTION_DAYS0Audit log retention in days (0 = no auto-delete)

    Audit log retention in days (0 = no auto-delete)

  • BAILING_BOOTSTRAP_ADMIN_PASSWORDInitial admin password (only used if admin table is empty)

    Initial admin password (only used if admin table is empty)

  • BAILING_BOOTSTRAP_ADMIN_USERNAMEInitial admin username (only used if admin table is empty)

    Initial admin username (only used if admin table is empty)

  • BAILING_DISPLAY_TZAsia/ShanghaiDisplay timezone

    Display timezone

  • BAILING_ENVEnvironment mode (production/development)

    Environment mode (production/development)

    values: production, development

  • BAILING_HOST127.0.0.1Bind address for the server

    Bind address for the server

  • BAILING_LLM_CREDENTIALS_JSONLLM credentials as JSON object (e.g., OpenAI, DashScope, OpenRouter)

    LLM credentials as JSON object (e.g., OpenAI, DashScope, OpenRouter)

  • BAILING_METRICS_ENABLEDfalseEnable OpenMetrics endpoint

    Enable OpenMetrics endpoint

    values: true, false

  • BAILING_METRICS_TOKENIndependent random token for metrics scraping

    Independent random token for metrics scraping

  • BAILING_MYSQL_DATABASEbailinghubMySQL database name

    MySQL database name

  • BAILING_MYSQL_HOSTMySQL host

    MySQL host

  • BAILING_MYSQL_PASSWORDMySQL password

    MySQL password

  • BAILING_MYSQL_PORT3306MySQL port

    MySQL port

  • BAILING_MYSQL_USERMySQL username

    MySQL username

  • BAILING_PORT18900Port the server listens on

    Port the server listens on

  • BAILING_STATE_BACKENDmysqlState backend type

    State backend type

    values: mysql, jsonl

  • BAILING_TOKENRoot secret for machine-admin access and derived HMAC credentials (min 24 chars)

    Root secret for machine-admin access and derived HMAC credentials (min 24 chars)

  • DEMO_BUSINESS_URLhttp://demo-business:19080Demo business system URL

    Demo business system URL

  • DEMO_CLIENT_TOKENbailing-demo-client-tokenDemo client token for API access

    Demo client token for API access

  • DEMO_PROFILEfull-localDemo profile mode

    Demo profile mode

    values: full-local, stateless-readonly

  • DEMO_TOOL_SECRETdemo-tool-secret-change-meSecret for demo business tool signing

    Secret for demo business tool signing

BailingHub releases & version history

FAQ

Can local agents use the hub's model packages?

Yes. After the host integrates model services, it can use the package's chat models and image generation tools with shared quota, or continue using its own configured models. Conversation and tool orchestration remain with the local agent.

Must I self-host a large language model locally?

Not required. The control plane and state store can be self-hosted; models can be cloud APIs or self-hosted based on cost, network, and data requirements. When calling external models, relevant inputs are sent per your configuration.

How does it differ from MCP, Dify, or n8n?

MCP solves tool protocols; Dify and n8n orchestrate applications or workflows. BailingHub focuses on trusted identity, capability scope, approval, signing, execution, and audit between agents and business systems. They can be combined.

Do all write operations require manual approval?

No. Whether approval is needed is determined by capability declarations and business rules; ordinary authorized operations can execute directly, while high-risk operations can be configured for approval-before-execution.

After integration, who decides the final permissions?

Your business system still decides. BailingHub controls which capabilities agents can discover and request; the business backend continues to execute or refuse based on current user, tenant, roles, and business rules.

Is BailingHub an RPA that simulates clicking web pages?

No. It does not rely on models arbitrarily clicking backend pages. Instead, it calls server-side capabilities explicitly declared and authorized by the business system, so parameters, identity, permissions, and results can be verified.

Do I need to rebuild my existing business backend?

No. You keep your existing backend, accounts, permission tables, and business processes. You declare selected actions via OpenAPI, ACC, or SDK and configure capability declarations, trusted identity, and call verification.

More in Application Management

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…