Skip to content

Commit 582ff19

Browse files
committed
v0.7.7
- Add batch processing function to tools like TODO - Optimize part of UI display to avoid icon display anomalies and terminal jitter - Update Gemini thinking strength parameters - Persistent context information - Enhance robustness of `/btw` command - Remove outdated API setting parameters
1 parent cb5f3ca commit 582ff19

22 files changed

Lines changed: 249 additions & 273 deletions

.github/workflows/publish.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,12 @@ jobs:
5656
5757
### What's New
5858
59-
- Fixed some known bugs
59+
- Add batch processing function to tools like TODO
60+
- Optimize part of UI display to avoid icon display anomalies and terminal jitter
61+
- Update Gemini thinking strength parameters
62+
- Persistent context information
63+
- Enhance robustness of `/btw` command
64+
- Remove outdated API setting parameters
6065
6166
### Installation
6267
```bash

docs/usage/en/02.First Time Configuration.md

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -426,40 +426,6 @@ When selecting the `OpenAI Responses` request method, the following configuratio
426426
- Setting too high will increase response time and cost
427427
- Recommend setting reasonably based on actual needs
428428

429-
#### Edit Similarity Threshold (Advanced Option, Change with Caution)
430-
431-
**Purpose**: Controls matching precision when AI modifies files, affecting code editing accuracy
432-
433-
**Default**: 0.75
434-
435-
**Range**: 0.1 - 1.0 (decimal)
436-
437-
**Configuration Method**:
438-
439-
- Press Enter to enter edit mode
440-
- Input decimal number (e.g., 0.75, 0.8)
441-
- Supports backspace deletion
442-
- Press Enter to confirm
443-
444-
**Explanation**:
445-
446-
- **Higher threshold**: Stricter matching, only very similar code will be modified, reducing risk of incorrect modifications
447-
- **Lower threshold**: Looser matching, allows more differences (like indentation, whitespace), increasing flexibility
448-
- **Default 0.75**: Balances precision and flexibility, suitable for most scenarios
449-
450-
**Recommendations**:
451-
452-
- Keep default value unless encountering specific issues
453-
- If AI frequently can't find code to modify, slightly decrease (e.g., 0.6-0.7)
454-
- If AI incorrectly modifies similar but different code, slightly increase (e.g., 0.8-0.85)
455-
- Not recommended to set below 0.6 or above 0.9
456-
457-
**Important Notes**:
458-
459-
- This configuration affects all code editing operations
460-
- Changes take effect immediately without restart
461-
- Incorrect settings may cause code editing failures or incorrect modifications
462-
463429
## Configuration Interface Operations
464430

465431
### Basic Operations

docs/usage/en/21.Custom StatusLine Guide.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ Each render item supports the following fields:
182182
thinkingBudgetTokens: 4096,
183183
thinkingEffort: 'medium',
184184
geminiThinkingEnabled: false,
185-
geminiThinkingBudget: 4096,
185+
geminiThinkingLevel: 'high',
186186
responsesReasoningEnabled: false,
187187
responsesReasoningEffort: 'medium',
188188
responsesFastMode: false,
@@ -195,7 +195,6 @@ Each render item supports the following fields:
195195
streamIdleTimeoutSec: 180,
196196
systemPromptId: ['default'],
197197
customHeadersSchemeId: 'default',
198-
editSimilarityThreshold: 0.75,
199198
toolResultTokenLimit: 100000,
200199
streamingDisplay: false,
201200
},
@@ -225,7 +224,7 @@ Available fields under `system`:
225224
- `system.codebase`: codebase indexing state, including `indexing` and `progress`
226225
- `system.watcher`: file watcher state, including `enabled` and `fileUpdateNotification`
227226
- `system.clipboard`: most recent copy feedback, including `text`, `isError`, `timestamp`
228-
- `system.profile`: current profile full configuration, including `currentName`, `baseUrl`, `requestMethod`, `advancedModel`, `basicModel`, `maxContextTokens`, `maxTokens`, `anthropicBeta`, `anthropicCacheTTL`, `thinkingEnabled`, `thinkingType`, `thinkingBudgetTokens`, `thinkingEffort`, `geminiThinkingEnabled`, `geminiThinkingBudget`, `responsesReasoningEnabled`, `responsesReasoningEffort`, `responsesFastMode`, `responsesVerbosity`, `anthropicSpeed`, `enablePromptOptimization`, `enableAutoCompress`, `autoCompressThreshold`, `showThinking`, `streamIdleTimeoutSec`, `systemPromptId`, `customHeadersSchemeId`, `editSimilarityThreshold`, `toolResultTokenLimit`, `streamingDisplay` (excluding `apiKey`)
227+
- `system.profile`: current profile full configuration, including `currentName`, `baseUrl`, `requestMethod`, `advancedModel`, `basicModel`, `maxContextTokens`, `maxTokens`, `anthropicBeta`, `anthropicCacheTTL`, `thinkingEnabled`, `thinkingType`, `thinkingBudgetTokens`, `thinkingEffort`, `geminiThinkingEnabled`, `geminiThinkingLevel`, `responsesReasoningEnabled`, `responsesReasoningEffort`, `responsesFastMode`, `responsesVerbosity`, `anthropicSpeed`, `enablePromptOptimization`, `enableAutoCompress`, `autoCompressThreshold`, `showThinking`, `streamIdleTimeoutSec`, `systemPromptId`, `customHeadersSchemeId`, `toolResultTokenLimit`, `streamingDisplay` (excluding `apiKey`)
229228
- `system.compression`: auto-compression state, including `blockToast`
230229

231230
## Example 1: Real Clock Plugin

docs/usage/zh/02.首次配置.md

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -426,40 +426,6 @@
426426
- 设置过大会增加响应时间和成本
427427
- 建议根据实际需求合理设置
428428

429-
#### 文件编辑相似度阈值(高级选项,非必要不修改)
430-
431-
**作用**:控制 AI 在修改文件时的匹配精度,影响代码编辑的准确性
432-
433-
**默认值**:0.75
434-
435-
**取值范围**:0.1 - 1.0(小数)
436-
437-
**配置方式**
438-
439-
- 按回车键进入编辑模式
440-
- 输入数字,支持小数(如 0.75, 0.8)
441-
- 支持退格删除
442-
- 按回车键确认
443-
444-
**说明**
445-
446-
- **阈值越高**:匹配越严格,只有非常相似的代码才会被修改,降低误修改风险
447-
- **阈值越低**:匹配越宽松,允许更多的差异(如缩进、空格),提高灵活性
448-
- **默认值 0.75**:在精确性和灵活性之间取得平衡,适用于大多数场景
449-
450-
**建议**
451-
452-
- 保持默认值即可,除非遇到特殊问题
453-
- 如果 AI 经常找不到要修改的代码,可以适当降低(如 0.6-0.7)
454-
- 如果 AI 误修改了相似但不同的代码,可以适当提高(如 0.8-0.85)
455-
- 不建议设置低于 0.6 或高于 0.9
456-
457-
**注意事项**
458-
459-
- 此配置影响所有代码编辑操作
460-
- 修改后立即生效,无需重启
461-
- 错误的设置可能导致代码编辑失败或误修改
462-
463429
## 配置界面操作说明
464430

465431
### 基本操作

docs/usage/zh/21.自定义StatusLine指南.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ export default {
182182
thinkingBudgetTokens: 4096,
183183
thinkingEffort: 'medium',
184184
geminiThinkingEnabled: false,
185-
geminiThinkingBudget: 4096,
185+
geminiThinkingLevel: 'high',
186186
responsesReasoningEnabled: false,
187187
responsesReasoningEffort: 'medium',
188188
responsesFastMode: false,
@@ -195,7 +195,6 @@ export default {
195195
streamIdleTimeoutSec: 180,
196196
systemPromptId: ['default'],
197197
customHeadersSchemeId: 'default',
198-
editSimilarityThreshold: 0.75,
199198
toolResultTokenLimit: 100000,
200199
streamingDisplay: false,
201200
},
@@ -225,7 +224,7 @@ export default {
225224
- `system.codebase`:代码库索引状态,包含 `indexing``progress`
226225
- `system.watcher`:文件监视器状态,包含 `enabled``fileUpdateNotification`
227226
- `system.clipboard`:最近一次复制提示,包含 `text``isError``timestamp`
228-
- `system.profile`:当前 Profile 完整配置信息,包含 `currentName``baseUrl``requestMethod``advancedModel``basicModel``maxContextTokens``maxTokens``anthropicBeta``anthropicCacheTTL``thinkingEnabled``thinkingType``thinkingBudgetTokens``thinkingEffort``geminiThinkingEnabled``geminiThinkingBudget``responsesReasoningEnabled``responsesReasoningEffort``responsesFastMode``responsesVerbosity``anthropicSpeed``enablePromptOptimization``enableAutoCompress``autoCompressThreshold``showThinking``streamIdleTimeoutSec``systemPromptId``customHeadersSchemeId``editSimilarityThreshold``toolResultTokenLimit``streamingDisplay`(不含 `apiKey`
227+
- `system.profile`:当前 Profile 完整配置信息,包含 `currentName``baseUrl``requestMethod``advancedModel``basicModel``maxContextTokens``maxTokens``anthropicBeta``anthropicCacheTTL``thinkingEnabled``thinkingType``thinkingBudgetTokens``thinkingEffort``geminiThinkingEnabled``geminiThinkingLevel``responsesReasoningEnabled``responsesReasoningEffort``responsesFastMode``responsesVerbosity``anthropicSpeed``enablePromptOptimization``enableAutoCompress``autoCompressThreshold``showThinking``streamIdleTimeoutSec``systemPromptId``customHeadersSchemeId``toolResultTokenLimit``streamingDisplay`(不含 `apiKey`
229228
- `system.compression`:自动压缩提示,包含 `blockToast`
230229

231230
## 示例 1:真实可用的时钟插件

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "snow-ai",
3-
"version": "0.7.6",
3+
"version": "0.7.7",
44
"description": "Agentic coding in your terminal",
55
"license": "MIT",
66
"bin": {

source/api/gemini.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -499,7 +499,7 @@ export async function* createStreamingGeminiCompletion(
499499
if (config.geminiThinking?.enabled && !options.disableThinking) {
500500
requestBody.generationConfig = {
501501
thinkingConfig: {
502-
thinkingBudget: config.geminiThinking.budget,
502+
thinkingLevel: config.geminiThinking.thinkingLevel || 'high',
503503
},
504504
};
505505
}

source/api/models.ts

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -181,27 +181,37 @@ export async function fetchAvailableModels(): Promise<Model[]> {
181181
try {
182182
let models: Model[];
183183

184+
const defaultOpenAiBaseUrl = 'https://api.openai.com/v1';
185+
const trimmedBaseUrl = config.baseUrl.replace(/\/$/, '');
186+
const isDefaultBaseUrl =
187+
!trimmedBaseUrl || trimmedBaseUrl === defaultOpenAiBaseUrl;
188+
184189
switch (config.requestMethod) {
185-
case 'gemini':
190+
case 'gemini': {
186191
if (!config.apiKey) {
187192
throw new Error('API key is required for Gemini API');
188193
}
189-
models = await fetchGeminiModels(
190-
config.baseUrl.replace(/\/$/, ''),
191-
config.apiKey,
192-
);
194+
const geminiBaseUrl = isDefaultBaseUrl
195+
? 'https://generativelanguage.googleapis.com/v1beta'
196+
: trimmedBaseUrl;
197+
models = await fetchGeminiModels(geminiBaseUrl, config.apiKey);
193198
break;
199+
}
194200

195-
case 'anthropic':
201+
case 'anthropic': {
196202
if (!config.apiKey) {
197203
throw new Error('API key is required for Anthropic API');
198204
}
205+
const anthropicBaseUrl = isDefaultBaseUrl
206+
? 'https://api.anthropic.com/v1'
207+
: trimmedBaseUrl;
199208
models = await fetchAnthropicModels(
200-
config.baseUrl.replace(/\/$/, ''),
209+
anthropicBaseUrl,
201210
config.apiKey,
202211
customHeaders,
203212
);
204213
break;
214+
}
205215

206216
case 'chat':
207217
case 'responses':

source/i18n/lang/en.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,10 @@ export const en: TranslationKeys = {
182182
enablePromptOptimization: 'Enable Prompt Optimization:',
183183
enableAutoCompress: 'Enable Auto Compression:',
184184
autoCompressThreshold: 'Auto Compress Threshold (%):',
185+
autoCompressThresholdHint:
186+
'Algorithm: maxContextTokens × {percentage}% = {actualThreshold} tokens',
187+
autoCompressThresholdDesc:
188+
'Triggers compression when context exceeds this threshold (recommended 60-80%, too low impacts performance, too high defeats purpose)',
185189
showThinking: 'Show Thinking Process:',
186190
streamingDisplay: 'Streaming Line Display:',
187191
thinkingEnabled: 'Thinking Enabled:',
@@ -191,7 +195,7 @@ export const en: TranslationKeys = {
191195
thinkingBudgetTokens: 'Thinking Budget Tokens:',
192196
thinkingEffort: 'Thinking Effort:',
193197
geminiThinkingEnabled: 'Gemini Thinking Enabled:',
194-
geminiThinkingBudget: 'Gemini Thinking Budget:',
198+
geminiThinkingLevel: 'Gemini Thinking Level:',
195199
responsesReasoningEnabled: 'Responses Reasoning Enabled:',
196200
responsesReasoningEffort: 'Responses Reasoning Effort:',
197201
responsesVerbosity: 'Responses Verbosity:',
@@ -206,8 +210,6 @@ export const en: TranslationKeys = {
206210
'Algorithm: maxContextTokens × {percentage}% = {actualLimit} tokens',
207211
toolResultTokenLimitDesc:
208212
'Limits tool result as % of context window (recommended 20-40%, too low truncates, too high fills context)',
209-
editSimilarityThreshold:
210-
'Edit Similarity Threshold(0-1, change with caution):',
211213
notSet: 'Not set',
212214
enabled: '[✓] Enabled',
213215
disabled: '[ ] Disabled',

0 commit comments

Comments
 (0)