mirror of
https://github.com/musistudio/claude-code-router.git
synced 2026-01-30 06:12:06 +00:00
add token speed block
This commit is contained in:
@@ -69,6 +69,12 @@ async function registerPluginsFromConfig(serverInstance: any, config: any): Prom
|
||||
case 'token-speed':
|
||||
pluginManager.registerPlugin(tokenSpeedPlugin, {
|
||||
enabled,
|
||||
outputHandlers: [
|
||||
{
|
||||
type: 'temp-file',
|
||||
enabled: true
|
||||
}
|
||||
],
|
||||
...options
|
||||
});
|
||||
break;
|
||||
|
||||
@@ -4,7 +4,8 @@ export const apiKeyAuth =
|
||||
(config: any) =>
|
||||
async (req: FastifyRequest, reply: FastifyReply, done: () => void) => {
|
||||
// Public endpoints that don't require authentication
|
||||
if (["/", "/health"].includes(req.url) || req.url.startsWith("/ui")) {
|
||||
const publicPaths = ["/", "/health"];
|
||||
if (publicPaths.includes(req.url) || req.url.startsWith("/ui")) {
|
||||
return done();
|
||||
}
|
||||
|
||||
|
||||
42
packages/server/src/types.d.ts
vendored
42
packages/server/src/types.d.ts
vendored
@@ -118,4 +118,46 @@ declare module "@musistudio/llms" {
|
||||
clearCache(): void;
|
||||
dispose(): void;
|
||||
}
|
||||
|
||||
// Token speed statistics types
|
||||
export interface TokenStats {
|
||||
requestId: string;
|
||||
startTime: number;
|
||||
firstTokenTime?: number;
|
||||
lastTokenTime: number;
|
||||
tokenCount: number;
|
||||
tokensPerSecond: number;
|
||||
timeToFirstToken?: number;
|
||||
contentBlocks: {
|
||||
index: number;
|
||||
tokenCount: number;
|
||||
speed: number;
|
||||
}[];
|
||||
}
|
||||
|
||||
export function getTokenSpeedStats(): {
|
||||
current: TokenStats | null;
|
||||
global: {
|
||||
totalRequests: number;
|
||||
totalTokens: number;
|
||||
totalTime: number;
|
||||
avgTokensPerSecond: number;
|
||||
minTokensPerSecond: number;
|
||||
maxTokensPerSecond: number;
|
||||
avgTimeToFirstToken: number;
|
||||
allSpeeds: number[];
|
||||
};
|
||||
lastUpdate: number;
|
||||
};
|
||||
|
||||
export function getGlobalTokenSpeedStats(): {
|
||||
totalRequests: number;
|
||||
totalTokens: number;
|
||||
totalTime: number;
|
||||
avgTokensPerSecond: number;
|
||||
minTokensPerSecond: number;
|
||||
maxTokensPerSecond: number;
|
||||
avgTimeToFirstToken: number;
|
||||
allSpeeds: number[];
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user