SPEAKMAN.AI · Release v1.5.0

One download now does the whole job, and a fresh install needs no API key.

By David Speakman ·

SPEAKMAN.AI is the free, local, open source engine behind the same MCP workflows the hosted platform runs. Version 1.5.0 puts the skills inside the exe and starts a new install in a mode where every AI step goes to the assistant you already use, so there is no model key to find before the first run. It also keeps tunnels shut until you open them, and records who did each step without claiming more than it knows.

what Connect Claude Code runs for you on the setup page claude mcp add --transport http --scope user speakmanai http://localhost:8000/mcp

The same click copies the 17 skills into ~/.claude/skills. A skill file you had edited is backed up first, and your own skills are never touched.

17
skills carried inside the exe, so there is no second repository to clone.
0
model API keys needed to run your first workflow.
19
tools, each reply now sent once instead of twice.
403
what a tunnel gets until you switch Remote access on.
Why This Release

A first run shouldn't start with hunting for a key.

Until now, getting going meant downloading the exe and cloning a separate skills repository, then finding a model API key from one provider or another. Now the exe carries the skills, and a new install with no model API starts in Delegate Only mode. The planner and every AI step are handed to your connected assistant, which does the work with its own tools and its own model. Switch to your own key on the setup page whenever you want background runs. Your saved keys and provider settings are kept either way.

Validators needed a decision too. With no model API, an AI validator used to call a model that wasn't there and score 0, which sent the assistant through up to three redos on error text. Now it passes automatically and the run record notes that the step was not validated.

One more change in the same spirit: the packaged exe no longer counts a key like ANTHROPIC_API_KEY sitting in your environment for some other tool as a configured model API. Before, a first run could start in auto mode and bill every step to that account. The exe uses only what you save on the setup page. Docker and run-from-source still read the environment.

The Run Record

It says who did each step, and it doesn't claim more than it knows.

Each output now carries executed_by and validated_by, and an approved human review gate carries gate_answered_by. get_outputs shows them, with a short note on how to word them.

Engine step

When the engine ran the step on its own model, the record holds the provider and model, plus the mode it ran in, as fact.

Delegated step

The record holds the name the assistant reported and the client's user agent, and says whether the connection was local or remote. The name is stored as given and is not checked.

A human gate is recorded as answered through the connected client, never as "human approved". The engine can't tell a person's answer from the assistant answering for them. A run done by one assistant from start to finish reads that way, and the record makes no claim of independent review. The skills in the bundle tell assistants to pass their own name.

Remote Access

A public tunnel stays closed until you open it.

Copilot Studio can't reach localhost, so it needs a public tunnel. Before this release a tunnel exposed the whole app, setup page and API included, with no authentication. Now any request that isn't local gets a 403, until you turn on Remote access on the setup page.

Remote accessLocal useThrough a tunnel
Off (the default)Works, no token403 on everything
OnWorks, no token/mcp only, with the token in x-api-key or as a Bearer header

The setup page and its API never accept a remote request, so a tunnel can't read the token or switch the setting off. The token is made the first time you turn Remote access on, and you can replace it. We tested it through a real Dev Tunnel and in Copilot Studio with the token as an API key, and the Docker image applies the same gate.

The limits are worth knowing. The gate separates tunnels and proxies from local software, but software on the same machine can claim to be local, and a static key on a public URL narrows exposure without making it a secured cloud endpoint. Turn it off and stop the tunnel when you are done. A related fix: the local API now refuses state-changing requests that another website sends through your browser.

What Shipped

The full list, not just the headline.

Setup page

Opens on who runs the AI steps and a picker for your assistant, and shows only the steps for the one you choose. An Update workflows button brings an older database up to the shipped prompts, after backing up what it replaces. The footer shows the app version.

Claude app

A small extension, speakmanai-local.mcpb, connects the app's chat, Cowork and Code tab to the local engine. It needs no Node and no admin rights, and the app shows an unsigned warning when you install it.

Skills over MCP

list_skills and get_skill let an assistant with no installed skills fetch one from the server. A full Solution Architecture run in Copilot Studio completed this way.

Mode guard

A session records the mode it started in. Switch from assistant to model API mid-session, or back, and submit_response refuses with a message naming the start mode. Switch back and the same call works.

Smaller replies

Every tool published an output schema, so each reply went out twice, as text and as structured content. That doubled what Copilot Studio counted. Replies now arrive once. Large dependency outputs in a delegated pause are listed by size instead of repeated in full.

Rendering

The HTML renderer now handles nested lists, bold markers inside code, quotes and simple LaTeX. The build refuses to bundle a skills script that has drifted from the server's renderer. HTML stays opt-in, produced only when you ask for it.

Old sessions

list_sessions, poll_workflow and get_outputs return the first 200 characters of the original request, so an assistant can find "the SAD about the bowling alley ecommerce tool" weeks later without a session id.

Models and Docker

Claude defaults are Sonnet 5.5 and Opus 5.5, and OpenAI defaults are gpt-6-luna, gpt-6.1-sol and gpt-6-astra. Docker and source installs pin mcp below 2.x, because an unpinned install had started pulling a version that removed the module the server imports.

There is also a closed Send feedback section on the setup page. It shows exactly what it sends and sends nothing until you press Send. The SPEAKMAN.AI agent circle is now the tray icon and the exe icon, and it shows on the setup page's browser tab too.

Upgrading

Most of it is one button each.

AreaWhat to do
WorkflowsPress Update workflows when the amber box appears. An older database keeps its old prompts until you do.
SkillsPress the skills update button on the setup page.
TunnelsAn existing tunnel gets a 403 until you turn on Remote access, and Copilot Studio then needs the token as an API key header.
Environment keysSave the key on the setup page, or start the exe with SPEAKMANAI_USE_ENV=1.
DockerRebuild the image to pick up the mcp pin.
Sessions in progressFinish them before changing the execution mode.
Where This Sits

One engine. Free or hosted, it runs the same pipeline.

The hosted SPEAKMAN.AI platform runs a full idea-to-production SDLC pipeline. This repository is the free, local, MIT licensed engine that executes the same MCP workflows, with full functionality for an individual user and no account required.

We tested this release with Claude Code, the Claude app and Copilot Studio. Cursor and Codex are labelled untested on the setup page, and the skills install only into Claude Code's folder for now.

Runs On Your Machine, From Whatever Talks MCP

The free tier is not a trial. It is the whole engine.

ModeCommandDatabase
Windows exeRun SpeakmanAI.exe~/.speakmanai/speakmanai.db
Docker + SQLitedocker-compose up --buildspeakmanai_data volume
Docker + MongoDBdocker-compose --profile mongo upMongoDB, port 27017
Dev, no Dockeruvicorn server:app --port 8000~/.speakmanai/speakmanai.db

There's no account and no cloud dependency, and you pay nothing per call beyond your own provider key, if you add one. The Windows build is code-signed by Speakman Consulting Inc. A new release has little download history, so Windows SmartScreen may say the file isn't commonly downloaded. The publisher is named in that prompt, and More info then Run anyway continues. The exe uses SQLite only, and MongoDB is for Docker and source installs.

Individual · Free · MIT

Run the engine locally.

Download the signed exe, or clone and run with Docker. You get full functionality, with nothing sent anywhere else unless you add a model key or press Send on the feedback form.

Teams · Hosted

Need multi-tenant support and audit trails? Metered billing too?

The hosted SPEAKMAN.AI platform runs the same engine with the infrastructure teams need on top of it.

Written by David Speakman. Speakman Consulting designs and builds this kind of system for growing organizations: agent workflows with the governance that keeps humans in the loop.