Skip to content

goal: OpenAI-Compatible Responses API (Limited: built-in search & scrape tools) #216

@locnguyen1986

Description

@locnguyen1986

🎯 Goal

OpenAI-Compatible Responses API (Limited: built-in search & scrape tools)

📖 Context

We want a drop-in Responses API compatible with OpenAI’s request/response semantics and streaming behavior, but intentionally scoped. Instead of shipping a full assistants/tooling surface (code interpreter, retrieval, etc.), we’ll provide two built-in toolssearch and scrape—with strong safety, rate limits, and deterministic outputs. This keeps the surface area small while enabling high-value “grounded” responses.

✅ Scope

  • Endpoints & semantics

    • POST /v1/responses (JSON + SSE streaming)
    • GET /v1/responses/{id} to retrieve prior outputs (if persistence enabled)
  • Streaming

    • SSE events for: response.created, response.output_text.delta, response.tool_call, response.completed, response.error
  • Built-in tools (server-hosted)

    • search
    • scrape
  • Tooling policy & safety

    • Allow/deny domain lists, per-org; rate limits & timeouts per tool; concurrency caps
    • Tool call audit trail (who, when, which URL/query); signed logs
  • Usage & errors

    • usage counters for tokens; optional tool_units/tool_calls_count
    • Consistent error envelopes with actionable codes (e.g., tool_timeout, disallowed_domain, rate_limited)

❌ Out of Scope

  • Non-text outputs (audio/image), function-calling beyond search/scrape
  • Code interpreter, retrieval over private corpora, SQL/tools beyond the two built-ins
  • Batch/async job APIs and multi-step agents (covered by Conversations/Runs goal)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    Status

    Needs Review

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions