Welcome to Cost Katana v2.0! This version is a complete simplification that makes using AI as easy as possible.
# Old
npm install ai-cost-tracker
# New
npm install cost-katanaWe've reduced the complexity by 90% while keeping all the power.
# Remove old package
npm uninstall ai-cost-tracker
# Install new package
npm install cost-katanaBefore:
import AICostTracker, { AIProvider } from 'ai-cost-tracker';After:
import { ai, chat, configure } from 'cost-katana';Before (10 lines):
const tracker = await AICostTracker.create({
providers: [{ provider: AIProvider.OpenAI, apiKey: process.env.OPENAI_API_KEY }],
optimization: { enablePromptOptimization: true },
tracking: {}
});
const response = await tracker.makeRequest({
model: 'gpt-3.5-turbo',
messages: [{ role: 'user', content: 'Hello' }]
});
console.log(response.choices[0].message.content);After (2 lines):
const response = await ai('gpt-3.5-turbo', 'Hello');
console.log(response.text);Before:
const tracker = await AICostTracker.create({...});
// Complex session managementAfter:
const session = chat('gpt-4');
await session.send('Hello');
await session.send('How are you?');
console.log(`Total: $${session.totalCost}`);All v1.x features are still available!
v1.x:
const tracker = await AICostTracker.create({...});
const gateway = tracker.initializeGateway({...});
const response = await tracker.gatewayOpenAI({...}, {...});v2.0:
const response = await ai('gpt-4', 'Hello', {
cache: true,
cortex: true
});v1.x:
const gateway = tracker.initializeGateway({...});
const response = await gateway.openai({...}, {
cortex: { enabled: true, operation: 'optimize' }
});v2.0:
const response = await ai('gpt-4', 'Hello', { cortex: true });v1.x:
const tracker = await AICostTracker.create({
providers: [...],
optimization: {...},
tracking: {...},
alerts: {...}
});v2.0:
await configure({
apiKey: 'dak_your_key',
cortex: true,
cache: true,
firewall: true
});Need the full API? Import from /advanced:
import AICostTracker from 'cost-katana/advanced';
const tracker = await AICostTracker.create({
// Full v1.x API available
});More flexible in v2.0!
v1.x (Required exactly these names):
API_KEY=dak_...
PROJECT_ID=proj_...
OPENAI_API_KEY=sk-...v2.0 (Accepts multiple variations):
# Any of these work for Cost Katana
COST_KATANA_API_KEY=dak_...
COST_KATANA_API_KEY=dak_...
API_KEY=dak_...
COSTKATANA_KEY=dak_...
# Provider keys
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
# etc.v1.x (30+ lines):
import AICostTracker, { AIProvider } from 'ai-cost-tracker';
const tracker = await AICostTracker.create({
providers: [
{ provider: AIProvider.OpenAI, apiKey: process.env.OPENAI_API_KEY }
],
optimization: {
enablePromptOptimization: true,
enableModelSuggestions: true,
enableCachingSuggestions: true,
thresholds: {
highCostPerRequest: 0.01,
highTokenUsage: 1000,
frequencyThreshold: 10
}
},
tracking: {}
});
async function handleQuery(userQuery: string) {
const response = await tracker.makeRequest({
model: 'gpt-3.5-turbo',
messages: [
{ role: 'system', content: 'You are a support agent' },
{ role: 'user', content: userQuery }
],
temperature: 0.7,
maxTokens: 500
});
return response.choices[0].message.content;
}v2.0 (5 lines):
import { chat } from 'cost-katana';
const support = chat('gpt-3.5-turbo', {
systemMessage: 'You are a support agent'
});
async function handleQuery(userQuery: string) {
return await support.send(userQuery);
}v1.x:
// ~50 lines of setup and comparison logicv2.0:
import { ai } from 'cost-katana';
const models = ['gpt-4', 'claude-3-sonnet', 'gemini-pro'];
for (const model of models) {
const response = await ai(model, 'Test prompt');
console.log(`${model}: $${response.cost}`);
}npm uninstall ai-cost-tracker
npm install cost-katanav2.0 accepts multiple names:
export COST_KATANA_API_KEY="dak_..."
# OR
export OPENAI_API_KEY="sk-..."This will be available in the published package. For now, use:
import AICostTracker from 'cost-katana';- Documentation: https://docs.costkatana.com
- Discord: https://discord.gg/D8nDArmKbY
- Email: support@costkatana.com
- 90% less code for common use cases
- Zero configuration to get started
- Better error messages with solutions
- Auto-detection of API keys
- Faster initialization (no complex setup)
- Smarter defaults (caching, optimization)
- Better caching (automatic)
- Simpler API = fewer bugs
- Better documentation = faster onboarding
- More examples = easier learning
We'd love to hear about your upgrade experience!
- GitHub: https://github.com/cost-katana/core/issues
- Discord: https://discord.gg/D8nDArmKbY
Thank you for using Cost Katana! 🥷