diff --git a/internal/config/template/scan_template.json b/internal/config/template/scan_template.json
index 5dcf30ac..6d9ef4c8 100644
--- a/internal/config/template/scan_template.json
+++ b/internal/config/template/scan_template.json
@@ -9,8 +9,8 @@
"role": "user",
"content": "{{current_file_path}}\n\n\n{{file_content}}\n\n\nCurrent time in the real world: {{current_system_date_time}}\n\n\n### Requirement Background (Optional)\n{{requirement_background}}\n\n### Review Checklist\n{{system_rule}}\n\n### Pre-scan Focus Areas\n{{plan_guidance}}\n\nReview the entire source file in and report all findings via code_comment, then call task_done.\n"
}
- ],
- "timeout": 180
+ ]
+
},
"PLAN_TASK": {
"messages": [
@@ -22,8 +22,8 @@
"role": "user",
"content": "{{current_file_path}}\n\n\n{{file_content}}\n\n\nCurrent time: {{current_system_date_time}}\n\n### Review Checklist (project rules)\n{{system_rule}}\n\nProduce the JSON focus checklist now."
}
- ],
- "timeout": 90
+ ]
+
},
"DEDUP_TASK": {
"messages": [
@@ -35,8 +35,8 @@
"role": "user",
"content": "\n{{batch_comments}}\n\n\nProduce the dedup groups JSON now."
}
- ],
- "timeout": 90
+ ]
+
},
"PROJECT_SUMMARY_TASK": {
"messages": [
@@ -48,8 +48,8 @@
"role": "user",
"content": "Total comments: {{comment_count}} across {{file_count}} files.\n\n\n{{all_comments}}\n\n\nProduce the project summary markdown now."
}
- ],
- "timeout": 120
+ ]
+
},
"MEMORY_COMPRESSION_TASK": {
"messages": [
@@ -61,8 +61,7 @@
"role": "user",
"content": "{{context}}"
}
- ],
- "timeout": 120
+ ]
},
"RE_LOCATION_TASK": {
"messages": [
@@ -74,8 +73,8 @@
"role": "user",
"content": "Below is a unified diff and a review comment. Identify the minimal contiguous code range in the diff that the comment targets.\n\nRules:\n1. Copy the relevant lines VERBATIM from the diff — do not rewrite, reformat, or add anything.\n2. Strip leading diff markers (`+`, `-`, ` `) from each line before outputting.\n3. Include only the lines directly related to the issue — no surrounding context.\n4. If multiple disjoint locations apply, pick the single most relevant one.\n5. Output ONLY a fenced code block. No explanation, no commentary.\n\n**Diff:**\n```diff\n{diff}```\n\n**Original code snippet (failed to match):**\n```\n{existing_code}\n```\n\n**Review comment:**\n{suggestion_content}"
}
- ],
- "timeout": 180
+ ]
+
},
"MAX_TOKENS": 58888,
"MAX_TOOL_REQUEST_TIMES": 60,
diff --git a/internal/config/template/template.go b/internal/config/template/template.go
index 889fffc9..f71993e0 100644
--- a/internal/config/template/template.go
+++ b/internal/config/template/template.go
@@ -54,7 +54,7 @@ type manifestMessage struct {
}
type manifestConversation struct {
- Timeout int `json:"timeout"`
+
Messages []manifestMessage `json:"messages"`
}
@@ -70,7 +70,7 @@ type templateManifest struct {
}
func resolveConversation(m manifestConversation) (LlmConversation, error) {
- conv := LlmConversation{Timeout: m.Timeout}
+ conv := LlmConversation{}
conv.Messages = make([]ChatMessage, len(m.Messages))
for i, mm := range m.Messages {
data, err := templateFS.ReadFile("prompts/" + mm.PromptFile)
@@ -214,7 +214,7 @@ func (t *ScanTemplate) Validate() error {
// LlmConversation mirrors LlmConversation from the Java side — a preset prompt with settings.
type LlmConversation struct {
- Timeout int `json:"timeout"`
+
Messages []ChatMessage `json:"messages"`
}
diff --git a/pages/src/components/Navbar.tsx b/pages/src/components/Navbar.tsx
index 2ea18aac..932f635b 100644
--- a/pages/src/components/Navbar.tsx
+++ b/pages/src/components/Navbar.tsx
@@ -14,7 +14,7 @@ const LANG_OPTIONS: { value: Language; label: string }[] = [
];
const navTabs = [
- { path: '/', labelKey: 'navbar.features' },
+ { path: '/features', labelKey: 'navbar.features' },
{ path: '/benchmark', labelKey: 'navbar.benchmark' },
{ path: '/quickstart', labelKey: 'navbar.quickstart' },
{ path: '/docs', labelKey: 'navbar.docs' },