No error is a dead end: crash, click, and your agent is already looking
Claude-Session: https://claude.ai/code/session_01Ms2FbjQy31TVf3CEvQhGM8
This commit is contained in:
@@ -168,8 +168,60 @@ Singleton {
|
||||
// general-purpose desktop should show without being asked.
|
||||
{
|
||||
key: "showAgentUsage", type: "bool", def: false, group: "vitals",
|
||||
label: "Claude usage",
|
||||
detail: "Show how much of the Claude subscription has been used, beside the other vitals"
|
||||
label: "Agent usage",
|
||||
detail: "Show how much of the busiest agent subscription has been used, beside the other vitals"
|
||||
},
|
||||
|
||||
// ── Agents ──────────────────────────────────────────────────────────
|
||||
// The escalation ladder and the usage collectors. `preferredAgent` is
|
||||
// deliberately "none" out of the box: until an agent is chosen, crash
|
||||
// notifications carry no action -- the desktop stays quiet rather than
|
||||
// volunteering a tool the user never asked for.
|
||||
{
|
||||
key: "preferredAgent", type: "enum", def: "none", group: "agents",
|
||||
label: "Preferred agent",
|
||||
detail: "Who answers when the desktop offers to investigate something",
|
||||
options: [
|
||||
{ value: "none", label: "None" },
|
||||
{ value: "claude", label: "Claude Code" },
|
||||
{ value: "codex", label: "Codex" }
|
||||
]
|
||||
},
|
||||
{
|
||||
key: "crashDiagnoseOffer", type: "bool", def: true, group: "agents",
|
||||
label: "Offer to diagnose crashes",
|
||||
detail: "When a program dumps core, the notification carries a click that opens the preferred agent mid-investigation with the crash details in hand"
|
||||
},
|
||||
{
|
||||
key: "reloadFailureOffer", type: "bool", def: true, group: "agents",
|
||||
label: "Offer help when the shell fails to reload",
|
||||
detail: "A broken change to the shell's own configuration offers the failing log to the agent"
|
||||
},
|
||||
{
|
||||
key: "healthAgentHandoff", type: "bool", def: true, group: "agents",
|
||||
label: "System Health hands off unrepairable checks",
|
||||
detail: "A red check with no repair, or whose repair failed, grows an Ask-the-agent button carrying the check's snapshot"
|
||||
},
|
||||
{
|
||||
key: "agentAutoApprove", type: "bool", def: true, group: "agents",
|
||||
label: "Launched agents approve their own tools",
|
||||
detail: "Investigations run without permission prompts. The diagnose skill still holds agents to reading rather than fixing, and root still goes through panama-sudo, reason and all"
|
||||
},
|
||||
{
|
||||
key: "agentUsageClaude", type: "bool", def: true, group: "agents",
|
||||
label: "Collect Claude Code usage",
|
||||
detail: "Limits from Anthropic's usage endpoint, tokens from the local transcripts"
|
||||
},
|
||||
{
|
||||
key: "agentUsageCodex", type: "bool", def: true, group: "agents",
|
||||
label: "Collect Codex usage",
|
||||
detail: "Limits over the Codex app-server, sessions from its local files"
|
||||
},
|
||||
{
|
||||
key: "agentUsageRefreshMinutes", type: "int", def: 15, min: 5, max: 60, step: 5,
|
||||
unit: " min", group: "agents",
|
||||
label: "Refresh interval",
|
||||
detail: "How often the usage collectors ask for fresh numbers, in minutes"
|
||||
},
|
||||
|
||||
// ── Battery ─────────────────────────────────────────────────────────
|
||||
|
||||
@@ -62,6 +62,19 @@ Singleton {
|
||||
readonly property bool showBatteryPercent: DesktopPreferences.get("showBatteryPercent")
|
||||
readonly property bool showAgentUsage: DesktopPreferences.get("showAgentUsage")
|
||||
|
||||
// ── Agents ──────────────────────────────────────────────────────────────
|
||||
// Who the desktop hands a failure to, what it is allowed to hand over, and
|
||||
// which usage collectors run. `showAgentUsage` stays with the vitals above:
|
||||
// it is the bar's switch, and the Agents page mirrors it.
|
||||
readonly property string preferredAgent: DesktopPreferences.get("preferredAgent")
|
||||
readonly property bool crashDiagnoseOffer: DesktopPreferences.get("crashDiagnoseOffer")
|
||||
readonly property bool reloadFailureOffer: DesktopPreferences.get("reloadFailureOffer")
|
||||
readonly property bool healthAgentHandoff: DesktopPreferences.get("healthAgentHandoff")
|
||||
readonly property bool agentAutoApprove: DesktopPreferences.get("agentAutoApprove")
|
||||
readonly property bool agentUsageClaude: DesktopPreferences.get("agentUsageClaude")
|
||||
readonly property bool agentUsageCodex: DesktopPreferences.get("agentUsageCodex")
|
||||
readonly property int agentUsageRefreshMinutes: DesktopPreferences.get("agentUsageRefreshMinutes")
|
||||
|
||||
// ── Battery ─────────────────────────────────────────────────────────────
|
||||
readonly property int batteryLowPercent: DesktopPreferences.get("batteryLowPercent")
|
||||
readonly property int batteryCriticalPercent: DesktopPreferences.get("batteryCriticalPercent")
|
||||
|
||||
Reference in New Issue
Block a user