Duel-Agents
Health Gecti
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 725 GitHub stars
Code Basarisiz
- fs module — File system access in packages/cli/package.json
- process.env — Environment variable access in packages/cli/src/install.test.ts
- Hardcoded secret — Potential hardcoded credential in packages/cli/src/install.test.ts
- process.env — Environment variable access in packages/cli/src/install.ts
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
CLI, SDK, and IDE plugins for Duel Agents
Duel Agents
Use, extend, and ship with Duel Agents: the IDE-native routing layer that runs prompts against multiple models and picks the cheapest answer that still wins.
This repo is the official integration package for duelagents.com.
Requirements
Every tool in this repo routes LLM traffic through https://duelagents.com/v1 with a Duel API key (duel_<prefix>_<secret>).
You cannot use raw Anthropic or OpenAI keys with these integrations. Get a key from the dashboard:
https://duelagents.com/dashboard/settings (subscribe → create API key)
Quick start
# 1. Get your key from the dashboard, then:
export DUEL_API_KEY=duel_yourprefix_yoursecret
# 2. Install for your tools
npx @duel-agents/install all
# 3. Verify
npx @duel-agents/install doctor
Install per tool
| Tool | Command |
|---|---|
| Claude Code | npx @duel-agents/install claude-code |
| Cursor | npx @duel-agents/install cursor |
| Codex CLI | npx @duel-agents/install codex |
| OpenClaw | npx @duel-agents/install openclaw |
| All | npx @duel-agents/install all |
Claude Code plugin
git clone https://github.com/2aronS/Duel-Agents.git
cd duel-agents
claude plugin install ./integrations/claude-plugin
npx @duel-agents/install claude-code
Use /duel-agents:setup in Claude Code for guided setup.
Cursor
The installer copies a skill to .cursor/skills/duel-agents/ and writes DUEL_API_KEY to your project .env.
You still need to set Settings → Models → Override OpenAI Base URL to https://duelagents.com/v1 with your Duel key. See templates/cursor-models.override.md.
Codex CLI
Writes OPENAI_BASE_URL and OPENAI_API_KEY (your Duel key) to .env. Restart Codex after install.
OpenClaw
Patches ~/.openclaw/openclaw.json with a duel provider and sets default model to duel/duel-auto. Telegram/Discord channels are unchanged. Only the model backend switches to Duel.
npx @duel-agents/install openclaw
openclaw config validate
Reference config: templates/openclaw.duel.json5
Build on top
Use @duel-agents/sdk in your apps, agents, and scripts. apiKey is required.
npm install @duel-agents/sdk
import { DuelClient } from "@duel-agents/sdk";
const duel = new DuelClient({
apiKey: process.env.DUEL_API_KEY!, // required (from dashboard)
});
// OpenAI-compatible
const chat = await duel.chat.completions.create({
model: "duel-auto",
messages: [{ role: "user", content: "Explain concurrent agents briefly." }],
});
// Anthropic-compatible
const msg = await duel.messages.create({
model: "duel-auto",
max_tokens: 1024,
messages: [{ role: "user", content: "Hello" }],
});
Hermes Agent, Venice, and any OpenAI-compatible client can use the same pattern:
OPENAI_BASE_URL=https://duelagents.com/v1
OPENAI_API_KEY=duel_yourprefix_yoursecret
LangChain and LlamaIndex
Duel is OpenAI wire compatible, so it works with the major Python frameworks.
Official packages
pip install langchain-duel # LangChain
pip install llama-index-llms-duel # LlamaIndex
from langchain_duel import ChatDuel
llm = ChatDuel(model="duel-auto") # reads DUEL_API_KEY
llm.invoke("Explain concurrent agents in one sentence.")
from llama_index.llms.duel import DuelLLM
llm = DuelLLM(model="duel-auto") # reads DUEL_API_KEY
llm.complete("Explain concurrent agents in one sentence.")
Source for both lives in python/. They default to duel-auto
routing and the https://duelagents.com/v1 proxy.
Without the packages
Any LangChain or LlamaIndex OpenAI client works by pointing at the proxy:
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="duel-auto",
base_url="https://duelagents.com/v1",
api_key="duel_yourprefix_yoursecret",
)
Configuration
| Variable | Purpose |
|---|---|
DUEL_API_KEY |
Your Duel API key (required) |
DUEL_AGENTS_API_KEY |
Alias accepted by the installer |
DUEL_PROXY_URL |
Override proxy URL (staging only) |
OPENCLAW_CONFIG_PATH |
Custom OpenClaw config path |
Troubleshooting
| Symptom | Fix |
|---|---|
Invalid API key format |
Key must be duel_ + 8 chars + _ + 32 chars. Create one at the dashboard. |
401 from doctor |
Key revoked or subscription inactive. Create a new key on billing/settings. |
Could not reach Duel API |
The proxy at duelagents.com/v1 must be running. Key format can still be valid; retry later. |
| OpenClaw won't start | Run openclaw config validate after install; restore from openclaw.json.bak if needed. |
| Cursor still uses OpenAI | Confirm model override URL and that the API key field is your duel_* key. |
| Skill copy failed after npm install | Re-run npm run build in the repo, or reinstall @duel-agents/install. Skills ship inside the package. |
Repo map
packages/core @duel-agents/core validation, env maps, connectivity
packages/cli @duel-agents/install installer CLI
packages/sdk @duel-agents/sdk TypeScript API client
integrations/ Claude plugin, Cursor skill, OpenClaw skill
python/ langchain-duel, llama-index-llms-duel
templates/ Example env and config files
Development
npm install
npm run build
npm test
See CONTRIBUTING.md.
License
MIT. See LICENSE.
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi