Meta Muse, inside a company
In September 2026 Meta launched Muse, a personal AI agent that doesn't just chat. It works in the background on schedules and events, remembers earlier conversations, acts on your behalf, and asks on an approval card before sensitive steps.
Biz AI does the same inside a company's business system, for each employee — an inspection log, a billing system, a leave-request app. It is open source (Apache-2.0) and not affiliated with Meta.
| Meta Muse (consumer) | Biz AI (business systems) | |
|---|---|---|
| works for | one person's life | each employee of a company, by role |
| acts on its own | on schedules and events | on business events (overdue, requested, unanswered…) and scheduled reports |
| remembers | earlier conversations, memory | per-employee and organization memory (personal data checked before saving) |
| approvals | approval card before sensitive steps | approval cards + reply codes; the AI cannot write, only propose |
| permissions | the accounts the user connected | the employee's own role × a manifest; delegations issued by the business system |
| where you talk | the Muse app | the chat each employee already uses (Slack, LINE, Teams, …) |
| source of truth | each service | the company's business system — every result is recorded there |
A consumer agent gets more useful the more it decides for you. At work you have to be able to explain afterwards whose permission the agent read with, whom it told and who approved. So Biz AI is proactive like Muse, and people make every decision.
What it looks like
From pnpm demo (a fictional equipment-inspection system; the demo UI is Japanese, translated here):
manager ▶ Any overdue inspections? AI employee ▶ One overdue inspection (FE-002). business system ▶ (detects an overdue inspection: inspection.overdue) AI employee ▶ inspector1 [on its own] │ [Please handle] An inspection is 3 days overdue (due 2026-11-11) … │ [ Open the business web ] inspector1 ▶ (registers a repair request in the app, estimate 12,000 yen) AI employee ▶ manager [on its own] │ [Approval request] Repair request · equipment FE-002 · estimate 12,000 yen │ Reply by text: "承認 321904" / "差戻 321904 <reason>" │ [ Approve ] [ Send back ] [ Details on the business web ] manager ▶ (taps [Approve] on the card) AI employee ▶ Approved. The card is updated too. Run it in three minutes — Node 22.19+, pnpm and Docker; no API key, no chat account:
git clone https://github.com/ITC-cloud-soft/biz-ai.git && cd biz-ai pnpm install pnpm demo # real agent runtime, scripted model, mock chat, throwaway PostgreSQL Guardrails in code, not in prompts
1. The AI reads only with the employee's own permissions. The read tools it may call are the manifest's allow-list intersected with the employee's role. A delegation token on a write endpoint gets 403 delegation_not_permitted; the AI can only file a proposal that a person accepts or rejects.
// a read the AI may call = a manifest tool; every write is people only router.add('GET', '/api/leave-requests', kit.readToolPolicy('GET /api/leave-requests', [...ROLES]), async ({ principal, query }) => { const list = [...data.leave.values()].filter(visibleTo(principal.user)) // staff see their own only return { status: 200, body: { ok: true, leaveRequests: list.map(leaveJson) } } }) 2. The business system decides who is told, with the same rules as its web screens. The agent never guesses recipients.
recipientsFor: async (event) => { if (event.type !== 'leave.unanswered') return null const l = data.leave.get(event.payload.leaveRequestId) if (!l) return { stale: 'deleted' } if (l.status !== 'pending') return { stale: 'decided' } // already decided: tell nobody const users = [...data.users.values()] .filter((u) => u.active && (MANAGERS.includes(u.role) || u.id === l.requesterUserId)) .map(employee) return { users, dedupeKey: `leave.unanswered:${l.id}`, /* … */ } } 3. Events are written in the same transaction as the business change (an outbox), so a notice is never sent for something that didn't happen, or missed for something that did.
4. One decision closes every approval card, and the requester can never approve their own request.
What the business system has to add
It doesn't connect with zero changes. The first diagnosis lists what the system adds (employees and roles, a live-session check, recipient rules, approvals, proposal kinds, reports, a personal-data check — 13 items).
The smallest example, examples/leave-requests, is one ~300-line file with no database, and passes the 52-check Bridge v1 conformance suite (0 skipped, 0 known gaps). Copy it out of the repo and it runs on the npm packages alone:
cp -r biz-ai/examples/leave-requests ./my-system && cd my-system npm pkg set dependencies.@dsh-bridge/protocol=^0.1.1 dependencies.@dsh-bridge/server-kit=^0.1.1 npm install && npm test # 57 tests: business rules + 52 conformance checks The suite is the safety net while you turn it into your own business: add an employee's name to an event payload and kit.emitEvent refuses it, and six tests go red — personal data is stopped before it reaches the AI side.
The AI side
Nine plugins — identity linking, manifest-generated read tools, events, notifications, approvals, an assistant, memory, a persona and document reading — built as DeepSeek Harness plugins (@dsh-bridge/* on npm).
For an existing system, point a coding agent (Claude Code or another) at the bundled integration skill (docs/skill/biz-assistant-integration): it goes diagnose → plan → implement → verify and stops to ask whenever a decision is yours. Start with one business flow, run it next to the existing screens, then widen.
Coding agents are strong enough now. The next step is AI that works with people inside a company — with people making the decisions.

