Daily Focus Board 的神经多样性友好设计:Daily Focus Board 背后 Executive-Function 设计原则全解析
2026/9/13 4:41:07 网站建设 项目流程

Daily Focus Board 的神经多样性友好设计:Daily Focus Board 背后 Executive-Function 设计原则全解析

【免费下载链接】awesome-copilotCommunity-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-copilot

Daily Focus Board 是 awesome-copilot 仓库中一个以“执行功能友好(executive-function-friendly)”为核心设计理念的每日专注看板技能(skills/daily-focus-board/SKILL.md)。本篇技术文章以该技能的设计文档 neurodivergent-design.md 为骨架,完整梳理其“挑战 → 原则 → 功能”的设计推导链,并结合 board.template.html 的源码实现逐一印证每个设计理念是如何落到真实代码中的。读完本文,你将理解 ADHD/执行功能视角下的界面与 AI 伴侣行为设计方法,并能对照源码看懂每一项功能(专注模式、柔和截止倒计时、脑内杂念收集箱、心智演练、四象限优先级等)背后的设计动机与实现机制。

为什么一个专注看板要先谈“设计原则”

Daily Focus Board 不是一张普通待办清单,而是一张“由对话驱动”的看板:用户通过和 AI 伴侣对话来安排一天、更新进度、收尾复盘。它的特别之处在于,整个产品形态都建立在一套成熟的设计原则上——执行功能友好,也就是 ADHD/EF 感知类工具普遍采用的设计模式。

设计文档开篇就给出了两个不可动摇的底线(ground rules):

  • 不去病理化、不做假设。绝不诊断用户,绝不把它称作“ADHD 模式”,而是面向所有人的“专注友好设计”(focus-friendly design for everyone)。每一个辅助能力(affordance)都是可选的。
  • 神经多样性是异质的。“认识一个 ADHD 的人,你只认识了一个 ADHD 的人。”所以这些设计是可配置的支持(configurable supports),而不是一套规定动作。

这两条底线在源码中也能看到呼应:模板的说明注释(board.template.html)把功能描述为“built-in features (no config needed)”,强调可选与默认开启之间的平衡;SKILL.md 的“Executive-function-friendly behavior”一节同样反复强调“never diagnose, never assume”,并把“每一个辅助能力都可选”写为硬性要求(SKILL.md)。

来源说明:文档中的设计依据来自公认的执行功能 / ADHD 设计知识(CHADD 的 executive function、Simply Psychology 的 body doubling、W3C/MDN 的 reduced-motion 可访问性),这些是教育性参考,而非系统性文献综述或临床指导意见。设计文档末尾附有完整 Sources 清单(neurodivergent-design.md)。

挑战 → 原则 → 功能:完整推导链

文档核心是一张“执行功能挑战 → 设计原则 → 看板功能”的映射表。它把每一个设计决策都追溯到一个具体的认知挑战,这正是“不做表面功夫”的设计方法:

执行功能挑战设计原则看板中的对应功能
任务启动——启动本身就是一堵墙(激活能量)缩小第一步;让“下一步”显而易见Agent 行为:提供一个微小首行动作;专注模式(Focus mode)突出单个任务
时间失明——截止日期在临近前都很抽象让时间具体化、可视化实时时钟;柔和的截止倒计时(“还剩 2h 10m”),超时后变为柔和琥珀色,绝不使用红色
工作记忆 / 客体永久性——眼不见心不烦保持可见 + 外部化常驻画布;momentum feed(今日动量流)作为一天的外部记忆
过载——长清单会让人瘫痪降低可见负载;一次只做一件事专注模式调暗除一项外的所有卡片;carryover(顺延)让清单保持精简
多巴胺 / 奖励——兴趣与紧迫驱动;需要即时回报即时可见的奖励 + 新鲜感进度环、彩带特效(confetti)、动量流;“开始也算数”(翻到 in-progress 时伴侣可记入动量流);轮换的鼓励语
完美主义 / 羞耻螺旋——漏一项就放弃整个系统不惩罚;部分计分;轻松顺延“not today”顺延(不制造逾期羞耻);“进行中”算分;被顺延的任务退出环的计算
闯入性思维——一个杂念把你拉离任务无摩擦捕捉,稍后处理🧠 脑内杂念收集箱(“先放下,继续做”)
任务切换 / 过渡明确的“接下来做什么”交接Agent 行为:说出一个下一步动作,并提议开启专注模式
身体陪伴(body doubling)——有伙伴在场时专注力提升成为“同处一室的那个人”整个产品前提:通过与 AI 伴侣对话来驱动看板
感官 / 动态敏感平静基调,刺激可选减少动态(reduced-motion)开关(关闭彩带与过渡动画);默认遵循 OS 的prefers-reduced-motion
自我调节 / 内感受——在察觉自己状态之前就做出反应定位自己,不做评判线上/线下(above/below-the-line)签到(源自 Conscious Leadership);线下时伴侣会悄悄软化建议语气
动机 / 自我对话——光秃秃的待办清单毫无乐趣友善的、主动选择的意图每日心智演练(daily mantra)——自行设定或 🔄 建议,与签到状态挂钩(线下时接地气,线上时保持动量)
优先级过载——所有事情看起来都一样紧急区分重要紧急艾森豪威尔四象限(先做 / 安排 / 委派 / 稍后)+按优先级排序+ 🧭 大白话图例
自主权 / 拥有感——僵化的系统会被弃用让人塑造自己的工具拖拽排序(或 ▲/▼ / 键盘)、可编辑标签实时添加任务(可删除自己加的任务)
收束 / 反思——日子模糊成一片,缺少标记用温和、具体的复盘收尾日终保存——下载或复制一份 Markdown 复盘;粘贴给伴侣用于写日志和规划明天

这张表是看板所有功能的“设计宪法”。下面逐一对照源码,看它们如何在 board.template.html 中落地。

启动任务:让“开始”几乎小到无法拒绝

针对“任务启动”的激活能量问题,看板做了两件事:

  • 界面层Focus mode把除一个任务外的所有卡片调暗(body.focusing .card{opacity:.24},聚焦卡片opacity:1),从视觉上把“8 个任务”变成“1 个任务”。开启逻辑会自动挑选当前doingtodo的任务作为默认聚焦对象(board.template.html)。
  • 行为层:SKILL.md 要求伴侣把第一步缩小到几乎小到无法拒绝——当用户卡住时,不要只说“去做”,而是给出一个具体的微小动作,例如“打开文档,写出最丑的第一句话”(SKILL.md)。

时间失明:柔和倒计时,绝不制造威胁

模板里的dueStr()是时间友好设计的直接证据(board.template.html):

  • 未到期时显示⏰ 2h 10m left (due 5:00pm)
  • 已到期时不显示红色,而是琥珀色⏰ was due 5:00pm · 3m ago — still worth doingcls:"over",对应 CSS 的--urgent之外的柔和暖色);
  • 完成任务则显示⏰ done — nice(绿色)。

文档说“soft amber when past, never red”——源码里.due.over{color:#ffab6b}正是这个柔和琥珀色。看板每隔 30 秒执行一次tick()刷新时钟与所有倒计时(board.template.html),保证“时间具体化”始终在场。

工作记忆外部化:动量流就是一天的外部记忆

状态任务支持随时记录增量笔记(log a step…),所有笔记按时间倒序汇入renderFeed()生成的Today's momentum面板;当天全局的胜利记录(📌)也并入其中,按时间戳排序(board.template.html)。文档把它称为“external memory of the day”——不依赖用户记住自己做过什么,看板替他们记住。

过载保护:超过 9 项就是提醒而不是责备

updateOverload()统计活跃任务(未顺延且未完成),一旦超过 9 项就显示一段无压力的提示(board.template.html):

“That's N active tasks for today — more than a focus board loves. … No pressure — this is a nudge, not a rule.”

这正是“降低可见负载;一次只做一件事”原则的实现:提醒存在,但措辞是“提醒,不是规则”,配合⤳ not today顺延把清单变短。

奖励与多巴胺:开始就算数,彩带只在降低动态关闭时出现

  • 状态翻转(to-do → doing → done)由cycle()处理,进入done时触发burst(70)彩带特效并检查是否全部完成(board.template.html);
  • 计数任务(如“读 30 页”)达到目标时触发更强的burst(160)(board.template.html);
  • 更重要的“开始也算数”逻辑:addNote()在记录第一条进度笔记时,如果任务还是todo会自动翻为doing(board.template.html)——行动本身就是奖励事件;
  • 彩带特效完全受 reduced-motion 控制:burst()第一行就是if(state.rm||!cx)return;,即“减少动态”开启时根本不绘制(board.template.html)。

完美主义与羞耻螺旋:顺延是健康的选择,不是失败

  • 状态任务提供⤳ not today顺延按钮,顺延后卡片半透明(.card.carried{opacity:.5})且状态变为→ tomorrow
  • 顺延任务会退出进度环计算:updateRing()只统计live(未顺延)任务(board.template.html);
  • 计数任务不支持顺延——文档特别说明“counters are progress you dial down, not defer”,避免“欠债”心态。

闯入性思维:🧠 收集箱

看板底部固定面板🧠 Parked thoughts,输入即存入state.brain,以“💭 + 时间戳”形式平铺(board.template.html)。SKILL.md 要求伴侣此时说“先把它放进收集箱,继续做,现在不要追它”,把杂念从工作记忆中卸下。

感官敏感:默认遵循prefers-reduced-motion

模板加载时读取 OS 级动态偏好:prefersRM = matchMedia("(prefers-reduced-motion: reduce)").matches,并将其作为state.rm的默认值(board.template.html);body.rm *{transition:none!important;animation:none!important}一刀切关闭所有过渡与动画(board.template.html)。设计文档在 Sources 中注明其依据是 MDN 的prefers-reduced-motion文档与 W3C WCAG 2.1 SC 2.3.3(Animation from Interactions)。

自我调节:线上/线下签到 + 心智演练

  • 顶部签到区提供 🌧️ below / ⛅ in between / ☀️ above 三个选项,点击后提示语随状态变化(“Below the line — and that's ok. Be gentle; shrink the first step.”),完全不带评判(board.template.html);
  • 心智演练建议与签到状态联动:suggestMantra()above/mid/below三个分区从内置清单随机抽取(board.template.html):线上给“Ride the momentum”,线下给“You don't have to feel ready — start gently”。这与文档“keyed to the check-in(grounding when below, momentum when above)”完全一致。

优先级过载:艾森豪威尔四象限

任务可配置quad值(iu/ins/niu/ninu,对应 先做/安排/委派/稍后),卡片左侧彩色描边(.card.q-iu{border-left:4px solid var(--urgent)}等,board.template.html),并提供 🧭 priority guide 图例与 ⬍ sort by priority 排序(sortByPriority()按 iu→ins→niu→ninu→无 排序,board.template.html)。文档特别强调“Schedule 象限(重要但不紧急)是优质、非慌乱的工作所在”——图例文案也写明了这一点。

自主权:拖拽、改标签、加任务

每个卡片底部都有 ⠿ 拖拽手柄(原生 HTML5 drag & drop,reorder()实现)与 ▲/▼ 键盘友好按钮(moveTask()),可内联编辑标签与四象限,并且用户自己添加的任务可以删除(🗑,仅t.added标记的任务显示,board.template.html)——用户可以完整塑造自己的工具,而不会被系统锁死。

收束与反思:日终复盘

dayRecap()生成一份 Markdown 复盘:包含签到状态、心智演练、Done / In progress / Still to do / Carried to tomorrow(顺延被明确标注为“a valid, healthy choice”)、Momentum 时间线、Parked thoughts(board.template.html)。可一键下载为focus-YYYY-MM-DD.md或复制后粘贴给 AI 伴侣写日志、规划明天——完成“日子不再模糊成一片”的收束动作。

最重要的部分:行为,而不是外观

设计文档用一整节强调:UI 辅助能力很重要,但最大的执行功能支持是“伴侣如何出场”。这些行为被固化在 SKILL.md 的 “Executive-function-friendly behavior” 一节中,核心条目包括:

  • 你是身体陪伴者(body-double)。整个产品前提——“通过和 AI 对话驱动你的看板”——就是身体陪伴这一有据可查的专注策略。不要搭建完看板就消失。
  • 击破激活能量:当用户卡住时,给出一个微小具体动作,而不是“just do it”。
  • 只建议 ONE 件下一步,而不是清单;并主动提议开启专注模式。
  • 庆祝开始,而不只是完成:翻到 in-progress 就是真实胜利,记入动量流。
  • 绝不羞辱未完成:主动提供“not today”顺延;决定不做某事同样是有效、健康的选择。
  • 外部化闯入性思维:把杂念放进收集箱,现在不要追。
  • 让时间具体:引用时钟与柔和倒计时,在截止前温和提醒锚定任务——友好,而不是威胁。
  • 保护不过载:帮助把任务顺延到明天。
  • 以签到开场,而不是任务清单提供意图(心智演练)一起温和地做优先级排序日终保存复盘

文档的结语非常关键:“一个华丽的看板 + 一个会羞辱人、什么都要求做完的伴侣,将完全错过重点。”(A pretty board with a shaming, do-everything partner would miss the point entirely.)这些行为规范就写在 SKILL.md 的 “Executive-function-friendly behavior (how to show up)” 一节中。

从设计到可运行:配置、运行与状态边界

看板由单文件 HTML 模板渲染,状态默认存在浏览器 localStorage(v1)。使用方式(详见 SKILL.md 与 tutorial.md):

  1. 收集任务:AI 伴侣从对话中提取 4–9 项任务,为每项记录标题、可选 emoji、副注、标签;计数类任务(页数、番茄钟、次数)配置数字goal
  2. 生成看板:复制 board.template.html 为工作文件,把window.__BOARD__ = null替换为配置对象(JSON 注入需转义<防止脚本逃逸,例如JSON.stringify(config).replace(/</g,"\\u003c"))。配置要点:
    • id只能包含[A-Za-z0-9_-](会嵌入 HTML 属性、CSS 选择器、存储键与冒号分隔的笔记键);
    • 计数任务:goal为正整数、start默认 0、inc默认max(1, round(goal/10))unit为标签;
    • due(可选,ISO 本地时间)触发柔和倒计时,只用于真正的一个锚定任务;
    • quad(可选)设置艾森豪威尔优先级:iu/ins/niu/ninu
    • mantra/checkin(可选)预置今日意图与签到状态;
    • 其余功能(签到、心智演练、添加任务、拖拽排序、优先级图例、可编辑标签、过载提醒、日终保存、专注模式、顺延、收集箱、减少动态、实时时钟)全部内置,无需配置。
  3. 本地服务并打开:localStorage 需要http://源,因此在看板目录执行python -m http.server 8799 --bind 127.0.0.1(仅回环,保证个人任务不上本地网络;Windows 上也可用 serve-board.ps1,它会预检端口占用并自动打开浏览器);推荐在 GitHub Copilot 应用中以浏览器 canvas 侧栏打开。若实在无法服务,直接打开文件通常也能用,但某些浏览器会限制file://下的 localStorage,进度可能不持久。

状态边界(honest limits):v1 的进度存在浏览器 localStorage,Agent 无法直接读回;日终复盘(下载/复制)就是跨越这个边界的桥梁——用户把复制的复盘粘贴给伴侣后,伴侣才能据此写日志与规划。如需 Agent 可读写的双向闭环,customize.md 描述了 v2 文件回写方案(用 JSON 文件替代 localStorage),以及面向多 Agent 工作坊用户的可选 “shared signals” 桥接(把.signals/*.json进度信号并入动量流)——均为 opt-in 高级选项,不影响看板独立使用。

总结

Daily Focus Board 的价值不在于“好看”,而在于它把成熟的执行功能设计知识系统性地翻译成了界面能力与 AI 伴侣行为:启动门槛被拆到最小、时间被具体化、杂念被外部化、失败被去羞耻化、奖励被即时化、感官刺激可关闭、优先级可区分,并且一切可选。设计文档(neurodivergent-design.md)提供了原则层面的推导,board.template.html 则用约 490 行自包含 HTML 证明了每一条原则都能落到可运行的代码——这是一份“设计原则与实现一一对应”的极好范本。设计文档末尾的 Sources(CHADD、Simply Psychology、MDN、W3C WCAG、Conscious Leadership、Asana/Todoist 的艾森豪威尔矩阵、Kristin Neff 的自我慈悲研究)为深入阅读提供了起点;也如文档反复强调的那样:神经多样性是异质的,这些是供适配的支持,而不是规定动作。

【免费下载链接】awesome-copilotCommunity-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-copilot

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询