Feature Spine(产品知识脊梁)

September 18, 2026 · View on GitHub

可执行的产品契约索引:每张卡绑定用户路径、不变量、默认可改文件、测试门槛与来源链接。Agent 改产品行为时先读卡、声明 Touching: <id>,再动手。

蓝图与模块详解见 产品手册

与其他文档的分工

职责本树是否替代
docs/handbook/蓝图、流程、模块当前态否;卡片挂手册章
design-language.md / motion.md视觉与动效语言否;卡片只链接
superpowers/specs / plans设计与施工过程否;定稿后把不变量收进卡片
qa/production-acceptance-test-cases.md发版实机验收:每次发布前对 CI windows 安装包走完否;卡片 gates 挂用例 ID
docs/decisions/决策记录:动机、被否方案、代价(含 rejected/archived 生命周期)否;卡只写「是什么」,「为什么」链到决策记录
harness Agent Notes上游决策记录否;桌面相关卡可链接
.cursor/rules/*.mdc短 always-on 不变量否;文末链到本卡,细节以卡为准

本树不做第二套 Wiki,不复制 harness doc-sync。卡片半页内;长文留在 handbook / spec / note。

何时新建 / 更新

  • 新建: 产品行为已定且会被反复改(尤其易被 Agent 冲掉)时,从 _template.md 复制。
  • status 取值: active 现行契约;proposed 方案已定未落地;killed 负契约(防复活的死亡名单,文件名带 _ 前缀)。被否提案不建卡,进 decisions/rejected/
  • 更新: 不变量或关键路径变了;或改完后刷新 last verified
  • 局部修复不改契约: 会话写明「无卡 / 不改产品契约」,diff 仍应尽量小。
  • 非琐碎改动还须同 PR 新增/更新 docs/decisions/ 决策记录。

会话开场模板

Touching: wallpaper-gallery
Goal: <一句>
Do not: Appearance 图源、邻域重构
Gate: <卡上 gates>

提交说明建议:feature(<id>): …。协议全文见仓库根 AGENTS.md

索引

id一句话主入口gates 摘要
vision-fallback识图路由的图片准入、描述与主请求重写llm-vision-fallback / agent-loop无密钥组合与图片准入
core-regression-gates核心会话、模型和工具回归阻断 CItest.yml核心集合与 CI 契约
wallpaper-galleryAppearance 行 + 图库窗;图源只在窗内WallpaperRow / WallpaperGalleryModalTC-APP-002…010
background-gradient无背景图时的流动渐变特效底(独立 block)BackgroundEffectRow / applyWallpaperLayerTC-APP-015
cursor-effects指针划过处的装饰特效:像素拖尾 / 流体飞溅二选一,预设 + 自定义CursorEffectRow / applyCursorFxLayerui-theme client specs
metallic-paint原生 button hover 叠加半透明银灰扫光(附加层,不替换原 hover)metallic-paint.css / installThemeStylesui-theme client-styles spec
transparent-theme外观「透明主题」开关:有壁纸时全表面 0% 填充、压暗 mask 移除ThemeRuntime.setTransparentTheme / TRANSPARENT_ATTRvendor ui-theme client specs
sidebar-mask外观「隐藏侧栏遮罩」开关:侧栏与工作区同底,只留分割线ThemeRuntime.setSidebarMask / SIDEBAR_UNMASKED_FILLvendor ui-theme client specs
marketplace-settings设置内市场(桌面自有代码);无独立窗marketplace-install / ui-settings-marketTC-EXT-001…005
surfaces-work-loops右栏工作环,非空态卡片preview / ui-filesTC-SURF-001…007
boot-page仪器启动画布 + 插件进度/恢复boot.* / harness-controllerTC-INST-003…007、012、013
terminal-drawer底栏 PTY 工作环pty.js / ui-user-terminalTC-TERM-001…004(TC-WS-006 仓)
settings-select设置内值选择统一为官方胶囊 + MenuSettingsSelectvendor client spec
mobile-remote侧栏远程弹窗 + mobile/web SPA;入口开放,配对默认关闭DshdRemote / ui-settings-remote以卡内实机矩阵为准;0.3.1 不将 Web/Android 排除项记为 Pass
remote-settings设置→远程双标签(网关 + dsh-im);未配置时默认服务器模式ui-settings-remote / dsh-im-desktop桌面装配回归;真实账号绑定/收发按卡内门槛验收
dshbot桌面内置 Bots:vendor 快照 + overlay 每次启动挂载(含 skip)dshbot-desktop / legacy-dshbot-preset升级 / 用户数据保留
plugin-session-navigation插件固定会话的持久化标题、普通列表隔离与空会话聊天布局vendor session-controller / ui-workspace / ui-conversation投影、导航与真实插件桌面链路
dsh-home桌面 userData/dsh-home;Harness 不读官方 ~/.dshdsh-home.js / spawnEnvTC-INST-009、011;TC-WS-006
desktop-launcher冷启动闸门:更新询问、启停桌面、版本、插件问诊launcher.* / launcher-gateTC-LAUNCH-001…007
data-import启动器只读导入官方会话/插件名单data-import.jsTC-LAUNCH-004
session-archive归档隐藏;已归档里恢复/删除ui-workspace / workspace RPCTC-CHAT-010、013
no-directory-sessions「无工作目录」会话(Host scratch cwd);删除工作区即隐藏其会话,重新添加目录才回来vendor workspace / api/workspace-controller / ui-workspace / ui-conversationvendor client+host specs + 桌面 marker 单测
git-titlebar标题栏分支/提交/推拉;登记工作区即授权git.js / workspace-authorityTC-WS-006、TC-GIT-001…007
usage-stats设置内跨会话 Token 用量;预置改版 dsh-usage-panelusage-panel-preset / vendor 插件TC-EXT-008
composer-beam运行态输入卡四角连续边光,4px 裁切壳不覆盖 dockvendor ui-conversation InputBarvendor focused CSS + Chromium 像素复现
composer-typing-fx外观分区可配置键入特效:叠加层 echo + 自定义光标,不碰 Lexical 文本 DOMvendor ui-conversation TypingFxLayer / TypingFxRowvendor focused specs + tsc + 桌面 marker 单测
composer-family-width输入卡改宽时统计行、Dock 卡与空会话 Hero 控件联动跟随vendor ui-chat / ui-conversation / ui-goal CSSvendor vitest + 桌面 marker 单测 + 实机坐标
composer-stats-peak-valley会话统计/峰谷行与输入卡宽度对齐;官方峰谷时状态条与开关vendor ui-conversation / ui-model-selectionvendor client specs(peak-valley / chat-apply / host)
message-edit最新用户消息编辑后始终在当前会话重发vendor ui-message-editvendor client/host specs + test:gui + keyless edit e2e
composer-draft-transition草稿首次发送时输入框连续落位、不贴底回弹vendor ui-conversation组件回归 + keyless 逐帧几何
windows-installerNSIS 品牌化安装器;/S 静默与 artifact 名不变build.nsis / build/installer.nshinstaller-branding 单测;TC-INST-001、009、010
dsh-tools工具调用名/ID 校验、失败重试与旧会话投影修复vendor llm / agent-loop / session / toolsfocused Harness specs
harness-upstream-sync上游三方合并、桌面特性保真与集成验收harness-sync / harness-desktop-forkssync/forks、构建、GUI/核心契约与源码冒烟
desktop-petDesktop shell 内受限宠物浮层:Codex 皮肤、点击/拖拽动画、右键换肤、托盘开关与位置持久化desktop-pet / desktop-pets / window / trayTC-DESK-010;focused tests
desktop-live2d-pet整屏透明 BrowserWindow 的 Live2D 鲸鱼娘伙伴:点击穿透、拖拽/抛掷物理、对话气泡、token 投喂成长与养成状态卡desktop-live2d / pet-growth / pet-stats / pet-live2d.*node --test focused(101);TC-DESK-011
whale-assistant第一方 dsh-whale 插件:常驻 whale-girl 助理会话 + 设置分区 + 侧栏入口 + preset 统筹工具 + pet-outbox 桌宠桥dsh-whale-desktop / vendor/dsh-whale / pet-dsh-watchdsh-whale-desktop.test.js + skip-compose 契约
directory-picker-drives目录选择器 Win32 卷选择层:「此电脑」列出全部盘符,可跨盘选工作区vendor directory-picker / directory-picker-browsevendor spec + marker 单测
custom-instructions设置→通用自定义指令,作为系统提示词末段随每次请求发送ui-conversation.customInstructions / SystemPromptProjectionui-conversation 定向测试 + 真实模型验证
session-cost-display会话累计费用显示与按峰谷分桶计价;开关关闭时整行隐藏PeakValleyRow / billedUsage 投影 / ui-model-selectionvendor client specs + 设置开关回归
skills-groups技能分组多选 tag picker 与分组开关批量切换vendor skills 设置(fork)vendor 51/51 + fork 门禁