Skip to content
fr

Working with AI

Alban Pasquelin builds software that agents can drive: AI Desktop Studio exposes 310 actions over the MCP protocol across 26 families, and a specialised Qwen model executes them locally on Apple Silicon, measured by an automated evaluation harness.

import { MCP, Qwen, Electron, TypeScript } from '@/stack'
export function (studio: DesktopStudio): AgentSurface {

Plenty of companies bolt a chat box onto their product and call it AI. That is not the same thing as making a product genuinely drivable.

const product = chatBox.bolted(onto: app) /** not the same thing **/

AI Desktop Studio is built the other way round: everything a human can do in the application, an agent can do too. Three hundred and ten actions, exposed over the MCP protocol and grouped into twenty-six families. An agent opens a project, generates a texture, applies it to a 3D object and exports the result, with no hand on the mouse.

mcp.expose(studio.actions) /** 310 actions, 26 families **/

The model that runs them lives on the machine, not in a remote service. It was specialised to understand those exact actions across several languages, and it is re-measured on every version: a new one ships only when the evaluation proves it beats the old one. Without that measurement, tuning a model is not engineering, it is superstition.

const model = qwen.specialise({ runsOn: appleSilicon, offline: true })

The hard part of an AI product is never the model call. It is the ninety percent around it: deciding what the agent is allowed to do, recording what it did, and recovering cleanly the moment it gets something wrong.

if (evaluate(next) <= evaluate(current)) reject(next)
return {
actionsExposedTo: 310, /** actions exposed to an agent **/
actionFamilies: 26, /** action families **/
runnableOffline: 100%, /** runnable offline **/
}
}
310 actions, 26 familiesEach point is an action an agent can trigger, grouped by family. The cyan trace is an agent chaining actions: open, generate, apply, export.

Method

  • An agent that can break nothing is useless; an agent that can break anything is an incident waiting to happen. Permissions get designed before features.
  • Everything an agent does has to be traceable and reversible.
  • A local model costs more to set up and far less to run — and the data never leaves the machine.
  • An improvement you cannot measure did not happen.
AI Desktop Studio →