Violoop Planner

{{ status.models?.sonnet || '...' }}
总 Plans
{{ (dash.plans?.total || 0).toLocaleString() }}
累计生成
今日
{{ dash.plans?.metrics?.todayCount || 0 }}
昨日 {{ dash.plans?.metrics?.yesterdayCount || 0 }}
7d 平均步数
{{ dash.plans?.metrics?.avgSteps || 0 }}
每 plan 的 step 数
单步退化率
{{ pct(dash.plans?.metrics?.degradedRate) }}%
7d 内 steps≤1 的占比
SOP 绑定率
{{ pct(dash.plans?.metrics?.bindingRate) }}%
7d step 含 skill_id 比例
Retry 触发
{{ pct(dash.plans?.metrics?.retryRate) }}%
7d 内调过 retry 的占比
平均规划耗时
{{ fmtMs(dash.plans?.metrics?.avgPlanMs) }}
7d 内 P50 估算
{{ dash.skills?.total || 0 }}
Skills (SOPs)
{{ dash.manuals?.total || 0 }}
App Manuals
{{ dash.capabilities?.total || 0 }}
App Capabilities
{{ (dash.skills?.byApp || []).length }}
Applications

Skills by App

Plans by App

Recent Plans

No plans yet
{{ p.task }}
{{ a }} {{ p.meta?.steps?.length || 0 }} 步 绑 {{ p.meta.bound_skill_steps }}/{{ p.meta.steps?.length || 0 }} SOP retry 单步退化 {{ timeAgo(p.created_at) }}

Try Planner

直接输入任务,预览 plan
{{ tryError }}
召回→Haiku 精筛→Sonnet 规划 进行中…
{{ tryResult.meta?.steps?.length || 0 }}
{{ tryResult.meta?.bound_skill_steps || 0 }}/{{ tryResult.meta?.steps?.length || 0 }}
绑 SOP
{{ (tryResult.meta?.skills_used || []).length }}
召回 skill
{{ fmtMs(tryResult.meta?.planning_ms) }}
耗时
触发
retry
退化
单步
✓ 已注入 Capabilities (优先采用): {{ app }}
📖 已注入 Manuals (UI 兜底): {{ app }}

Steps

{{ i + 1 }}
{{ step.title }}
{{ step.skill_id }} {{ step.step_range[0] }}–{{ step.step_range[1] }} 通用步骤 ↑ {{ step.context_from }} {{ k }}={{ v }}
完整 instruction ({{ tryResult.instruction?.length || 0 }} chars)
{{ tryResult.instruction }}

Plans

{{ p.task }}
{{ a }} {{ p.meta?.steps?.length || 0 }}步 retry 退化 {{ timeAgo(p.created_at) }}
No plans
Select a plan to view details

{{ currentPlan.task }}

{{ currentPlan.id }} · {{ fmtDate(currentPlan.created_at) }} · {{ currentPlan.os }} {{ a }}
{{ currentPlan.meta?.steps?.length || 0 }}
{{ currentPlan.meta?.bound_skill_steps || 0 }}/{{ currentPlan.meta?.steps?.length || 0 }}
绑 SOP
{{ (currentPlan.meta?.skills_used || []).length }}
召回 skill
{{ fmtMs(currentPlan.meta?.planning_ms) }}
耗时
触发
retry
退化
单步
✓ 已注入 Capabilities (优先采用): {{ app }}
📖 已注入 Manuals (UI 兜底): {{ app }}

{{ currentPlan.plan?.title }}

{{ currentPlan.plan?.success_criteria }}
{{ i + 1 }}
{{ step.title }}
{{ step.skill_id }} {{ step.step_range[0] }}–{{ step.step_range[1] }} 通用步骤 ↑ {{ step.context_from }} {{ k }}={{ v }}

参考 SOP(场景相近,未被任何 step 直接绑定)

{{ r }}
{{ currentPlan.instruction }}

Analysis

{{ currentPlan.meta?.analysis }}

Skills Used

{{ s }}

Plan Structure (JSON)

{{ JSON.stringify(currentPlan.plan, null, 2) }}

Skills Library

{{ skills.length }} SOPs · {{ Object.keys(skillsByApp).length }} apps

{{ expandedSkillGroups[app] !== false ? '▼' : '▶' }} {{ app }} {{ group.length }} skills

{{ s.id }} {{ s.os }}
{{ s.title }}
{{ s.scenario }}
{{ s.stepCount }} 步: {{ (s.stepTitles || []).join(' → ') }}

App Capabilities

CLI / AppleScript / API 技术接入手册。
Plan 生成时优先于 UI 操作。
{{ c.app }}
v{{ c.version }} {{ c.sizeChars }} chars {{ timeAgo(c.updatedAt) }}
No capabilities yet
Select or 新建 a capability spec

{{ currentCapApp }}

未保存 已保存 ✓ version {{ currentCapMeta?.version || '—' }} · {{ currentCapMeta?.sizeChars || 0 }} chars

Settings

Planner configuration

General Execution Principles
Saved ✓

追加到每个生成 instruction 末尾。支持 Markdown。

Service Info

Sonnet (规划): {{ status.models?.sonnet || '—' }}
Haiku (精筛): {{ status.models?.haiku || '—' }}
Skills: {{ status.skills }}
Plans: {{ status.plans }}
Index: {{ status.indexReady ? 'Ready' : 'Not ready' }} ({{ status.indexedSkills }} indexed)
Version: {{ status.version }}