好文集ChatGPT Plus¥119

工位身体重置手册:为打工人梳理的 12 个极简动作(附自研监督插件)

文章目录

零 | 缘起:知易行难的久坐自救

在我上篇文章《人人都是大厨:告别“抽盲盒”式下厨,讲透 22 条做菜底层原理》的评论区,有一个评论引起了我的关注:

好好锻炼,好好吃饭

我就在想,锻炼这个主题,我是不是也应该写点什么?

首先我把场景定位在打工族的日常修复。因为这是我自己的刚需,也是经常伏案工作的人群的一个普遍痛点,一旦我们进入高度聚焦的心流状态,常常一坐就是四五个小时。等到问题解决、思绪抽离出来时,身体往往早已发出了抗议:双肩酸沉、脖子僵硬、下腰发胀。白领工作者可太多了,这样这篇文章的受众就足够宽泛了。其他领域譬如健身、薄肌,我也毫无发言权。

其次,我认为要足够简单,类似《微习惯》中说的,启动要几乎无阻力。

于是,我继续让我的 Personal Agent 们发力,从小红书上扒取那些高赞的帖子,梳理出了适合工位与居家的 12 个身体放松动作。选取的标准是动作要足够简单,启动起来毫无压力。

但我深知,即便这些动作已经足够简单,在高度专注的代码或文字面前,“靠意志力记得定时动起来”几乎是一句空话, 忘记依旧是常事。

于是,我顺手做了一款 Chrome 浏览器提醒插件,尝试用工具来强迫我们做到“知行合一”。

祝各位开卷有益,久坐无伤。

免责声明与安全红线(非医疗建议):

  1. 本文动作仅供健康成年人在日常久坐疲劳后作为活动身体的参考,不构成任何医疗诊断或治疗方案。
  2. 若患有颈椎病、腰椎间盘突出症急性发作期、脊柱滑脱、严重骨质疏松或关节急性损伤,请务必遵医嘱。
  3. 牢记安全红线: 所有动作均以温和舒展感为限,切勿追求“越痛越有效”。一旦出现尖锐刺痛、手脚发麻放电感、头晕眩晕或恶心,说明神经或血管受到压迫,必须立即停止。

一 | 办公室 · 坐姿篇(不可站起:工位上的隐蔽解压)

很多时候我们身处开放式工位,周围同事都在专注工作,随意起身做大动作难免引人注目。这组动作完全坐在办公椅上即可完成,幅度克制隐蔽,针对不能随意离座的场景。

01 | 背后交扣侧头:锁住肩胛骨,拉开颈肩交界

文章配图

打字用鼠标久了容易习惯性端肩,导致上斜方肌持续痉挛。平时直接歪头拉伸容易耸肩代偿,双手在背后交扣能借手臂自重锁死肩胛骨,把拉伸感精准固定在对侧颈肩交界处。

动作指引:

  1. 坐直沉肩,双手在背后十指交扣并移至一侧腰间,手肘内收;

  2. 头部慢慢倒向手放的那一侧,拉伸对侧颈肩;

  3. 保持平稳呼吸 30 秒,换另一侧。


02 | 耳朵找肩膀:利用自重,温和牵拉斜角肌

文章配图

多屏幕办公或习惯偏头看资料,侧颈的斜角肌极易持续痉挛。斜角肌深层紧贴着娇贵的神经与血管,严禁外力死命按压,手搭在头上只需借手臂的自然垂坠感去温和引导。

动作指引:

  1. 坐直背部沉肩,头部平缓向一侧倾斜,同侧手掌轻轻搭在头顶对侧上方;

  2. 另一侧手臂垂直自然下垂,感受脖子侧面的温和延展;

  3. 保持平缓呼吸 30 秒,换另一侧。


03 | 低头看腋窝:转头配低头,对准肩胛提肌

文章配图

低头看屏幕久了肩胛提肌最易板结,导致转头受限、后背上方扯着发紧。这根肌肉呈对角线走向,单纯向前低头拉不到,必须“先转头 45 度再低头”顺着肌纤维方向把它拉长。

动作指引:

  1. 坐直挺胸,头部先向一侧水平转动 45 度,再微收下巴低头看向同侧腋窝;

  2. 同侧手轻扶后脑勺稳定姿态(严禁发力下按);

  3. 保持平稳呼吸 30 秒,换另一侧。


04 | 手按锁骨看斜上方:固定筋膜,反向延展胸锁乳突肌

文章配图

长期伏案下巴会习惯性往前探,脖子前侧的胸锁乳突肌严重短缩。盲目向后仰头会挤压颈椎后侧的小关节,用双手按压固定锁骨前侧筋膜再反向仰头,能安全舒展颈前侧。

动作指引:

  1. 坐高坐直,双手手掌叠放按在锁骨与胸骨交界处,稍微向下施力固定皮肉;

  2. 头部转向一侧,目光望向对侧天花板斜上方,感受前颈对角线温和拉长;

  3. 保持平稳呼吸 30 秒,换另一侧。


05 | 托后脑低头:微收下巴,释放枕下肌群张力

文章配图

长时间盯屏幕为了维持双眼视线水平,后脑勺下方的枕下肌群必须持续发力,极易引起后枕发木、头皮发紧。拉开它的关键从来不是弯腰低头,而是挺胸收下巴、释放上颈椎深层张力。

动作指引:

  1. 坐直腰背挺拔,双手十指交叉托在后脑勺凸起的枕骨下方;

  2. 主动微收下巴(挤出微双下巴),顺着头部自重平缓低头;

  3. 保持背部直立,深呼吸拉伸 30 秒。


二 | 办公室 · 站立篇(可站起来:工位旁的胸背舒展)

如果工位旁有足够的空间允许站起来,站姿能更好地打开被久坐压扁的胸腔与腰椎。建议买一个升降桌,这是一笔稳赚不赔的买卖。不要怕周围同事奇怪的眼光,要有勇气做那只“特立独行的猪”,健康是自己的。再说了两天后他们也就习惯了。

06 | 举手翻掌:站位高举,打开内扣的前胸

文章配图

长期伏案打字,双臂始终处于身体前侧内旋状态,导致胸大肌与背阔肌持续缩短受压。站起来双手十指交扣向上推举,能让上臂充分上举并外旋,带动整个胸廓向上延展,瞬间打开久坐时内扣闭塞的胸腔。

动作指引:

  1. 工位旁自然站立,双脚与肩同宽站稳踩实;

  2. 双手十指交叉举过头顶,翻转掌心向上推引,双肩微微后展(微收腹部,避免挺肚子代偿);

  3. 保持手臂伸直与平缓深呼吸,静止保持 30 秒。


07 | 胳膊向后旋:双臂平举外旋,主动收紧肩胛后侧

文章配图

很多人的圆肩驼背,不仅是因为前胸太紧,更是因为后背菱形肌和中下斜方肌长期被动拉长而“休眠”无力。光靠被动拉伸前胸是不够的,双臂平举用力向后旋转,能主动调动肩胛骨向中线收拢夹紧,唤醒背部的深层稳定肌群。

动作指引:

  1. 站立挺胸收腹,双臂向身体两侧水平展开,与肩膀齐平;

  2. 双手握空拳、大拇指朝上或稍朝后,整条手臂带动肩膀用力向后旋转;

  3. 感受两侧肩胛骨向脊柱中间收拢并下沉,保持主动发力 30 秒。


08 | 扶腰后伸:双手提供稳固支撑,引导腰椎安全后伸

文章配图

久坐时腰椎始终处于向前弯曲状态,椎间盘前部受压、髓核向后顶。站立向后仰伸能平衡椎间盘压力,但切忌无保护地随意乱甩腰。必须把双手牢牢托在骨盆后上方,给腰椎建立稳固的安全支撑支点。

动作指引:

  1. 双脚与肩同宽站稳,膝盖微屈不要锁死;

  2. 双手叉腰,掌心牢固托住后腰下部的骨盆后上边缘;

  3. 以双手为依托支点,上身平缓向后仰伸维持 5 秒,再回正站直,重复 8 次。


09 | 站姿小燕飞:站位轻度后展,调动背部与后侧链

文章配图

趴在床上的传统卧位小燕飞对腰椎间盘压力极大,极易练伤。西苑医院康复指南推荐的站姿小燕飞摆脱了悬空自重负担,在站立位通过双臂后伸与胸腔展开,既能安全激活后背肌群,又完全不伤腰椎。

动作指引:

  1. 双脚与肩同宽站立,双臂自然垂向身体后下方伸直,掌心朝后;

  2. 双肩向后充分展开夹紧肩胛骨,骨盆微向前送,胸腔向上提拉展开;

  3. 身体微微向后延伸维持 3~5 秒后还原放松,重复 8 次。


10 | 交叉腿叉腰侧屈:固定骨盆倾斜,深层拉伸单侧腰方肌

文章配图

习惯翘二郎腿或单侧托腮的人,往往一侧后腰特别酸胀,这多是深层腰方肌痉挛导致的。将一条腿交叉跨到斜后方,可以预先将骨盆单侧下沉固定,侧弯时拉伸力就能精准直达缩短的那一侧腰方肌。

动作指引:

  1. 自然站立,单手叉腰;对侧腿向身体斜后方交叉跨过,脚尖点地站稳;

  2. 另一侧手屈肘轻放在耳后,呼气时身体在纯侧面平面内慢慢向叉腰侧弯曲;

  3. 感受侧腰深层舒展拉长,保持 25 秒后换另一侧。


三 | 居家办公 · 大动作篇(全身调动与有氧律动激活)

在居家办公的环境中,空间宽敞不受拘束,可以通过力量与有氧跳跃彻底打破全身静止状态,调动下肢大肌群与全身心肺。

11 | 标准深蹲:下肢大复合动作,激活全身循环代谢

文章配图

久坐对健康最大的打击,是大腿和臀部长时间完全静止,导致血液循环与代谢断崖式变慢。深蹲是调动全身大肌群的闭链复合动作,股四头肌与臀大肌同时强力收缩,能像大水泵一样把下肢淤积的血液推回全身。

动作指引:

  1. 双脚站距略宽于肩,脚尖自然朝外展开 15~30 度,背部挺直微收腹部;

  2. 屈髋向后坐、弯屈膝盖下蹲,膝盖顺着脚尖方向移动,蹲至膝关节夹角 90~120 度;

  3. 全脚掌踩实地面(脚后跟绝不离地),平稳发力蹬直站起,重复 10~15 次。


12 | 活力开合跳:全身律动有氧跳跃,瞬间驱散久坐困倦

文章配图

久坐除了肌肉僵硬,还会导致心率过低与脑部供氧不足,让人持续昏沉。单纯静态拉伸很难快速重启心肺,开合跳能快速调动全身大肌群律动协同发力,在几十秒内拉升心率,强力驱散久坐带来的疲惫与思维停滞。

动作指引:

  1. 站立就位,双脚并拢,双手自然垂于体侧;

  2. 轻快起跳,双脚向两侧张开落地(膝盖微屈缓冲),同时双臂向上展开高举过头顶;

  3. 再次轻快起跳,双脚并拢、双臂落下还原;保持均匀呼吸,连续完成 15~20 次。


四 | 避坑与排雷:为什么坚决淘汰这 4 类高风险动作?

很多朋友在工位感到不适时,会习惯性做一些流传很广的下意识动作。但在运动解剖学和康复医学视角下,有四类动作风险极高,我们在动作库构建时直接予以了剔除。

❌ 淘汰动作 01 | 颈部大回环:大幅度快速绕圈甩头

文章配图

大幅度快速绕圈甩头、追求关节发出“咔咔”弹响,是极其危险的下意识动作。当颈椎在极度后伸的同时伴随快速旋转,小关节骨性结构会对椎动脉和颈神经根造成瞬间挤压,极易诱发脑供血不足性眩晕,甚至加剧小关节错位与骨刺增生。

正确替代:严禁大幅度复合旋转,颈部放松只做单一维度的轻缓平移与侧屈(如 01 背后交扣侧头、02 耳朵找肩膀)。


❌ 淘汰动作 02 | 暴力低头:双手扣住后脑勺强行向下按压

文章配图

后颈僵硬时双手死扣后脑勺、咬牙死命往下按压,极易造成急性损伤。手臂的外力杠杆会迫使颈椎过度屈曲,让伏案人群原本就变直或轻度膨出的颈椎间盘承受成倍张力,极易撕裂纤维环并压迫神经。

正确替代:双手永远只借自重自然下垂指引方向,严禁向下发力硬拽;低头时核心在于挺直背部主动微收下巴(如 05 托后脑低头)。


❌ 淘汰动作 03 | 悬空后折:无支撑悬空长时间极度仰头

文章配图

低头久了直接坐在椅子上无依托地悬空向后仰面朝天,甚至闭目养神,并不能对抗低头的伤害。在缺乏支撑的情况下长时间极度后折脖子,后颈枕下肌群会被严重短缩挤压,卡压穿行其间的枕大神经,极易引发后脑勺发麻与体位性头晕。

正确替代:后仰时手部必须提供牢固支撑(如 04 手按锁骨固定筋膜、08 双手牢托后腰),严禁脊柱在无保护下过度悬空后折。


❌ 淘汰动作 04 | 猛烈弹震:站立直腿猛烈震颤压腿压腰

文章配图

双腿并拢、双膝锁死,上半身悬空向下猛烈震颤着弯腰够脚尖,非但无法拉长肌肉,反而会触发人体的“牵张反射”诱发肌肉保护性痉挛。更致命的是,失去支撑的上半身重力会化作巨大的剪切力集中在腰椎间盘上,极易直接造成急性腰扭伤或纤维环损伤。

正确替代:拉伸下背与大腿时保持双膝微屈,且双手必须扶膝、扶椅或扶腰借力,严禁进行无支撑的悬空暴力弹震。


五 | 工具辅助:我手搓了个让我们“动起来”的插件(附可直接喂给 Agent 的复刻工程指南)

在梳理完这套动作之后,我意识到一个严肃的现实:光有一份详尽的动作清单,根本救不了毫无自制力的我们。

每次我进入 Vibe Coding 心流或者专栏写作状态时,大脑的全部算力都被当前任务占满,根本不可能抽离出去想起来要做一组舒展动作。等反应过来时,往往又是几个小时过去了。

为了把“知道要做”变成“强制执行”,我用 Chrome 插件做了一个“监督裁判”。

地址在这里,你可以让你的 Agent 帮忙安装一下:https://github.com/longhaiqwe/fitgate。

安装此插件后,会监控你在设定网站上的累计时长,时间一到就会提醒你需要运动了。

文章配图

可以选择办公模式,针对工位坐姿、工位站立、居家办公等场景选择不同程度的动作,譬如居家就能开合跳,工位坐姿只适合运动下肩颈。

文章配图

可以选择摄像头监控模式,这样会识别你的动作,必须按照指定动作完成指定时间的运动,才能完成解锁。

文章配图

这是没按照要求完成动作,线条显示蓝色,左上角会提示你正确动作,倒计时暂停。

文章配图

这是按照正确动作执行,线条变成绿色,倒计时开始走动。

文章配图

如果在办公室,不方便打开摄像头或者没有摄像头,也可以选择无摄像头计时模式,这种模式下全凭自觉,没有机器来监督。

文章配图

至于多长时间做一次,一次做几组,一组多长时间或重复几次,当然也任君选择。

文章配图

你希望监控自己在哪些网站上的使用时间,也是可以维护的。

文章配图

但我深入思考了一下,这套逻辑绝不仅限于浏览器插件,我们完全可以,也有需求把它做成独立桌面端,监控电脑的使用时长然后进行提醒。

因此,接下来我让 Gemini 把整个插件的核心架构、状态机算法、数据模型与防作弊机制总结出来了。如果你想做一个属于自己的久坐监督工具(无论是 Chrome 插件还是桌面应用),你不需要从零手写一行代码,把下面这套系统规范与文末的 Prompt 直接丢给你的 Coding Agent(Cursor、Claude Code、Windsurf 等),它在半小时内就能为你完整复刻出来。

所以,这个章节剩下的内容,如果你没有打算复刻,请迅速划过,节省你的时间。但是最后还剩一点点总结,可以花上 3 分钟看一下。

1. 场景化动作路由与数据模型规范(Data Schema)

在工位和居家环境中,最大的痛点是“情境冲突”:开放式办公室里弹出一个深蹲会让人社死,而在家工作时单纯揉揉脖子又无法激活下肢循环。因此,系统具备场景隔离与阶梯递进机制:

  • 办公室 · 坐姿(5 个动作 · 不可站起):完全在办公椅上完成,幅度隐蔽,正对前置摄像头(01 背后交扣侧头、02 耳朵找肩膀、03 低头看腋窝、04 手按锁骨看斜上方、05 托后脑低头);

  • 办公室 · 站立(10 个动作 · 可站起来):工位旁无需墙面即可展开,递进包含 5 个坐姿 + 5 个站姿(06 举手翻掌、07 胳膊向后旋、08 扶腰后伸、09 站姿小燕飞、10 交叉腿叉腰侧屈);

  • 居家办公 · 大动作(12 个动作 · 全身大动作):空间宽敞,递进涵盖全套 10 个工位动作 + 2 个 AI 视觉骨骼大动作(11 标准深蹲、12 活力开合跳)。

每个动作的标准元数据模型(Action Schema)对齐工程实现,定义如下:

interface ActionItem {
  id: string; // 动作唯一标识符,如 'seated_ear_shoulder', 'home_squats'
  scenario: 'office_seated' | 'office_standing' | 'home_active';
  name: string; // 动作名称
  subtitle: string; // 功效副标题
  image: string; // 图解资源路径,如 'actions/03_背后交扣侧头.jpg'
  type: 'hold' | 'bilateral' | 'rep_hold' | 'pose_counter';
  // hold: 单次保持 (如托后脑低头 30s)
  // bilateral: 双侧轮换 (如耳朵找肩膀 每侧 30s)
  // rep_hold: 循环节奏 (如扶腰后伸 8次×5s保持+2s间歇)
  // pose_counter: AI 视觉骨骼计数 (如深蹲 10次、开合跳 15次)
  perSideSeconds?: number; // 双侧动作单侧保持秒数 (如 30)
  durationSeconds?: number; // 单次保持动作秒数 (如 30)
  totalSeconds?: number; // 动作总耗时秒数 (如 60, 56, 48, 30)
  reps?: number; // 循环动作重复次数 (如 8)
  repSeconds?: number; // 循环单次动作保持秒数 (如 5, 4)
  restSeconds?: number; // 循环次间回位微歇秒数 (如 2)
  targetReps?: number; // 计数动作目标次数 (如 10, 15)
  targetArea: string; // 针对部位与缓解功效说明
  steps: string[]; // 动作分步拆解说明
  checkAndStop: string; // 动作达标标准与安全停止红线
  tips?: string; // 动作细节提醒
}

// 场景递进动作路由函数
function getActionsByScenario(scenarioKey: string, actions: ActionItem[]): ActionItem[] {
  if (scenarioKey === 'office_seated') {
    return actions.filter((a) => a.scenario === 'office_seated'); // 5 个
  }
  if (scenarioKey === 'office_standing') {
    return actions.filter((a) => a.scenario === 'office_seated' || a.scenario === 'office_standing'); // 10 个
  }
  return [...actions]; // home_active 全量 12 个
}

2. 本地 AI 骨骼检测与核心状态机(Core FSM)

单纯看倒计时做动作,人极易偷懒糊弄。引入计算机视觉监督的核心是绝对隐私与本地推理:画面绝不上云,在浏览器端使用 TensorFlow.js + MoveNet Lightning(WebGL 硬件加速),或在桌面端使用 MediaPipe / ONNX Runtime,在本地以 30fps 实时推算人体 17 个关键骨骼点。

(1) 标准深蹲有限状态机(Squat FSM)

  • 骨骼关键点:双侧髋关节(Hip)、膝关节(Knee)、踝关节(Ankle)。踝关节置信度门槛放宽至 0.15,以兼容桌面摄像头对下半身的低捕捉率。

  • 几何夹角计算:计算髋-膝-踝三点构成的几何夹角 θ:

cos(θ) = (u · v) / (|u| · |v|)
其中:u = P(hip) - P(knee),  v = P(ankle) - P(knee)
  • 状态流转设计(5 态闭环循环):
  1. WAITING:画面中缺少有效下肢关键点(置信度不足)时等待入镜;

  2. STANDING:站立就绪态(膝关节夹角 ≥ 155°);

  3. SQUATTING:下蹲中(120° < θ < 145°);

  4. BOTTOM:达标触底(θ ≤ 120°,由于桌面摄像头俯角偏差,适中阈值设为 120° 最符合生理安全;触底瞬间播放“叮”提示音);

  5. RISING:蹬地回升中(θ > 130°);

  6. 回升至 STANDING(θ ≥ 155°)且单次耗时 ≥ 0.8 秒时,计次 +1,重置单次状态。

  • 防作弊与防丢帧:

  • 设置单次深蹲最短周期 ≥ 0.8 秒,防止快速晃动摄像头刷分;

  • 设置 1.5 秒丢帧容错时长,避免下肢短暂被衣物遮挡导致计数中断。

(2) 活力开合跳状态机(Jumping Jack FSM)

  • 骨骼关键点:双腕(Wrist)、双肘(Elbow)、双肩(Shoulder)、双踝(Ankle)、双膝(Knee)。

  • 多关节融合与容错开合判定:

  • 手臂张开:手腕或手肘高于双肩水平线(wrist.y < shouldery 或 elbow.y < shouldery),融合手肘可解决快速甩动时的运动模糊丢点;

  • 双腿张开(两级自适应退化):双踝可见时,双踝间距 / 肩宽 ≥ 1.25 视为跳开;若脚踝被桌椅遮挡,自适应退化为双膝间距 / 肩宽 ≥ 1.05 判定;若完全无下肢视野,自适应退化为依据上肢开度判定。

  • 状态流转:WAITING → CLOSED(双臂垂下、双脚并拢) → OPENING → OPEN(双臂过肩、双脚跳开) → CLOSING → 回落至 CLOSED(单次周期 ≥ 200ms),计次 +1。:WAITING → CLOSED(双臂垂下、双脚并拢) → OPENING → OPEN(双臂过肩、双脚跳开) → CLOSING → 回落至 CLOSED(单次周期 ≥ 200ms),计次 +1。:WAITING → CLOSED(双臂垂下、双脚并拢) → OPENING → OPEN(双臂过肩、双脚跳开) → CLOSING → 回落至 CLOSED(单次周期 ≥ 200ms),计次 +1。:WAITING → CLOSED(双臂垂下、双脚并拢) → OPENING → OPEN(双臂过肩、双脚跳开) → CLOSING → 回落至 CLOSED(单次周期 ≥ 200ms),计次 +1。

(3) 工位拉伸姿态评估器(ActionPoseEvaluator)

对于肩颈拉伸动作,系统通过 17 个关键点实时检测,内置三项防抖与抗畸变机制:

  • 双肩基准净侧屈角(Shoulder Horizon Angle):不依赖绝对地平线,而是测量头部相对于双肩连线的净夹角,抵消坐姿微斜与摄像头倾斜误差;

  • 换侧方向强制反转(Bilateral Direction Lock):双侧轮换动作在第 1 侧记录倾斜方向,第 2 侧强制要求相反方向,防止同一侧重复做两次;

  • 5 帧滑动窗口迟滞滤波(Hysteresis Filter):达标状态要求 5 帧内至少 3 帧符合,失配需连续失帧,防止绿蓝提示线在门限边缘高频闪烁。

3. 强中断防摸鱼与解锁拦截机制(Gatekeeper Flow)

防沉迷的核心是切断心流惯性:

  • 定时调度器:采用阶梯定时器(默认专注 45 分钟,强制休息 1~2 分钟)。

  • 强拦截交互:

  • Chrome 扩展版:通过 Background Service Worker 的 chrome.alarms 调度,触发时向当前标签页注入高优先级 Shadow DOM 全屏遮罩(z-index: 2147483647),拦截点击与滚动,引导唤起独立的 /workout.html 训练室;:通过 Background Service Worker 的 chrome.alarms 调度,触发时向当前标签页注入高优先级 Shadow DOM 全屏遮罩(z-index: 2147483647),拦截点击与滚动,引导唤起独立的 /workout.html 训练室;:通过 Background Service Worker 的 chrome.alarms 调度,触发时向当前标签页注入高优先级 Shadow DOM 全屏遮罩(z-index: 2147483647),拦截点击与滚动,引导唤起独立的 /workout.html 训练室;:通过 Background Service Worker 的 chrome.alarms 调度,触发时向当前标签页注入高优先级 Shadow DOM 全屏遮罩(z-index: 2147483647),拦截点击与滚动,引导唤起独立的 /workout.html 训练室;

  • 桌面客户端版(Tauri / Electron):触发时直接弹出全屏、无边框、置顶窗口(Always-on-top Fullscreen Window),锁定键盘常规快捷键,只有完成规定动作后窗口才自动关闭并解锁屏幕。

  • 伴练工作台体验:

  • 画面左右分栏:左侧为动作标准步骤图解与安全红线,右侧为本地 WebCam 实时镜像画面与骨骼骨架叠加渲染(Canvas 2D);

  • 音频合成系统:采用原生 Web Audio API,无需加载任何音频文件即可纯代码合成:低频倒数哔声、换侧双音提升、触底达标“叮”音与通关胜利和弦;

  • 通关自动解锁:完成预设目标(如深蹲 10 次或拉伸 60 秒)后,弹出结算徽章,自动销毁遮罩并重置下一轮计时周期。


4. 读者专用:一键丢给 Agent 的复刻指令(Prompt Template)

你可以直接复制下方这段完整提示词,粘贴给你常用的 Coding Agent(如 Cursor / Claude Code / Windsurf / Devin 等),让它立刻为你开工:

你是一个资深全栈工程师。请参考以下设计规范,为我开发一个久坐防沉迷与身体放松监督工具(你可以选择实现为 Chrome Extension MV3 或 Tauri 跨平台桌面客户端)。

### 1. 核心需求与模块
1. 场景化动作路由(5/10/12 递进模型):
   - 办公室·坐姿 (5个隐蔽肩颈动作,不可站起)
   - 办公室·站立 (10个动作,递进包含5坐姿+5工位胸背站姿动作)
   - 居家办公 (12个动作,全量包含工位动作 + 标准深蹲 + 活力开合跳)
2. 本地 AI 视觉骨骼姿态检测(纯本地端侧推理,零数据上传):
   - 使用 MoveNet 或 MediaPipe 本地检测 17 个骨骼关键点;
   - 深蹲状态机 (Squat FSM):追踪双侧髋-膝-踝三点夹角,站立(≥155°) -> 下蹲(120°~145°) -> 触底达标(≤120°触发提示音) -> 站直(≥155°) 判定 1 次;加入 ≥0.8s 耗时防刷分与 1.5s 丢帧容错;
   - 开合跳状态机 (Jumping Jack FSM):融合手腕/手肘与双踝/双膝,双臂过肩高举且双脚跳开视为 OPEN,回正并拢视为 CLOSED,完成一个周期(≥200ms)计数 +1;
   - 工位拉伸伴练:支持单侧保持(hold)、双侧轮换(bilateral 自动换侧反转校验)与节奏循环(rep_hold 8次×5s保持+2s微歇),姿态达标才扣减倒计时。
3. 强中断防摸鱼机制:
   - 专注 45 分钟后触发全局强打断(扩展版用 Shadow DOM 遮罩,桌面版用置顶全屏无边框窗口);
   - 提供左右分栏的沉浸式训练室:展示动作标准图示、安全停止红线、实时摄像头骨骼画面与状态机反馈;
   - 使用 Web Audio API 纯代码合成倒计时哔声、触底叮声与通关音效;
   - 动作达标后自动解锁,恢复工作流。

请先为我梳理项目目录架构,然后逐步生成完整的生产级代码。

把这套工具做出来装上之后,我终于不再依赖那靠不住的自律,而是让工具来强制我进行久坐之后的修复。


六 | 写在最后:健康打工人的 3 条底层原则

最后,我们可能需要从更底层的角度审视下这些动作:

第一,动作的正确度远比幅度重要。

拉伸从来不是比谁能把身体掰得更弯,肌肉有微酸微胀的舒展感就已足够。任何把身体逼到剧烈疼痛的死磕,最终都会由关节软骨和神经系统买单。

第二,双手永远是导向标,绝不是加压器。

无论是摸头侧倾还是托脑低头,手的作用只是提供方向指示与温和引力,严禁用手掌施加暴力去硬扳脆弱的脊柱。

第三,高频微运动远胜过坐一整天后的亡羊补牢。

久坐导致的下肢血液淤积与肌肉缺氧,很难靠下班后去健身房猛练半小时彻底抵消。更重要的是,形成下班后固定的健身习惯是极其困难的。每工作四十五到六十分钟,花一两分钟在工位或桌旁做上一两个动作,才是成本最低、收益最高的健康策略。

欢迎大家试用文章中提到的插件,客户端如果大家有需求,自行开发也稍费心力的话,可以在评论区许愿,如果需要的人多,我尝试做出来并开源给大家。

感谢你的时间。


龙海|前大厂程序员 - 项目经理 - 产品经理,目前 OPC 实践(失业)中|立志成为 X 上最会找痛点的男人|做了几款小产品|记得关注我 https://x.com/longhaiqwe123 | 联系方式见主页

全文完
查看原文