Matrix · DAG Flow · Build
Separate the Brain from the Hand. Keep control of both.
Matrix by HiCode turns your people, AI resources and authorized devices into one team. The AI that reasons stays where its login lives, the machine that executes stays yours, and every run is visible, steerable and accounted for.
BRAIN ↔ HANDPlan and watch in the browser. Connect a laptop as a Brain and a server as a Hand, and the model edits real files through a signed, scoped channel.
01 · Matrix Team
One team. Brains and Hands kept apart on purpose.
A Brain is an AI resource with its credentials: a CLI subscription login or an API key on a device. A Hand is a device that holds a workspace: files, an uncommitted worktree, local processes, including headless servers. Matrix leases a Brain to a Task on a Hand, relays signed tool calls, and audits every one.
- COFor companies
Organizations, members and teams. A company pool that admins authorize per member and channel, with device and workspace permissions granted and revoked explicitly. Every run traces to its Task, Worker, model, Device and Workspace.
- MEFor individuals
Your home Mac's subscription as the Brain, your server's workspace as the Hand, driven from any browser. Request a resource when there is work, use it when there is capacity, and return it automatically when the round ends.
- KEYCredentials never move
Logins and keys stay on the device that owns them. Matrix relays lease-bound envelopes, not secrets, and the Hand keeps authority over its own files.
Lent out1
Drag back to recall
Standby2
Working0
Ready for your next task
ProviderCLI / API
Illustrative capacity and quota; reset times are examples. This demo does not borrow resources or create charges.
02 · DAG Flow
A new way to control agents: a graph you can see and steer.
Every Task run is a DAG of people, agents, groups, tools and explicit iterations. The plan, the live run and the history share one canvas. Stop, continue or retry a step; let a plan grow at runtime with the change, its reason and its scope visible; and keep the flows and Skills that worked.
- SEEReal state, not a summary
Done, running, waiting for a resource, a device or a person: every node says why. Nothing shows as running until an actual call happened.
- STEERChange the plan, not the past
Static flows, dynamic planning and runtime graph changes are each visible and accepted explicitly. Steps that already ran are never silently rewritten.
- KEEPCapture reusable process
Flows are versioned definitions with inputs and outputs. Export and import them as
.vflow, and keep Skills in the Build library for the next run.
03 · Build
Build applications with VL, a language designed for AI.
Build is VisualLogic Code (VLC): projects, code and visual editing, Lint, Compile, local Preview, data and AutoTest in one workspace on your machine. Underneath is VL, VisualLogic's own language, designed so AI can write it reliably, with parallel and distributed execution in its design.
- VLStructure an AI can keep to
Fixed section order, declared props, events and methods, typed state and explicit GUARD lines make generated code checkable rather than plausible.
- RUNA running app, not a chat answer
The first success is a real local application with data read back. Lint, Compile, Preview and AutoTest tell you what actually passed.
- MXWired to Matrix
Connect a Matrix Brain and your local Hand from VLC settings, edit flows and import
.vflowin the same workbench. No cloud login is needed for local development.
// VL_VERSION:4.3.1
<Section-ProductList "root"> containerType:col padding:24px
# Frontend Public Props
$categoryId(INT) = 0
# Frontend Public Events
EVENT @productSelected(productId(INT))
# Frontend Global Vars
$products([{id:INT,name:STRING,price:FLOAT}]) = []
$isLoading(BOOL) = false
# Frontend Tree
<ServiceDomain-Product "productService">
-<Service-GetProducts> params:(categoryId(INT)) returns:(success(BOOL),data([{}]))
<Col-ListContainer> gap:"16px"
-<If-HasProducts> conditions:($products.length > 0)
--<For-Products> sourceArray:$products loopVar:[_item0,_index0]
---<Component-ProductCard "card"> product:_item0
# Frontend Internal Methods
METHOD loadProducts(); RETURN {success:BOOL}
-$isLoading = true
-<ServiceDomain-Product "productService">.GetProducts($categoryId) -> _result
-GUARD (!_result.success) "Load products failed"
-$products = _result.data
-RETURN {success:true}
</Section-ProductList>
Connect once. Work anywhere.
One Matrix window turns any machine into a Brain, a Hand, or both.
- 01Sign in at hicode.com
Create your account, install Matrix and sign in through your browser. This device binds to your account.
- 02Confirm your local resources
Matrix finds installed AI CLIs. Add a cloud API in Pool only when you need one. CLI sign-ins stay on this device.
- 03Choose what this device offers
Offer its AI as a Brain, its workspace as a Hand, or both. Manage resources, devices, sharing, budgets and billing on the website.
Not another AI chat
From asking for output to operating for outcomes.
Matrix makes intelligence interchangeable where it should be, and accountable where it must be.
One company · two product surfaces
HiCode operates Matrix. VisualLogic builds the tools.
Matrix
Accounts and organizations, Tasks, Brains and Hands, resource permissions, DAG orchestration, runs and usage.
matrix.hicode.com ↗VisualLogic
VLC is the Build workbench for applications and flows; VL Base is the shared runtime that executes them for both products.
VLC + Matrix + Base →VisualLogicOne Task is enough to begin
Stop juggling assistants. Start operating intelligence as a team.
Create an account in the browser. Connect a device only when you want it to think or to execute.