Turn any OpenAPI spec into a conversation you can actually run.
Try it live · Quick start · What you can do · How it works · Benchmarks · Contributing
specthread loads an OpenAPI spec and lets you talk to it. You ask what you want to do in plain words, it writes the real HTTP request, and you run it right there. You bring your own model key.
There's a hosted version for anyone who just wants to try it without setting anything up. If you'd rather keep everything on your own machine, you can self-host it just as easily. That's what it's built for.
Note
Want the technical tour? How specthread works → walks through the architecture, the design decisions, and how one message travels from the chat box to a running request.
Getting to know a new API is a lot of small steps. Find the right endpoint, figure out the parameters, remember where the auth goes, put together a request just to see what comes back.
specthread keeps the spec next to the model, so you can just ask. You get back an actual request, not a guess, and you run it without leaving the page.
- Ask questions and get answers about the endpoints and schemas that are really in your spec.
- Get a ready-to-run request for anything you want to try. Edit the params, headers, or body first if you like.
- See the response right below the request. Images and files show up too, not just JSON.
- Let it handle auth the way your spec describes it: header, query, cookie, bearer, or basic.
- Browse endpoints and schemas in a sidebar, and click one to drop it into the chat.
- Come back later and pick up where you left off. Chats are saved per spec.
- Use Anthropic, OpenAI, Google, Mistral, or any OpenAI-compatible endpoint.
It never sends a request on its own. It writes the request, you decide when to run it.
You'll need Node 20 or newer.
git clone https://github.com/nfaurass/specthread.git
cd specthread
npm install
npm run devOpen http://localhost:3000 and you're in.
To run a production build instead:
npm run build
npm startOpen Settings, go to Providers, and paste in a key for whichever one you want to use. Pick a model under the message box. There's a Test button that checks the key and model work before you start, so you don't find out something's wrong on your first message.
- Your keys and your chats live in your browser.
- There are no accounts and no tracking.
- The only things it talks to are your model provider and the APIs you choose to call.
On the hosted version, requests pass through that shared instance on their way to your model provider. If you want everything to stay on infrastructure you control, self-host it.
You can turn off saving, limit how many chats to keep, or clear them any time in Settings → Conversations.
- Not a product or service you sign up for. The hosted version is just there to try it, no accounts.
- Not a full API client. It's for poking around and understanding an API, not for scripting.
- It does one thing, and tries to do that one thing well.
If it's missing something you want, the code is small and easy to find your way around.
Next.js, React, the Vercel AI SDK, Tailwind CSS, and TypeScript.
It's kept small on purpose, and it's meant to be forked and shaped to what you need. Issues and pull requests are welcome.
Before you push, keep it green:
npm run lint
npx tsc --noEmitThis is a personal project, so it can have rough edges and it can break. There are no guarantees. Run it at your own risk, and check anything important yourself before you rely on it.
MIT. You're free to use it, change it, and build on it.
