Your AI works inside the workspace.
Nothing changes until you approve it.
EQUALIZE is an engineering workspace where a board, a 3D model and a world become one product — and where your AI of choice works on the real files. It can read, measure, simulate and propose. Applying the change is a separate step, and it is yours.
Claude Code, Codex and Qwen Code — as panes, not as tabs in another window
EQUALIZE runs real VS Code extensions in its own extension host. Install the one you already pay for; it appears in the Activity Bar next to your project, with its own chat, sessions and commands — on the same files the canvas is showing.
Claude Code
Sidebar chat, session manager, account & usage — the extension's own UI, rendered inside EQUALIZE. Auto mode, plan mode, MCP servers it brings along.
runs todayCodex
"Codex in your IDE" — navigates, edits, runs commands and tests in your repo, powered by your ChatGPT account. Same origin-checked RPC transport VS Code gives it.
runs todayQwen Code
Welcome screen, model picker (qwen3.6-plus), @-file mentions — the companion extension, complete with its chunked webview assets served securely.
runs todaycrypto.randomUUID, clipboard and the rest of the modern web API work exactly as in VS Code.Connect any AI to a running EQUALIZE
EQUALIZE is an MCP server. Claude Code, Codex, Qwen Code, Claude Desktop, Cursor, LM Studio — any MCP client — can read the open workspace, the live process, its audit trail and the product graph. Read-only, over a local named pipe, only after you approve the client, and never a tool you locked as owner.
equalize.runtime.inspectobserve · liveequalize.trace.recentobserve · liveequalize.workspace.listobserveequalize.workspace.readobserveequalize.graph.queryqueryequalize.world.inspectobserve · liveequalize.world.previewobserve · liveequalize.world.planquery · liveequalize.world.approvemutate · locked by ownerHow the connection works
- EQUALIZE listens on a local named pipe — nothing on the network, and the endpoint dies with the app.
- Your AI launches the bridge, a 200-line stdio process that only forwards. If EQUALIZE is closed it answers
runtime unavailable— never a made-up result. - You approve the client in MCP Manager (read, or read + query). The approval is remembered, and the client is told its tool list changed — no restart.
- Locked tools stay locked for every client. Write and exec are refused by the engine, not by politeness.
One click does the wiring: MCP Manager › MCP Clients › Add writes the entry into Claude Code, Codex or Qwen Code's own config. Prefer to do it by hand? The snippets are below.
# one command (user scope) — the bridge ships inside the installed app $ claude mcp add equalize --scope user -- node "%LOCALAPPDATA%\Programs\TensorEQ Studio\resources\teq-mcp-bridge.js" # or the equivalent entry in ~/.claude.json { "mcpServers": { "equalize": { "type": "stdio", "command": "node", "args": ["C:\\Users\\you\\AppData\\Local\\Programs\\TensorEQ Studio\\resources\\teq-mcp-bridge.js"] } } }
[mcp_servers.equalize]
command = "node"
args = ["C:\\Users\\you\\AppData\\Local\\Programs\\TensorEQ Studio\\resources\\teq-mcp-bridge.js"]
# optional — pin the endpoint file EQUALIZE writes (it is found automatically otherwise)
[mcp_servers.equalize.env]
TEQ_MCP_ENDPOINT_FILE = "C:\\Users\\you\\AppData\\Roaming\\@tensoreq\\studio\\mcp-endpoint.json"{
"mcpServers": {
"equalize": {
"command": "node",
"args": ["C:\\Users\\you\\AppData\\Local\\Programs\\TensorEQ Studio\\resources\\teq-mcp-bridge.js"]
}
}
}{
"mcpServers": {
"equalize": {
"command": "node",
"args": ["C:\\Users\\you\\AppData\\Local\\Programs\\TensorEQ Studio\\resources\\teq-mcp-bridge.js"]
}
}
}
# from a source checkout, the bridge is teq-studio/tools/teq-mcp-bridge.js
# no Node on the machine? EQUALIZE registers itself as the runner: "TensorEQ Studio.exe" + ELECTRON_RUN_AS_NODE=1First contact: the client sees an empty tool list until you press Allow read in MCP Manager — then it receives notifications/tools/list_changed and the nine tools appear. Approve once per client name; the next session starts approved.
Talk to the people building the same things
Talks lives in the Activity Bar. Public rooms are open to anyone signed in; private conversations are by invitation. One account — Google or GitHub — signs you into EQUALIZE, the website dashboard and Talks.
Anyone tried the MCP Manager with Codex yet?
How joining and inviting work
- Sign in once. Account & Dashboard › Continue with Google or GitHub. EQUALIZE opens the approval page with your code already filled in; one click and you are back.
- Public rooms need nothing else. Open Talks, pick a room, read, write. Presence shows who is in it.
- Private rooms are by invitation. Start one from the Private tab, press Invite in the room header, enter an email. When that person signs in with the same email, the room appears in their Private tab. Only the creator can invite; bans and leaves are honoured by the server, not the client.
- Staff moderate. Delete a message, remove someone, ban, archive a room — with the roles the Identity Server assigns, not a local flag.
Talks runs on a Cloudflare Durable Object per room; the ticket to join is minted by the Identity Server for your account and lives one minute.
The agent stages the change. You apply it.
The agent can propose, and it can create. Changing engineering state that already exists requires your approval. Ask it to modify a world directly and it files the change as a reviewable transaction and refuses — APPROVAL_REQUIRED, nothing written, here is what it would have done.
Ask a bounded question — inspect, query, measure, preview. Writes nothing.
Resolve an entity and highlight it on the canvas. Writes nothing.
Compute a change and stage it as a proposal. Still writes nothing.
The transaction trail, the session traces, and what this build can actually do.
Create where nothing exists — or apply or abandon a staged proposal. Nothing else writes.
Several answers, side by side
Ask for a change and you get a set — each candidate simulated and scored on the same rows. Choosing is reading a table.
shippedEvery fact is sourced
Authored · derived · measured · inferred — a number in a proposal traces back to where it came from.
shippedReasoning sessions you can replay
Every turn, tool call and cited fact is recorded; a session can be replayed against the same artifact and diffed.
shippedEverything in the Activity Bar, every pane with the same header
A Chrome-style top bar carries the Activity Bar; each pane opens as a card with its own header. Pick the header style you like — Chrome tabs fused to the body, or VS Code's floating pills — and every strip in the app follows.
Project Workspace
The machine, not the folder: boards, models, worlds, USD layers, robots — with the search and the tree that scroll under their own header.
Agent Session
Local and web sessions from Claude Code, Codex and EQUALIZE's own runtime — sorted, filtered, resumable.
Extensions
The VS Code Marketplace, installed straight into EQUALIZE's host. Commands and views listed as they register.
Customization
Agents · Skills · Instructions · Hooks · MCP Manager · Plugins · Connectors — building blocks, composed, not typed.
Appearance
Nine neon themes and a custom palette · fonts · panel shape · header style · scrollbar style, width and colour — all live, all saved.
Account & Dashboard
Sign in with Google or GitHub; see the same dashboard the website shows, because both read the same Identity Server.
Talks
Community chat with public rooms, private invitations and staff moderation.
Browser · Editor · Terminal
An embedded browser the agent can share, Monaco with a zero-dependency code graph, a real shell with the EQUALIZE console — plus a music dock in the footer.
One canvas — code, circuits, and 3D / CAD
A single project surface that morphs between a 2D schematic editor, a 3D scene, and orthographic CAD views — the same parts read as a circuit, a model, and a measured drawing.
Circuit & PCB
Drag real components (Arduino · Raspberry Pi · Jetson · micro:bit), wire them, run ngspice, read a netlist, import KiCad.
Scene, CAD & world
Morph to a 3D scene, switch to Front / Top / Right with mm rulers, compose an OpenUSD world with robots, tasks and landscape tiles.
Model, simulate & make
glTF · FBX · OBJ · STL · 3DS · DAE · 3MF in; size, volume and watertightness measured; a Rust + Rapier simulation host; STL out.
The same runtime, from any shell
A session-first agent terminal. Describe a goal in plain language and the agent chains its own tools — read and edit code, search the workspace, run git, fetch the web. Zero dependencies, just Node 18+.
Read code
/map · /outline · /find · /read · /json
Map the project, outline a file's symbols, search the source, read with line numbers, pull a JSON value by path.
Change code
/edit · /mv
Exact-match edits and new files, rename or move — workspace-scoped, unique-match, never a blind overwrite.
Git & web
/diff · /log · /http
Working-tree changes, commit history, and a SSRF-guarded fetch to clean text.
Account
/login · /usage
The same device-code sign-in EQUALIZE uses, and what your account has spent against its allowance.
Work
/knowledge · /todo · /ocr
OKF knowledge notes, a workspace TODO/FIXME scan, offline image-to-text.
World
teq world …
Compose, observe, plan and approve world transactions from a script — the same engine the canvas uses.
Free. Funded by donations. Your own keys.
Everything in EQUALIZE is free — donations fund the work and buy no features. AI providers stay bring-your-own-key: Claude Code, Codex, Qwen and Copilot sign in with their own accounts inside the app.
EQUALIZE for Windows
Installer (NSIS) for Windows 10/11 x64. The MCP bridge, the CLI and the simulation host ship inside resources/.
Early access — request the current installer and you get the link by email.
Request the installerTensorEQ CLI
The same runtime from any shell, today, on every platform.
$ npm install -g @tensoreq/cli
On npmSupport the work
EQUALIZE follows the Blender model: completely free, funded by the people who use it. Supporters are recognised in Talks — nothing is unlocked, and nothing is withheld.
DonateShipped, not promised
Everything on this page is in the build today unless the row below says otherwise.
Talk to the developer
Questions, bugs, partnerships, or hardware / board integrations — reach the TensorEQ developer directly, or say it in Talks.