mirror of
https://github.com/laoxong/nofx.git
synced 2026-06-04 09:58:22 +08:00
fix(agent,claw402): harden agent runtime and strip max_tokens for thinking models
- Fix Stop() race condition using sync.Once - Add ensureHistory() to prevent nil panic in planner/dispatcher - Add bounds check on trader ID slicing - Log saveExecutionState and clearSetupState errors instead of discarding - Remove always-true modelID condition in onboard setup - Add Chinese setup keywords and expand model name aliases - Strip max_tokens from claw402 requests to avoid thinking-model budget exhaustion - Hide Agent nav tab (Beta) pending merge to main - Sync tests with code changes Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -108,12 +108,16 @@ export default function HeaderBar({
|
||||
path: string
|
||||
label: string
|
||||
requiresAuth: boolean
|
||||
badge?: string
|
||||
hidden?: boolean
|
||||
}[] = [
|
||||
{
|
||||
page: 'agent',
|
||||
path: ROUTES.agent,
|
||||
label: 'Agent',
|
||||
requiresAuth: false,
|
||||
badge: 'Beta',
|
||||
hidden: true,
|
||||
},
|
||||
{
|
||||
page: 'data',
|
||||
@@ -182,7 +186,7 @@ export default function HeaderBar({
|
||||
navigateInApp(tab.path)
|
||||
}
|
||||
|
||||
return navTabs.map((tab) => (
|
||||
return navTabs.filter((tab) => !tab.hidden).map((tab) => (
|
||||
<button
|
||||
key={tab.page}
|
||||
onClick={() => handleNavClick(tab)}
|
||||
@@ -193,6 +197,11 @@ export default function HeaderBar({
|
||||
<span className="absolute inset-0 rounded-lg bg-nofx-gold/15 -z-10" />
|
||||
)}
|
||||
{tab.label}
|
||||
{tab.badge && (
|
||||
<span className="ml-1 text-[10px] px-1.5 py-0.5 rounded-full bg-nofx-gold/20 text-nofx-gold font-semibold uppercase align-top relative -top-1">
|
||||
{tab.badge}
|
||||
</span>
|
||||
)}
|
||||
</button>
|
||||
))
|
||||
})()}
|
||||
@@ -436,12 +445,16 @@ export default function HeaderBar({
|
||||
path: string
|
||||
label: string
|
||||
requiresAuth: boolean
|
||||
badge?: string
|
||||
hidden?: boolean
|
||||
}[] = [
|
||||
{
|
||||
page: 'agent',
|
||||
path: ROUTES.agent,
|
||||
label: 'Agent',
|
||||
requiresAuth: false,
|
||||
badge: 'Beta',
|
||||
hidden: true,
|
||||
},
|
||||
{
|
||||
page: 'data',
|
||||
@@ -510,7 +523,7 @@ export default function HeaderBar({
|
||||
setMobileMenuOpen(false)
|
||||
}
|
||||
|
||||
return navTabs.map((tab, i) => (
|
||||
return navTabs.filter((tab) => !tab.hidden).map((tab, i) => (
|
||||
<motion.button
|
||||
key={tab.page}
|
||||
initial={{ x: -20, opacity: 0 }}
|
||||
@@ -527,6 +540,11 @@ export default function HeaderBar({
|
||||
/>
|
||||
)}
|
||||
{tab.label}
|
||||
{tab.badge && (
|
||||
<span className="text-[10px] px-1.5 py-0.5 rounded-full bg-nofx-gold/20 text-nofx-gold font-semibold uppercase align-middle relative -top-1">
|
||||
{tab.badge}
|
||||
</span>
|
||||
)}
|
||||
{tab.requiresAuth && !isLoggedIn && (
|
||||
<span className="text-[10px] px-1.5 py-0.5 rounded border border-zinc-800 text-zinc-500 font-normal tracking-wide uppercase align-middle relative -top-1">
|
||||
LOGIN_REQ
|
||||
|
||||
Reference in New Issue
Block a user