feat: enable dynamic truncation for all tool outputs by default (#226)
- Change truncate_all_tool_outputs default from false to true - Update schema.ts to use .default(true) instead of .optional() - Update documentation in all README files (EN, KO, JA, ZH-CN) - Rebuild JSON schema with new default value This prevents prompts from becoming too long by dynamically truncating all tool outputs based on context window usage. Users can opt-out by setting experimental.truncate_all_tool_outputs to false. Co-authored-by: sisyphus-dev-ai <sisyphus-dev-ai@users.noreply.github.com>
This commit is contained in:
12
README.ja.md
12
README.ja.md
@@ -812,15 +812,17 @@ OpenCode でサポートされるすべての LSP 構成およびカスタム設
|
|||||||
{
|
{
|
||||||
"experimental": {
|
"experimental": {
|
||||||
"aggressive_truncation": true,
|
"aggressive_truncation": true,
|
||||||
"auto_resume": true
|
"auto_resume": true,
|
||||||
|
"truncate_all_tool_outputs": false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
| オプション | デフォルト | 説明 |
|
| オプション | デフォルト | 説明 |
|
||||||
| ------------------------ | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| --------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| `aggressive_truncation` | `false` | トークン制限を超えた場合、ツール出力を積極的に切り詰めて制限内に収めます。デフォルトの切り詰めより積極的です。不十分な場合は要約/復元にフォールバックします。 |
|
| `aggressive_truncation` | `false` | トークン制限を超えた場合、ツール出力を積極的に切り詰めて制限内に収めます。デフォルトの切り詰めより積極的です。不十分な場合は要約/復元にフォールバックします。 |
|
||||||
| `auto_resume` | `false` | thinking block エラーや thinking disabled violation からの回復成功後、自動的にセッションを再開します。最後のユーザーメッセージを抽出して続行します。 |
|
| `auto_resume` | `false` | thinking block エラーや thinking disabled violation からの回復成功後、自動的にセッションを再開します。最後のユーザーメッセージを抽出して続行します。 |
|
||||||
|
| `truncate_all_tool_outputs` | `true` | プロンプトが長くなりすぎるのを防ぐため、コンテキストウィンドウの使用状況に基づいてすべてのツール出力を動的に切り詰めます。完全なツール出力が必要な場合は`false`に設定して無効化します。 |
|
||||||
|
|
||||||
**警告**:これらの機能は実験的であり、予期しない動作を引き起こす可能性があります。影響を理解した場合にのみ有効にしてください。
|
**警告**:これらの機能は実験的であり、予期しない動作を引き起こす可能性があります。影響を理解した場合にのみ有効にしてください。
|
||||||
|
|
||||||
|
|||||||
12
README.ko.md
12
README.ko.md
@@ -806,15 +806,17 @@ OpenCode 에서 지원하는 모든 LSP 구성 및 커스텀 설정 (opencode.js
|
|||||||
{
|
{
|
||||||
"experimental": {
|
"experimental": {
|
||||||
"aggressive_truncation": true,
|
"aggressive_truncation": true,
|
||||||
"auto_resume": true
|
"auto_resume": true,
|
||||||
|
"truncate_all_tool_outputs": false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
| 옵션 | 기본값 | 설명 |
|
| 옵션 | 기본값 | 설명 |
|
||||||
| ------------------------ | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| --------------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| `aggressive_truncation` | `false` | 토큰 제한을 초과하면 도구 출력을 공격적으로 잘라내어 제한 내에 맞춥니다. 기본 truncation보다 더 공격적입니다. 부족하면 요약/복구로 fallback합니다. |
|
| `aggressive_truncation` | `false` | 토큰 제한을 초과하면 도구 출력을 공격적으로 잘라내어 제한 내에 맞춥니다. 기본 truncation보다 더 공격적입니다. 부족하면 요약/복구로 fallback합니다. |
|
||||||
| `auto_resume` | `false` | thinking block 에러나 thinking disabled violation으로부터 성공적으로 복구한 후 자동으로 세션을 재개합니다. 마지막 사용자 메시지를 추출하여 계속합니다. |
|
| `auto_resume` | `false` | thinking block 에러나 thinking disabled violation으로부터 성공적으로 복구한 후 자동으로 세션을 재개합니다. 마지막 사용자 메시지를 추출하여 계속합니다. |
|
||||||
|
| `truncate_all_tool_outputs` | `true` | 프롬프트가 너무 길어지는 것을 방지하기 위해 컨텍스트 윈도우 사용량에 따라 모든 도구 출력을 동적으로 잘라냅니다. 전체 도구 출력이 필요한 경우 `false`로 설정하여 비활성화하세요. |
|
||||||
|
|
||||||
**경고**: 이 기능들은 실험적이며 예상치 못한 동작을 유발할 수 있습니다. 의미를 이해한 경우에만 활성화하세요.
|
**경고**: 이 기능들은 실험적이며 예상치 못한 동작을 유발할 수 있습니다. 의미를 이해한 경우에만 활성화하세요.
|
||||||
|
|
||||||
|
|||||||
13
README.md
13
README.md
@@ -878,16 +878,17 @@ Opt-in experimental features that may change or be removed in future versions. U
|
|||||||
{
|
{
|
||||||
"experimental": {
|
"experimental": {
|
||||||
"aggressive_truncation": true,
|
"aggressive_truncation": true,
|
||||||
"auto_resume": true
|
"auto_resume": true,
|
||||||
|
"truncate_all_tool_outputs": false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
| Option | Default | Description |
|
| Option | Default | Description |
|
||||||
| ------------------------ | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| --------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| `aggressive_truncation` | `false` | When token limit is exceeded, aggressively truncates tool outputs to fit within limits. More aggressive than the default truncation behavior. Falls back to summarize/revert if insufficient. |
|
| `aggressive_truncation` | `false` | When token limit is exceeded, aggressively truncates tool outputs to fit within limits. More aggressive than the default truncation behavior. Falls back to summarize/revert if insufficient. |
|
||||||
| `auto_resume` | `false` | Automatically resumes session after successful recovery from thinking block errors or thinking disabled violations. Extracts the last user message and continues. |
|
| `auto_resume` | `false` | Automatically resumes session after successful recovery from thinking block errors or thinking disabled violations. Extracts the last user message and continues. |
|
||||||
| `truncate_all_tool_outputs` | `true` | Dynamically truncates output from all tool calls to prevent prompts from being too long. Helps manage context window usage across all tools, not just whitelisted ones. |
|
| `truncate_all_tool_outputs` | `true` | Dynamically truncates ALL tool outputs based on context window usage to prevent prompts from becoming too long. Disable by setting to `false` if you need full tool outputs. |
|
||||||
|
|
||||||
**Warning**: These features are experimental and may cause unexpected behavior. Enable only if you understand the implications.
|
**Warning**: These features are experimental and may cause unexpected behavior. Enable only if you understand the implications.
|
||||||
|
|
||||||
|
|||||||
@@ -812,15 +812,17 @@ Oh My OpenCode 送你重构工具(重命名、代码操作)。
|
|||||||
{
|
{
|
||||||
"experimental": {
|
"experimental": {
|
||||||
"aggressive_truncation": true,
|
"aggressive_truncation": true,
|
||||||
"auto_resume": true
|
"auto_resume": true,
|
||||||
|
"truncate_all_tool_outputs": false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
| 选项 | 默认值 | 说明 |
|
| 选项 | 默认值 | 说明 |
|
||||||
| ------------------------ | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
|
| --------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| `aggressive_truncation` | `false` | 超出 token 限制时,激进地截断工具输出以适应限制。比默认截断更激进。不够的话会回退到摘要/恢复。 |
|
| `aggressive_truncation` | `false` | 超出 token 限制时,激进地截断工具输出以适应限制。比默认截断更激进。不够的话会回退到摘要/恢复。 |
|
||||||
| `auto_resume` | `false` | 从 thinking block 错误或 thinking disabled violation 成功恢复后,自动恢复会话。提取最后一条用户消息继续执行。 |
|
| `auto_resume` | `false` | 从 thinking block 错误或 thinking disabled violation 成功恢复后,自动恢复会话。提取最后一条用户消息继续执行。 |
|
||||||
|
| `truncate_all_tool_outputs` | `true` | 为防止提示过长,根据上下文窗口使用情况动态截断所有工具输出。如需完整工具输出,设置为 `false` 禁用此功能。 |
|
||||||
|
|
||||||
**警告**:这些功能是实验性的,可能会导致意外行为。只有在理解其影响的情况下才启用。
|
**警告**:这些功能是实验性的,可能会导致意外行为。只有在理解其影响的情况下才启用。
|
||||||
|
|
||||||
|
|||||||
@@ -1257,6 +1257,7 @@
|
|||||||
"maximum": 0.95
|
"maximum": 0.95
|
||||||
},
|
},
|
||||||
"truncate_all_tool_outputs": {
|
"truncate_all_tool_outputs": {
|
||||||
|
"default": true,
|
||||||
"type": "boolean"
|
"type": "boolean"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ export const ExperimentalConfigSchema = z.object({
|
|||||||
/** Threshold percentage to trigger preemptive compaction (default: 0.80) */
|
/** Threshold percentage to trigger preemptive compaction (default: 0.80) */
|
||||||
preemptive_compaction_threshold: z.number().min(0.5).max(0.95).optional(),
|
preemptive_compaction_threshold: z.number().min(0.5).max(0.95).optional(),
|
||||||
/** Truncate all tool outputs, not just whitelisted tools (default: true) */
|
/** Truncate all tool outputs, not just whitelisted tools (default: true) */
|
||||||
truncate_all_tool_outputs: z.boolean().optional(),
|
truncate_all_tool_outputs: z.boolean().default(true),
|
||||||
})
|
})
|
||||||
|
|
||||||
export const OhMyOpenCodeConfigSchema = z.object({
|
export const OhMyOpenCodeConfigSchema = z.object({
|
||||||
|
|||||||
Reference in New Issue
Block a user