paws-cli-sdk
v0.1.0
Published
PAWS — AI CLI with support for multiple providers (OpenRouter, Ollama, vLLM, OpenAI, and any OpenAI-compatible API)
Readme
PAWS SDK
A drop-in replacement for the Anthropic SDK that works with OpenRouter, Ollama, vLLM, OpenAI, and any OpenAI-compatible API.
Installation
npm install @paws/paws-sdkQuick Start
import { Anthropic } from '@paws/paws-sdk'
const client = new Anthropic({
provider: 'openrouter', // or 'ollama', 'vllm', 'openai', 'custom'
apiKey: process.env.OPENROUTER_API_KEY,
model: 'anthropic/claude-sonnet-4',
})
const response = await client.messages.create({
model: 'anthropic/claude-sonnet-4',
max_tokens: 1024,
messages: [{ role: 'user', content: 'Hello!' }],
})Configuration
| Environment Variable | Description |
|---|---|
| PAWS_PROVIDER | Provider type: openrouter, ollama, vllm, openai, custom (default: openrouter) |
| OPENROUTER_API_KEY | API key for OpenRouter |
| OPENAI_API_KEY | API key for OpenAI (fallback provider) |
| PAWS_MODEL | Default model to use |
| OPENROUTER_BASE_URL | Custom OpenRouter base URL |
| OPENAI_BASE_URL | Custom OpenAI base URL |
API
createMessage(params)
Non-streaming message completion.
import { createMessage } from '@paws/paws-sdk'
const msg = await createMessage({
model: 'anthropic/claude-sonnet-4',
max_tokens: 1024,
messages: [{ role: 'user', content: 'Hello!' }],
tools: [{ name: 'search', description: '...', input_schema: {} }],
})streamMessage(params)
Streaming message completion with server-sent events.
import { streamMessage } from '@paws/paws-sdk'
for await (const event of streamMessage({
model: 'anthropic/claude-sonnet-4',
max_tokens: 1024,
messages: [{ role: 'user', content: 'Tell me a story' }],
})) {
if (event.type === 'content_block_delta' && event.delta?.text) {
process.stdout.write(event.delta.text)
}
}configurePaws(opts)
Configure global provider options.
import { configurePaws } from '@paws/paws-sdk'
configurePaws({
provider: 'ollama',
baseURL: 'http://localhost:11434/v1',
model: 'llama3',
})Providers
| Provider | baseURL | apiKey |
|---|---|---|
| openrouter | https://openrouter.ai/api/v1 | OPENROUTER_API_KEY |
| ollama | http://localhost:11434/v1 | (optional) |
| vllm | Your vLLM endpoint | (optional) |
| openai | https://api.openai.com/v1 | OPENAI_API_KEY |
| custom | Set via baseURL | Set via apiKey |
Build
# Install dependencies
npm install
# Build the CLI bundle
npm run build
# Production build (minified)
npm run build:prod
# Watch mode
npm run build:watchPublishing
npm publish --access public