ShellRS
ShellRS 是一款免费开源的 SSH 客户端,使用 Rust 编写:主机管理、终端、WinSCP 风格的 SFTP 与端口转发,全部在一个 GPU 渲染窗口中,支持 macOS、Windows 和 Linux。
AI 翻译
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗The labelers — the web tools the labeling team uses to produce Cornerman's training labels. One folder per labeler; every tool saves straight to the Box Labeled Data Sheet via the shared Apps Script backend (no login).
Start here: https://cornerman-ai.github.io/labeler/ — the landing page lists every labeler. First-time Sheet/Apps-Script setup: SETUP.md.
| Folder | What it labels | Why it exists |
|---|---|---|
punch/ | Punches in a round: start/end time + type per hand | The main tool. Its labels are the training corpus for the punch classifier |
unusable/ | Stretches of a video where the BlazePose skeleton can't be used (with a reason), a reviewed mark per video, and the whole-video retirement into Skeleton Problems | The unusable-footage pass, made AFTER extraction (the skeleton doesn't exist while rounds and punches are labeled); feeds the roll detector's exclusion mask and the skeleton-usability model |
impact/ | The exact impact frame of each labeled punch | Trained the impact-frame spotter |
punch_directions/ | 16-way (22.5°) direction of straight punches | Trained the axiality (punch-direction) model that three rules gate on |
bodyshot/ | Head vs body, one short clip per punch | Refines punch-type labels where head/body was ambiguous |
callout/ | Called-out combos in guided rounds vs what was actually thrown | Measures how well users follow the app's callouts |
rules/ | Form-rule spot checks on rounds | Ground truth for rules-engine tuning |
chin_tuck_1.0/ | Three chin-vs-shoulder questions per sampled frame | Current chin labeling. Repeated samples measure each labeler's self-agreement ceiling |
chin_tuck_0.0/ | One verdict (tucked/level/air) per sampled frame | The original chin labeler, frozen for reference. Has no data of its own — reads 1.0's chin_frames.json/frames/ by relative path |
uppercut_drop/ | How far the punching hand drops before each uppercut: Great / Good / Bad / Very bad / Can't tell, one looping clip per labeled uppercut, ~10 % blind repeats | The coach's ratings set the cut-offs of the "keep your hand up before the uppercut" score |
roll_eyes/ | Do the eyes stay up through each roll: Good / Mid / Bad / Can't tell (with a reason) + a comment, one looping clip per labeled roll, ~10 % blind repeats; the name admin shows the model's head angle and every rater's answers | The coach's ratings set the cut-off of the "keep your eyes up when you roll" rule |
roll_legs/ | Does the boxer use the legs to get under the punch in each roll — Uses the legs / Doesn't / Can't tell (with a reason) + a comment, on the roll eyes clips; the scale is one PASS block in roll_legs.js, an example per rating, ~10 % blind repeats; admin shows the skeleton's knee bend and lean | The coach's ratings set the cut-off on the knee bend |
roll_shoulders/ | Do the shoulders rotate through the roll — Good / Bad / Can't tell (with a reason) + a comment, on the roll eyes clips, frontal rolls only; the scale is one PASS block in roll_shoulders.js, an example per rating, ~10 % blind repeats; admin shows the skeleton's shoulder turn | The coach's ratings set the cut-off on the shoulder turn |
bag_bite/ | Does each punch on the heavy bag snap or push — two buttons, Snapping / Pushing, + a comment, one looping clip per punch cropped to the boxer, the skeleton on it and beside it with the facing angle; 200 punches, each once; admin shows every rater's answers | The coach's ratings say what rule 41 (punches stuck in the bag) should measure |
guard_drop/ | Hands-down moments in a round | Ground truth for the guard-drop rule |
hip_rotation/ | Rotation-quality rubric per punch | Ground truth behind the hip-rotation rule |
bladedness/ | Pairwise "which stance is more squared?" (shoulder pairs + hip pairs), plus the coach review where the coach scores curated frontal frames | The too-squared/too-bladed research — pair judgements calibrate the candidate metrics; the coach review is the expert reference |
axiality/ | Review of ground truth vs model direction predictions | QA pass on the axiality model |
Every labeler shows the same slim top bar — "👤 Your name:" until filled,
then "👤 Name · change" (shared/labeler_name.js). Pages that had their own
name field (chin tuck, bladedness pairs) get it hidden and auto-synced; the
bar is the one UI everywhere. The name is sent as the
labeler field on every save — the Apps Script routes rows/tabs by it, unchanged.
No more per-person URLs; an old ?labeler= link still works as a one-time seed.
Pages with their own name inputs (chin tuck, bladedness pairs, orientation) stay
in sync with the same stored name automatically.
shared/player.js — the video player + Sheet-posting core every video labeler usesshared/ui.js — the chrome every video page shares (transport icons, volume, speed menu, timeline scroll-zoom and ⌘ keys, picture zoom, folds, click-to-type time, status chips, name field, shortcuts sheet); punch/ui.js keeps only the punch page's own (strip dragging, round spans, context menu)shared/labeler_name.js — the ask-once labeler identity (see above)shared/style.css — common stylingshared/videos.json — which videos the video-based labelers list (regenerate with shared/build_videos_json.py)apps_script/Code.js — the Google Apps Script backend (deployed as a Web App; auto-deploys from master via GitHub Actions — see apps_script/README.md); labels land in the Sheet at Drive Cornerman/data/labels/labeling_team/shared/.cornerman-backend/ml/research/<topic>/) and committed here so
GitHub Pages hosts it.Retired labelers live in cornerman-archive/legacy-labelers/ (orientation, 2026-08-07 — its 8-bin labels shipped as the ankle-orientation constants).