Independent by design · no pay-to-rank placements  · How we evaluate tools →
Anclum Submit
J

Juwan-Hwang/omni2api

Before you install: no copy-paste command · license MIT · link reachable

First step: nothing runnable here yet - start from the repository: https://github.com/Juwan-Hwang/omni2api

View on GitHub ↗Link checked 2026-11-12 · HTTP 200 · opens the vendor's own site
Star count
53 ★ · Juwan-Hwang/omni2api · read from the GitHub search API · (checked 2026-11-13 20:00:50)
Source
read directly from its GitHub page · type: open-source project
Harvest history
first seen 2026-10-24 · last seen 2026-11-14 · seen 25× · listed by 1 sources
Score
score 103 · 53 ★ · 1 sources · repo
FAQ (answers come from our records)
Who is it for?
We filed it under these tags: 开源项目. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
repository Juwan-Hwang/omni2api;first catalogued 2026-10-24;last seen 2026-11-14。There is no official certification or quality rating here — we record sources and dates only.

Anything to API.

以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →

Turn anything that can sit at a terminal into an OpenAI-compatible API
that any AI tool can call.
English · 简体中文
https://github.com/user-attachments/assets/fc7f4aec-02d1-4533-bd20-d441b5e993a9
## The idea
Most proxies convert one API into another. omni2api converts anything
into an API.
Start the server and it holds a seat where a model would normally be.
Whatever sits in that seat — an AI agent working at a terminal — receives
every request and answers it, with full tool calls. Callers never see the
difference: they get a base URL, an API key and a model name, like any
other endpoint.
## Use it in one sentence
Tell any agent with a local sandbox:
> Deploy https://github.com/Juwan-Hwang/omni2api for me.
It follows SETUP.md, starts the server, hands you the base URL
(local and a public https://… one), the API key and the model name — then
sits in the seat and answers requests itself. No server, database or
account needed.
> Want a human in the seat instead? That is
> OpenHuman — the same idea
> with a panel built for people. omni2api is the version for AI.
## How it works
Caller agent (any AI CLI / IDE / desktop app)
│ OpenAI Chat Completions · Responses · Anthropic Messages (HTTP/SSE)
omni2api server (Rust + Axum)
│ /v1/seat/ (long-poll event stream)
Anything in the seat running oh-seat (an agent or a script)
├─ oh-seat next read the next message
├─ oh-seat tool Bash cmd=… the caller runs the tool, result comes back
└─ oh-seat reply "…" the answer streams to the caller
What the server does for whoever sits in the seat:
Strips the harness. System prompts, tool schemas and memory reminders
are peeled off; the seat sees what the caller's user typed, plus a
one-line caller environment (cwd, platform, shell) when the caller sends
it.
Real tool calls. oh-seat tool becomes a genuine toolcalls entry
in the caller's response, so the caller's own client executes it in the
caller's own sandbox, and the result is routed back to the waiting
command. Exit codes are recognised across callers.
Many callers at once. Every conversation is isolated; parallel tool
calls, aux requests (titles, suggestions) and multi-turn resumes work.
Images and files from callers and from tool results (OpenAI file /
inputfile, Anthropic document, a PDF from Claude Code's Read, any
binary) are saved locally for the seat. Standard /v1/files uploads and
fileid references work too.
## Quick start
By hand it is three commands:
bash
curl -fsSL https://raw.githubusercontent.com/Juwan-Hwang/omni2api/main/install.sh | sh
# Windows: irm https://raw.githubusercontent.com/Juwan-Hwang/omni2api/main/install.ps1 | iex
omni2api up -d # prints baseurl (local + public), apikey, model
oh-seat next # sit in the seat and wait for a request
Point any OpenAI-compatible tool at it:
| Setting | Value |
| Base URL | the baseurl printed by omni2api up |
| API Key | the apikey printed by omni2api up |
| Model | the name printed by omni2api up — the seat's own name; omni2api until it chooses one |
bash
curl -N "$BASEURL/chat/completions" \
-H "Authorization: Bearer $APIKEY" -H "Content-Type: application/json" \
-d '{"model":"omni2api","messages":[{"role":"user","content":"hello"}],"stream":true}'
Listed badge (optional)
Copy this line into the README if you want the listing mark. Optional, and it does not affect being listed.
[![Listed on Anclum](https://anclum.com/badge/listed.svg)](https://anclum.com/en/s/juwan-hwang-omni2api/)
Source
github · https://github.com/Juwan-Hwang/omni2api
Browse by field
Open source
Traction
53 ★
added
today

More like this

All 1,671 →

Filed under

Every tag opens the full list for that filter. Counts are the live catalogue figures.

Browse all fields →

← Back to index