Skip to content

Repository files navigation

specthread

Turn any OpenAPI spec into a conversation you can actually run.

License Next.js TypeScript

Try it live · Quick start · What you can do · How it works · Benchmarks · Contributing

specthread turning an OpenAPI spec into a runnable conversation

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.

Why

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.

What you can do

  • 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.

Quick start

You'll need Node 20 or newer.

git clone https://github.com/nfaurass/specthread.git
cd specthread
npm install
npm run dev

Open http://localhost:3000 and you're in.

To run a production build instead:

npm run build
npm start

Add a key

Open 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 data stays with you

  • 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.

What it isn't

  • 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.

Built with

Next.js, React, the Vercel AI SDK, Tailwind CSS, and TypeScript.

Contributing

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 --noEmit

Heads up

This 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.

License

MIT. You're free to use it, change it, and build on it.

About

Turn any OpenAPI spec into a conversation you can actually run.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages