Open source · MIT · Self-hosted

One control plane for every MCP server, skill, agent, and AI app Your company is wiring agents and tools together faster than anyone can track them. YBK turns all of it into an asset you can govern, cost, and audit.

七类 AI 资产统一台账 · 成本三维归因 · 生命周期状态机 · 94 个权限点 · 完整审计留痕

元冰可 · 企业 AI 资源管理平台 — 完全自托管,中文企业内网可直接私有化部署

The demo is a read-only snapshot with real seed data — no signup, nothing to install.

7asset types
94permission points
499REST routes
98MCP tools
2015assertions green
0added dependencies

The problem

Agent sprawl is a bookkeeping problem, not a tooling problem

Most teams now have MCP servers, prompt skills, autonomous agents and internal AI apps running in production. Nobody has one place that answers: who owns this, what does it cost, who is allowed to call it, and what happened last Tuesday.

Five ledgers, no ledger

Observability tools watch traces. IAM tools issue credentials. Cost tools read invoices. None of them agree on what an "asset" is — so nothing can be retired.

Totals don't cut costs

"Spend is up 30%" is not an answer. You need to attribute it to department × agent × skill before you can act on it.

SaaS can't hold your keys

Source code, prompts, tool credentials and audit logs sit inside your firewall. Most AI tooling today assumes the opposite.


The differentiator

Cost attribution, not cost observation

Trace viewers tell you what happened. YBK tells you which department, which agent, and which skill is responsible — the three axes you need to actually cut a number.

YBK usage and cost attribution dashboard showing cost broken down by department, agent and skill
Usage & cost — three-axis attribution (department × agent × skill), with per-asset trend and budget burn.

Governance

One ledger, one identity, one audit trail

MCP services, Skills, Agents, AI apps and NAS hosts all live in the same inventory with the same lifecycle state machine — so retiring a stale agent is a state change, not a scavenger hunt.

Lifecycle state machine

Draft → registered → active → deprecated → retired, with dependency topology so you can see the blast radius before you change anything.

94 permission points

Fine-grained resource.action permissions enforced server-side on 499 REST routes and 98 MCP tools. Read and write are genuinely separated.

Immutable audit log

Every mutation records actor, target, before/after and approval chain. Exports as JSON for your SIEM.

Approval workflows

Registering or promoting an asset routes through approvers. Demo data includes real approval chains.


How it compares

Where YBK sits

These tools solve adjacent problems well. YBK's scope is the whole inventory — identity, cost, lifecycle and audit together.

CapabilityYBKTrace / LLM observabilityAgent identity (IGA)Generic CMDB
Unified asset ledger (5 types)YesNoPartialPartial
Cost attribution (dept × agent × skill)YesSpend totals onlyNoNo
Lifecycle state machineYesNoNoYes
Dependency blast-radius analysisYesCall graph onlyNoNo
Fully self-hosted + MITYesSaaS / paid self-hostSelf-host variesPaid
Zero added dependenciesYes———
zh-CN / en-US / ja-JPYesEN onlyEN onlyVaries

Competitor capabilities change fast — this table reflects what was publicly documented when this page was built.


Real screenshots

Everything below is the live system

Captured from the public read-only demo instance with real seed data. No mockups, no design mock data.

YBK audit log
Audit log — actor, target, before/after
YBK skill registry
Skills — prompt/skill assets
YBK agent registry
Agents — autonomous assets
YBK MCP server registry
MCP services — server inventory
YBK roles and permissions
Roles — 94 permission points
YBK approval workflows
Approvals — promotion chains
YBK financial view
FinOps — budget burn
YBK organization view
Organizations — ownership
YBK AI app registry
AI apps — the fifth asset type
YBK NAS host connections
Host connections — NAS / self-hosted hosts

Self-host

Runs on Node 22. No build step, no database server.

Native TypeScript executed directly by Node, with node:sqlite for storage. We added zero runtime dependencies — the audit log and the ledger are the product, not an afterthought.

# clone + run (needs Node 22.6+)
git clone https://github.com/01men/ybkkasi.git
cd ybkkasi && npm install && npm start   # → http://127.0.0.1:7300

# or with Docker
docker compose up -d          # Dockerfile + docker-compose.yml included

# verify it works
npm run selftest              # 2015 assertions

Also available as 98 MCP tools, so an agent can read its own governance state.


FAQ

Questions people actually ask

Is this another "AI governance" wrapper on top of an LLM gateway?

No — and the distinction matters. LLM gateways sit in the request path. YBK sits in the inventory layer: it knows what assets exist, what they cost, who owns them and what their blast radius is when you change them. Many teams run both.

How is this different from a trace viewer like LangSmith or Helicone?

They answer "what happened in this request". YBK answers "which department, agent and skill is responsible for this spend, and who approved running it". Trace data is an input to that question, not the answer.

Who maintains it?

One person. That is a real limitation and worth stating plainly. The mitigations are architectural rather than promissory: MIT source you can read today, self-hosting so nothing breaks if I disappear, and 2015 assertions in CI so regressions surface immediately.

Does it support multi-tenant / SaaS deployment?

The architecture supports org-level isolation and there is a five-platform theme system, but the hosted SaaS path is not the product today. The product is the self-hosted instance you run inside your own network.

Is the demo I can click the real product?

It is the real product running against seeded data in read-only mode. Write operations return 405 by design. To try writes, self-host it.

What about credential hosting and rotation?

Long-lived third-party credentials (API keys, internal service tokens) now have a platform home: registered values are AES-256-GCM encrypted at rest, retrieval requires a dedicated permission point (app.credential.fetch) with per-access audit, and rotation is a same-key overwrite (old value invalid immediately). Short-lived workload identity (SPIFFE-style) for agent runtimes remains on the roadmap; agent platform identities today use rotatable machine credentials.