diff --git a/packages/opencode/src/cli/cmd/tui/component/dialog-model.tsx b/packages/opencode/src/cli/cmd/tui/component/dialog-model.tsx
index 32ff7bc510a..5aba1eb096f 100644
--- a/packages/opencode/src/cli/cmd/tui/component/dialog-model.tsx
+++ b/packages/opencode/src/cli/cmd/tui/component/dialog-model.tsx
@@ -10,8 +10,11 @@ import * as fuzzysort from "fuzzysort"
export function useConnected() {
const sync = useSync()
+ // kilocode_change - exclude "kilo" (anonymous autoload) alongside "opencode"
return createMemo(() =>
- sync.data.provider.some((x) => x.id !== "opencode" || Object.values(x.models).some((y) => y.cost?.input !== 0)),
+ sync.data.provider.some(
+ (x) => (x.id !== "opencode" && x.id !== "kilo") || Object.values(x.models).some((y) => y.cost?.input !== 0),
+ ),
)
}
diff --git a/packages/opencode/src/cli/cmd/tui/component/dialog-status.tsx b/packages/opencode/src/cli/cmd/tui/component/dialog-status.tsx
index 6c67536598f..45ceea19f8f 100644
--- a/packages/opencode/src/cli/cmd/tui/component/dialog-status.tsx
+++ b/packages/opencode/src/cli/cmd/tui/component/dialog-status.tsx
@@ -5,6 +5,7 @@ import { useDialog } from "@tui/ui/dialog"
import { useSync } from "@tui/context/sync"
import { For, Match, Switch, Show, createMemo } from "solid-js"
import { Installation } from "../../../../installation"
+import { Global } from "@/global" // kilocode_change
export type DialogStatusProps = {}
@@ -53,6 +54,21 @@ export function DialogStatus() {
{/* kilocode_change start */}
Kilo v{Installation.VERSION}
{/* kilocode_change end */}
+ {/* kilocode_change start */}
+
+ Paths
+
+ Global config {" "}
+ {Global.Path.config.replace(Global.Path.home, "~")}
+
+
+
+ Project {" "}
+ {sync.data.path.directory.replace(Global.Path.home, "~")}
+
+
+
+ {/* kilocode_change end */}
0} fallback={No MCP Servers}>
{Object.keys(sync.data.mcp).length} MCP Servers
diff --git a/packages/opencode/src/cli/cmd/tui/routes/home.tsx b/packages/opencode/src/cli/cmd/tui/routes/home.tsx
index eb86fc26515..9cf976e4da6 100644
--- a/packages/opencode/src/cli/cmd/tui/routes/home.tsx
+++ b/packages/opencode/src/cli/cmd/tui/routes/home.tsx
@@ -15,6 +15,7 @@ import { Installation } from "@/installation"
import { useKV } from "../context/kv"
import { useCommandDialog } from "../component/dialog-command"
import { KiloNews } from "@/kilocode/components/kilo-news" // kilocode_change
+import { useConnected } from "../component/dialog-model" // kilocode_change
// TODO: what is the best way to do this?
let once = false
@@ -38,9 +39,13 @@ export function Home() {
const isFirstTimeUser = createMemo(() => sync.data.session.length === 0)
const tipsHidden = createMemo(() => kv.get("tips_hidden", false))
const newsHidden = createMemo(() => kv.get("news_hidden", false)) // kilocode_change
+ // kilocode_change start
+ const connected = useConnected()
+ const onboarding = createMemo(() => isFirstTimeUser() && !connected())
+ // kilocode_change end
const showTips = createMemo(() => {
- // Don't show tips for first-time users
- if (isFirstTimeUser()) return false
+ if (onboarding()) return !tipsHidden() // kilocode_change - show onboarding tip
+ // kilocode_change - don't hide tips for connected first-time users
return !tipsHidden()
})
@@ -129,7 +134,13 @@ export function Home() {
-
+
diff --git a/packages/opencode/src/cli/cmd/tui/routes/session/sidebar.tsx b/packages/opencode/src/cli/cmd/tui/routes/session/sidebar.tsx
index 5c5f87b078d..45824208bfe 100644
--- a/packages/opencode/src/cli/cmd/tui/routes/session/sidebar.tsx
+++ b/packages/opencode/src/cli/cmd/tui/routes/session/sidebar.tsx
@@ -64,7 +64,10 @@ export function Sidebar(props: { sessionID: string; overlay?: boolean }) {
const kv = useKV()
const hasProviders = createMemo(() =>
- sync.data.provider.some((x) => x.id !== "opencode" || Object.values(x.models).some((y) => y.cost?.input !== 0)),
+ // kilocode_change - exclude "kilo" (anonymous autoload) alongside "opencode"
+ sync.data.provider.some(
+ (x) => (x.id !== "opencode" && x.id !== "kilo") || Object.values(x.models).some((y) => y.cost?.input !== 0),
+ ),
)
const gettingStartedDismissed = createMemo(() => kv.get("dismissed_getting_started", false))
diff --git a/packages/opencode/src/kilocode/components/tips.tsx b/packages/opencode/src/kilocode/components/tips.tsx
index b31b9ab3257..e485afb3274 100644
--- a/packages/opencode/src/kilocode/components/tips.tsx
+++ b/packages/opencode/src/kilocode/components/tips.tsx
@@ -30,9 +30,9 @@ function parse(tip: string): TipPart[] {
return parts
}
-export function Tips() {
+export function Tips(props: { tip?: string }) {
const theme = useTheme().theme
- const parts = parse(TIPS[Math.floor(Math.random() * TIPS.length)])
+ const parts = parse(props.tip ?? TIPS[Math.floor(Math.random() * TIPS.length)])
return (
@@ -134,7 +134,7 @@ const TIPS = [
"Run {highlight}kilo debug config{/highlight} to troubleshoot configuration",
"Use {highlight}--print-logs{/highlight} flag to see detailed logs in stderr",
"Press {highlight}Ctrl+X G{/highlight} or {highlight}/timeline{/highlight} to jump to specific messages",
- "Press {highlight}Ctrl+X S{/highlight} or {highlight}/status{/highlight} to see system status info",
+ "Press {highlight}Ctrl+X S{/highlight} or {highlight}/status{/highlight} to see config paths, MCP servers, and system info",
"Enable {highlight}tui.scroll_acceleration{/highlight} for smooth macOS-style scrolling",
"Toggle username display in chat via command palette ({highlight}Ctrl+P{/highlight})",
"Commit your project's {highlight}AGENTS.md{/highlight} file to Git for team sharing",