release v1.0.49

This commit is contained in:
musistudio
2025-09-09 22:43:01 +08:00
parent 7964fff175
commit f7adb7b28e
3 changed files with 16 additions and 6 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "@musistudio/claude-code-router",
"version": "1.0.48",
"version": "1.0.49",
"description": "Use Claude Code without an Anthropics account and route it to another LLM provider",
"bin": {
"ccr": "./dist/cli.js"

View File

@@ -358,12 +358,16 @@ async function run(options: RunOptions = {}) {
return done(null, originalStream)
}
sessionUsageCache.put(req.sessionId, payload.usage);
}
if (typeof payload ==='object') {
if (payload.error) {
return done(payload.error, null)
} else {
return done(payload, null)
}
return done(payload)
}
}
if (typeof payload ==='object' && payload.error) {
return done(payload.error, null)
}
done(null, payload)
});

View File

@@ -5,6 +5,7 @@ import {
} from "@anthropic-ai/sdk/resources/messages";
import { get_encoding } from "tiktoken";
import { sessionUsageCache, Usage } from "./cache";
import { readFile } from 'fs/promises'
const enc = get_encoding("cl100k_base");
@@ -147,6 +148,11 @@ export const router = async (req: any, _res: any, context: any) => {
}
const lastMessageUsage = sessionUsageCache.get(req.sessionId);
const { messages, system = [], tools }: MessageCreateParamsBase = req.body;
if (config.REWRITE_SYSTEM_PROMPT && system.length > 1 && system[1]?.text?.includes('<env>')) {
const prompt = await readFile(config.REWRITE_SYSTEM_PROMPT, 'utf-8');
system[1].text = `${prompt}<env>${system[1].text.split('<env>').pop()}`
}
try {
const tokenCount = calculateTokenCount(
messages as MessageParam[],