What is OISP?
Open Inference Standard Protocol (OISP) is the Open Interoperability Specification for AI activity observability. A universal schema for capturing AI interactions across every environment—browser, desktop, CLI, server—with support for 2,200+ models from every major provider. It provides:- Unified schema for AI events across providers
- Interoperability between observability tools
- Extensibility for custom event types
Specification Repository
- GitHub: https://github.com/oximyHQ/oisp-spec
- Schema: JSON Schema files in
/schema/v0.1/ - Examples: Sample events in
/examples/
Core Concepts
Events
An OISP event represents a single observable occurrence in an AI system:- AI model request/response
- Agent tool invocation
- Process execution
- File operation
- Network connection
Envelope
Every event has a common envelope with metadata:Traces
Related events are grouped into traces:- Agent session
- Request/response pairs
- Tool call chains
Event Categories
ai.*
AI model interactions:ai.request- Request to AI modelai.response- Response from AI modelai.streaming_chunk- Streaming response chunkai.embedding- Embedding request
agent.*
Agent-specific events:agent.tool_call- Tool invocationagent.tool_result- Tool result
process.*
Process lifecycle:process.exec- Process startedprocess.exit- Process endedprocess.fork- Process forked
file.*
File operations:file.open- File openedfile.read- File readfile.write- File writtenfile.close- File closed
network.*
Network activity:network.connect- Outgoing connectionnetwork.accept- Incoming connectionnetwork.flow- Flow summarynetwork.dns- DNS query
Provider Detection
OISP defines provider identification via:- Endpoint URL patterns
- Request headers
- Response headers
- Request/response body structure
/semconv/providers/ in the spec for detection rules.
Semantic Conventions
OISP extends OpenTelemetry semantic conventions for AI:AI Attributes
| Attribute | Type | Description |
|---|---|---|
ai.provider | string | Provider name |
ai.model.id | string | Model identifier |
ai.model.family | string | Model family (gpt, claude, etc.) |
ai.request_type | string | completion, embedding, etc. |
ai.tokens.prompt | int | Input tokens |
ai.tokens.completion | int | Output tokens |
ai.latency_ms | float | Response latency |
Agent Attributes
| Attribute | Type | Description |
|---|---|---|
agent.tool.name | string | Tool name |
agent.tool.type | string | function, mcp, etc. |
agent.mcp_server | string | MCP server name |
Validation
Validate events against the schema:Contributing
The OISP specification is open for contributions:- Fork https://github.com/oximyHQ/oisp-spec
- Propose changes via pull request
- Discuss in issues
Relationship to OpenTelemetry
OISP is designed to complement OpenTelemetry:- Uses OTel semantic convention patterns
- Events can be exported as OTel logs/spans
- Extends OTel for AI-specific concepts
Version History
| Version | Date | Notes |
|---|---|---|
| 0.1 | 2024-12 | Initial release |