Release Notes: v0.8.0¶
Release Date: 2026-05-03
Overview¶
OmniAgent v0.8.0 introduces OpenAPI remote skill support, enabling agents to connect to any API with an OpenAPI 3.x specification. Operations from the spec are automatically exposed as agent tools.
Highlights¶
- OpenAPI Skills - Parse OpenAPI 3.x specs and expose API operations as agent tools
- Multiple Auth Methods - Support for API key, Bearer token, and Basic authentication
- Operation Filtering - Include/exclude specific operations by ID or tag
New Features¶
OpenAPI Skill Support¶
Register OpenAPI specifications to expose API operations as tools:
import (
"github.com/plexusone/omniagent/agent"
openapi "github.com/plexusone/omniagent/skills/remote/openapi"
)
agent, err := agent.New(config,
agent.WithOpenAPISkill(openapi.Config{
Name: "petstore",
SpecURL: "https://petstore3.swagger.io/api/v3/openapi.json",
Auth: openapi.AuthConfig{
Type: openapi.AuthBearer,
Token: os.Getenv("API_TOKEN"),
},
}),
)
Authentication Options¶
Multiple authentication methods are supported:
// API Key (header or query)
Auth: openapi.AuthConfig{
Type: openapi.AuthAPIKey,
APIKey: "your-api-key",
APIKeyName: "X-API-Key", // default
APIKeyIn: "header", // or "query"
}
// Bearer Token
Auth: openapi.AuthConfig{
Type: openapi.AuthBearer,
Token: "your-bearer-token",
}
// Basic Auth
Auth: openapi.AuthConfig{
Type: openapi.AuthBasic,
Username: "user",
Password: "pass",
}
Operation Filtering¶
Control which operations are exposed as tools:
// Include only specific operations
agent.WithOpenAPISkill(openapi.Config{
Name: "api",
SpecURL: "https://api.example.com/openapi.json",
IncludeOperations: []string{"getUser", "listUsers"},
})
// Filter by tags
agent.WithOpenAPISkill(openapi.Config{
Name: "api",
SpecURL: "https://api.example.com/openapi.json",
IncludeTags: []string{"users", "accounts"},
})
// Exclude specific operations
agent.WithOpenAPISkill(openapi.Config{
Name: "api",
SpecURL: "https://api.example.com/openapi.json",
ExcludeOperations: []string{"deleteUser", "adminEndpoint"},
})
New Agent Options¶
| Option | Description |
|---|---|
WithOpenAPISkill(Config) |
Register an OpenAPI spec as agent tools |
OpenAPI Configuration¶
| Field | Description |
|---|---|
Name |
Skill identifier (must be unique) |
Description |
Human-readable description |
SpecURL |
URL to fetch OpenAPI spec |
SpecFile |
Path to local OpenAPI spec file |
BaseURL |
Override the server URL from spec |
Auth |
Authentication configuration |
IncludeOperations |
Filter to specific operation IDs |
ExcludeOperations |
Exclude specific operation IDs |
IncludeTags |
Filter to operations with tags |
LazyLoad |
Defer spec loading until first use |
RequestTimeout |
Timeout for API requests (seconds) |
Dependency Upgrades¶
| Package | From | To |
|---|---|---|
omnichat |
v0.6.0 | v0.6.1 |
omnivoice |
v0.7.2 | v0.8.0 |
omniserp |
v0.8.0 | v0.8.1 |
go-sdk |
v1.5.0 | v1.6.0 |
kin-openapi |
- | v0.137.0 (new) |
Upgrade Guide¶
From v0.7.0¶
- Update your dependency:
- (Optional) Add OpenAPI skills:
import openapi "github.com/plexusone/omniagent/skills/remote/openapi"
agent, err := agent.New(config,
agent.WithOpenAPISkill(openapi.Config{
Name: "myapi",
SpecURL: "https://api.example.com/openapi.json",
}),
)
Related Releases¶
- omnichat v0.6.1 - Gmail provider uses omni-google
- omnivoice v0.8.0 - Migrates to omni-twilio, omni-deepgram, omni-telnyx
- omniserp v0.8.1 - omni-keyring migration
Full Changelog¶
See CHANGELOG.md for the complete list of changes.