mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-15 16:04:03 +00:00
Merge branch 'feat/custom-thinking-budgets'
feat: add thinkingBudgets setting to customize token budgets per thinking level Allows users to override default token budgets for minimal/low/medium/high thinking levels via settings.json. Useful for token-based providers. closes #529 Co-authored-by: Melih Mucuk <melih@monkeysteam.com>
This commit is contained in:
commit
f97dcbf92f
8 changed files with 126 additions and 11 deletions
|
|
@ -644,6 +644,7 @@ export async function createAgentSession(options: CreateAgentSessionOptions = {}
|
|||
: undefined,
|
||||
steeringMode: settingsManager.getSteeringMode(),
|
||||
followUpMode: settingsManager.getFollowUpMode(),
|
||||
thinkingBudgets: settingsManager.getThinkingBudgets(),
|
||||
getApiKey: async () => {
|
||||
const currentModel = agent.state.model;
|
||||
if (!currentModel) {
|
||||
|
|
|
|||
|
|
@ -39,6 +39,13 @@ export interface ImageSettings {
|
|||
blockImages?: boolean; // default: false - when true, prevents all images from being sent to LLM providers
|
||||
}
|
||||
|
||||
export interface ThinkingBudgetsSettings {
|
||||
minimal?: number;
|
||||
low?: number;
|
||||
medium?: number;
|
||||
high?: number;
|
||||
}
|
||||
|
||||
export interface Settings {
|
||||
lastChangelogVersion?: string;
|
||||
defaultProvider?: string;
|
||||
|
|
@ -59,6 +66,7 @@ export interface Settings {
|
|||
images?: ImageSettings;
|
||||
enabledModels?: string[]; // Model patterns for cycling (same format as --models CLI flag)
|
||||
doubleEscapeAction?: "branch" | "tree"; // Action for double-escape with empty editor (default: "tree")
|
||||
thinkingBudgets?: ThinkingBudgetsSettings; // Custom token budgets for thinking levels
|
||||
}
|
||||
|
||||
/** Deep merge settings: project/overrides take precedence, nested objects merge recursively */
|
||||
|
|
@ -381,6 +389,10 @@ export class SettingsManager {
|
|||
};
|
||||
}
|
||||
|
||||
getThinkingBudgets(): ThinkingBudgetsSettings | undefined {
|
||||
return this.settings.thinkingBudgets;
|
||||
}
|
||||
|
||||
getShowImages(): boolean {
|
||||
return this.settings.terminal?.showImages ?? true;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue