Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ All agents now use a **standardized interaction pattern** with structured three-
- ✅ **Kimi** (Moonshot AI) - Interactive AI agent with advanced reasoning (interactive-first CLI)
- ✅ **OpenCode** (SST) - AI coding agent built for the terminal (non-interactive run mode)
- ✅ **OpenRouter** - Unified API access to 400+ models from multiple providers (API-based, no CLI required) 🌐 **API-based**
- ✅ **Requesty** - OpenAI-compatible gateway with access to 400+ models from multiple providers (API-based, no CLI required) 🌐 **API-based**
- ✅ **Qoder** - Agentic coding platform with enhanced context engineering
- ✅ **Qwen** (Alibaba) - Multilingual capabilities
- ✅ **Ollama** - Local LLM support (planned)
Expand Down Expand Up @@ -317,6 +318,7 @@ AgentPipe supports three formats for specifying agents via the `--agents` / `-a`
| `groq` | ✅ Optional | No | `llama3-70b`, `mixtral-8x7b` |
| `crush` | ✅ Optional | No | `deepseek-r1`, `qwen-2.5` |
| `openrouter` | ✅ **Required** | Yes | `anthropic/claude-sonnet-4-5`, `google/gemini-2.5-pro` |
| `requesty` | ✅ **Required** | Yes | `openai/gpt-4o-mini`, `anthropic/claude-sonnet-4-5` |
| `kimi` | ❌ Not supported | No | N/A |
| `cursor` | ❌ Not supported | No | N/A |
| `amp` | ❌ Not supported | No | N/A |
Expand Down
4 changes: 4 additions & 0 deletions cmd/model_validation.go
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,10 @@ var agentModelSupport = map[string]ModelSupport{
Supported: true,
Required: true,
},
"requesty": {
Supported: true,
Required: true,
},

// CLI agents without --model support
"kimi": {
Expand Down
53 changes: 53 additions & 0 deletions examples/requesty-conversation.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
version: "1.0"

# Requesty Multi-Agent Conversation Example
#
# This example demonstrates using Requesty's unified, OpenAI-compatible API to
# access multiple AI models from different providers in a single conversation.
#
# Requirements:
# - Set REQUESTY_API_KEY environment variable
# - Requesty account with credits (https://requesty.ai)
#
# Run with:
# export REQUESTY_API_KEY=your-key-here
# agentpipe run -c examples/requesty-conversation.yaml

agents:
- id: claude-via-requesty
type: requesty
name: "Claude (Requesty)"
prompt: "You are Claude, an AI assistant created by Anthropic. You are thoughtful, analytical, and enjoy deep discussions."
announcement: "🤖 Claude has joined via Requesty API!"
model: anthropic/claude-sonnet-4-5
temperature: 0.7
max_tokens: 500

- id: gemini-via-requesty
type: requesty
name: "Gemini (Requesty)"
prompt: "You are Gemini, Google's AI assistant. You are curious, factual, and love to explore new ideas."
announcement: "✨ Gemini has joined via Requesty API!"
model: google/gemini-2.5-flash
temperature: 0.6
max_tokens: 500

- id: gpt-via-requesty
type: requesty
name: "GPT (Requesty)"
prompt: "You are GPT, OpenAI's language model. You are helpful, creative, and enjoy collaborative problem-solving."
announcement: "🧠 GPT has joined via Requesty API!"
model: openai/gpt-4o-mini
temperature: 0.8
max_tokens: 500

orchestrator:
mode: round-robin
max_turns: 8
turn_timeout: 30s
response_delay: 2s
initial_prompt: "Let's have a discussion about the future of AI and its impact on society. Each of you represents a different AI platform - what unique perspectives do you bring to this topic?"

logging:
enabled: true
show_metrics: true
36 changes: 36 additions & 0 deletions examples/requesty-solo.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
version: "1.0"

# Requesty Solo Agent Example
#
# This example shows how to use a single Requesty agent for a conversation.
# This is useful for testing or when you want to use a specific model via API
# without installing its CLI tool.
#
# Requirements:
# - Set REQUESTY_API_KEY environment variable
# - Requesty account with credits (https://requesty.ai)
#
# Run with:
# export REQUESTY_API_KEY=your-key-here
# agentpipe run -c examples/requesty-solo.yaml

agents:
- id: gpt-via-requesty
type: requesty
name: "GPT (Requesty)"
prompt: "You are a powerful reasoning assistant. When solving problems, break down your thinking step by step and show your reasoning process clearly."
announcement: "🧪 GPT has joined via Requesty API!"
model: openai/gpt-4o-mini
temperature: 0.5
max_tokens: 2000

orchestrator:
mode: round-robin
max_turns: 3
turn_timeout: 60s
response_delay: 1s
initial_prompt: "Solve this logic puzzle: You have 12 balls that look identical. One ball is slightly heavier or lighter than the others. Using a balance scale only 3 times, how can you identify which ball is different and whether it's heavier or lighter?"

logging:
enabled: true
show_metrics: true
53 changes: 52 additions & 1 deletion internal/providers/providers.json
Original file line number Diff line number Diff line change
Expand Up @@ -3458,6 +3458,57 @@
}
]
},
{
"name": "Requesty",
"id": "requesty",
"type": "openai",
"api_key": "$REQUESTY_API_KEY",
"api_endpoint": "https://router.requesty.ai/v1",
"default_large_model_id": "anthropic/claude-sonnet-4-5",
"default_small_model_id": "openai/gpt-4o-mini",
"models": [
{
"id": "openai/gpt-4o-mini",
"name": "OpenAI: GPT-4o mini",
"cost_per_1m_in": 0.15,
"cost_per_1m_out": 0.6,
"context_window": 128000,
"default_max_tokens": 4096,
"can_reason": false,
"supports_attachments": true
},
{
"id": "openai/gpt-4o",
"name": "OpenAI: GPT-4o",
"cost_per_1m_in": 2.5,
"cost_per_1m_out": 10,
"context_window": 128000,
"default_max_tokens": 4096,
"can_reason": false,
"supports_attachments": true
},
{
"id": "anthropic/claude-sonnet-4-5",
"name": "Anthropic: Claude Sonnet 4.5",
"cost_per_1m_in": 3,
"cost_per_1m_out": 15,
"context_window": 200000,
"default_max_tokens": 8192,
"can_reason": true,
"supports_attachments": true
},
{
"id": "google/gemini-2.5-flash",
"name": "Google: Gemini 2.5 Flash",
"cost_per_1m_in": 0.3,
"cost_per_1m_out": 2.5,
"context_window": 1048576,
"default_max_tokens": 8192,
"can_reason": true,
"supports_attachments": true
}
]
},
{
"name": "Venice AI",
"id": "venice",
Expand Down Expand Up @@ -3663,4 +3714,4 @@
]
}
]
}
}
Loading