원클릭으로
autobot-provider
Add new LLM providers to Autobot with proper integration
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Add new LLM providers to Autobot with proper integration
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | autobot-provider |
| description | Add new LLM providers to Autobot with proper integration |
| tags | ["provider","llm","integration"] |
| metadata | {"scope":"feature-development"} |
Create provider implementation:
src/autobot/providers/<name>_provider.crHttpProvider or implement Provider interfaceRegister provider:
ProviderSpec to the PROVIDERS list in src/autobot/providers/registry.cr.Add configuration schema:
src/autobot/config/schema.cr with provider config if needed.Create tests:
spec/autobot/providers/<name>_provider_spec.crregistry_spec.cr.Add documentation:
docs/<name>.md - Provider setup guide.docs/providers.md - Add to provider comparison.# src/autobot/providers/<name>_provider.cr
module Autobot
module Providers
class <Name>Provider < HttpProvider
def initialize(
api_key : String,
api_base : String? = nil,
@model : String = "default-model",
@extra_headers = {} of String => String,
provider_name : String? = nil,
)
super(api_key, api_base)
@gateway = Providers.find_gateway(provider_name, api_key, api_base)
end
def chat(
messages : Array(Hash(String, JSON::Any)),
tools : Array(Hash(String, JSON::Any))? = nil,
model : String? = nil,
max_tokens : Int32 = DEFAULT_MAX_TOKENS,
temperature : Float64 = DEFAULT_TEMPERATURE,
) : Response
# Implement API-specific logic here
# Or call super for OpenAI-compatible APIs
super
end
def default_model : String
@model
end
end
end
end
For providers with non-standard APIs (like AWS Bedrock), inherit directly from Provider:
class BedrockProvider < Provider
# Implement abstract methods directly
# See src/autobot/providers/bedrock_provider.cr for full example
end
Add to PROVIDERS in src/autobot/providers/registry.cr:
ProviderSpec.new(
name: "<name>",
keywords: ["<keyword1>", "<keyword2>"],
display_name: "<Display Name>",
api_url: "https://api.<provider>.com/v1/chat/completions",
)
Each provider doc must include:
Use this skill when:
Related Skills: autobot-test
Create proper releases following EVALinux standards with signed tags and changelogs
Testing guidelines for Autobot with AAA pattern and Crystal spec best practices
Create new tools for Autobot agent with proper schema and safety
Scheduling rules for reminders and recurring tasks.