Skip to content

DrJLabs/ChatMock

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

170 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ChatMock

Allows Codex to work in your favourite chat apps and coding tools.

PyPI Python License Stars Last Commit Issues



Install

Homebrew

brew tap RayBytes/chatmock
brew install chatmock

pipx / pip

pipx install chatmock

GUI

Download from releases (macOS & Windows)

Docker

See DOCKER.md


Getting Started

# 1. Sign in with your ChatGPT account
chatmock login

# 2. Start the server
chatmock serve

The server runs at http://127.0.0.1:8000 by default. Use http://127.0.0.1:8000/v1 as your base URL for OpenAI-compatible apps.

For local testing of branch changes, use 18000 as the default test port so you do not disturb the main service on 8000. That applies to both backend work and browser-admin UI verification.


Usage

Python
from openai import OpenAI

client = OpenAI(
    base_url="http://127.0.0.1:8000/v1",
    api_key="anything"  # not checked
)

response = client.chat.completions.create(
    model="gpt-5.4",
    messages=[{"role": "user", "content": "hello"}]
)
print(response.choices[0].message.content)
cURL
curl http://127.0.0.1:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.4",
    "messages": [{"role": "user", "content": "hello"}]
  }'

Supported Models

  • gpt-5.4
  • gpt-5.4-mini
  • gpt-5.2
  • gpt-5.1
  • gpt-5
  • gpt-5.3-codex
  • gpt-5.3-codex-spark
  • gpt-5.2-codex
  • gpt-5-codex
  • gpt-5.1-codex
  • gpt-5.1-codex-max
  • gpt-5.1-codex-mini
  • codex-mini

Features

  • Tool / function calling
  • Vision / image input
  • Thinking summaries (via think tags)
  • Configurable thinking effort
  • Fast mode for supported models
  • Web search tool
  • OpenAI-compatible /v1/responses (HTTP + WebSocket)
  • Ollama-compatible endpoints
  • Reasoning effort exposed as separate models (optional)

Configuration

All flags go after chatmock serve. These can also be set as environment variables.

Flag Env var Options Default Description
--reasoning-effort CHATGPT_LOCAL_REASONING_EFFORT none, minimal, low, medium, high, xhigh medium How hard the model thinks
--reasoning-summary CHATGPT_LOCAL_REASONING_SUMMARY auto, concise, detailed, none auto Thinking summary verbosity
--reasoning-compat CHATGPT_LOCAL_REASONING_COMPAT legacy, o3, think-tags think-tags How reasoning is returned to the client
--fast-mode CHATGPT_LOCAL_FAST_MODE true/false false Priority processing for supported models
--enable-web-search CHATGPT_LOCAL_ENABLE_WEB_SEARCH true/false false Allow the model to search the web
--expose-reasoning-models CHATGPT_LOCAL_EXPOSE_REASONING_MODELS true/false false List each reasoning level as its own model
Web search in a request
{
  "model": "gpt-5.4",
  "messages": [{"role": "user", "content": "latest news on ..."}],
  "responses_tools": [{"type": "web_search"}],
  "responses_tool_choice": "auto"
}
Fast mode in a request
{
  "model": "gpt-5.4",
  "input": "summarize this",
  "fast_mode": true
}

Notes

Use responsibly and at your own risk. This project is not affiliated with OpenAI.


Star History

Star History Chart

About

OpenAI & Ollama compatible API powered by Codex

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages