barehands README

The project's README from github.com/jaredrhod/barehands. As one markdown file: README.md.

barehands

Never used Claude Code? Start at jaredrhod.com: pick your situation and it routes you to the right path.

Runs on: a webcam and Chrome; works with any AI. Any program that writes a file or curls localhost can be its brain.

Move things on your screen with your bare hands. barehands turns your webcam into a hand-tracked interface: notes, images, and 3D models float over your camera as glass cards. You pinch them, throw them, stretch them, force-pull them across the room, and blow an engine apart into its exploded view with a drag of two fingers. No headset. No controllers. No gloves. Bare hands.

And it's a body waiting for a brain: wire in your AI and the on-screen ring becomes its face, while two small scripts give it hands and eyes on your board. Free to use, change, and build on, including commercially inside your own business, and if you pass your version on it stays open under the same license (see LICENSE).

Watch it in action:

barehands demo video

Run it (nothing needed)

git clone https://github.com/jaredrhod/barehands
cd barehands
python3 server.py

On Windows run run.bat instead: a clean Windows 11 has no Python but leaves a Microsoft Store stub on the PATH that looks like one, and run.bat finds an interpreter that actually works. Open http://127.0.0.1:8794/stage.html in Chrome, allow the camera, and wave. That's the whole install: the server is stdlib Python, and the page loads its hand tracking (Google MediaPipe) and 3D (three.js) from CDNs on first run.

Already in a Claude Code session with your agent? One sentence does it all: "clone https://github.com/jaredrhod/barehands.git, then read barehands/barehands.md and set me up." Your agent installs it, configures it, and wires itself in.

Tap the ring → orbs bloom → tap an orb → your files unfold on glass. The sample notes teach the gestures from inside the board itself.

Give it your notes

The "vault" on the board is just a folder of markdown, which means an Obsidian vault works as-is, and so does any folder of .md files. Point an orb at it in barehands.json:

{
  "name": "Assistant",
  "orbs": [
    { "title": "Notes", "path": "~/MyVault", "kind": "notes" },
    { "title": "Props", "path": "media",               "kind": "media" }
  ]
}

One line per orb. Add more folders, rename them, point them anywhere. The media orb is the props airlock: drop images in media/misc/, transparent props in media/fx/, 3D models in media/models/, or in media/holo/, where the same model renders as a blue hologram wireframe. Only files inside media/ can ever appear on the board; that jail is a safety feature.

Wire in your AI

The easy way: open the repo in Claude Code and say "read barehands.md and set me up." The setup wizard interviews you, writes the config, and wires your assistant in end to end.

The manual way: barehands speaks two dead-simple protocols:

Anything that can write a file or curl localhost can be the brain: Claude, a local LLM, a cron job, a Stream Deck button.

If your assistant doesn't have a memory yet, pair this with ai-memory-vault; the vault it builds becomes a notes orb on this board.

The gestures

Tap (quick pinch) opens and closes. Pinch-drag moves. Hold still while carrying to rotate in 3D. Two hands scale. Flick to throw. Clap (palms together, fingers up) sweeps the board clean. The claw: flash your hand open, claw, aim at something across the screen, let it strain and shake for two seconds, then snap the claw shut, and it rips through the air into your hand. An empty pinch dragged sideways scrubs a 3D model's exploded view apart and back together.

Every threshold was tuned on a real hand across weeks of live use, and because the gates measure hand shape as ratios, not size, they hold at any camera distance. The full cheat sheet is on the board: Getting Started → The Gestures. If a gesture ever misfires for your hand or setup, TROUBLESHOOTING.md ships the tuning clinic: the built-in debug overlay and pose sampler, plus the exact method for your AI to fit the gates to your hand.

Streaming / recording (advanced)

Two pages, one scene: the tracker page owns your camera; stage.html?role=render is a truly transparent mirror of it, built for an OBS browser source: the glass composites over your camera feed with real alpha. &cursors=0 hides the finger rings (bare-hands sorcery), &ss=2 renders at 2× for razor-sharp cards, and ?portrait=1 on the tracker flips the whole rig to vertical 9:16 for Shorts and TikTok. ?res=3840x2160 bumps the tracker's capture for a 4K self-view (1280x720 rescues slow machines); in an OBS rig your broadcast camera is OBS's own source, so tracking happily stays at the default. Details in the sample notes' Field Guide.

Credits

Hand tracking by Google MediaPipe (Apache 2.0). 3D rendering by three.js (MIT). Both load from public CDNs; this repo redistributes neither.

Updating

barehands improves continuously, and gesture fixes ship often. To update on macOS, double-click the Update icon setup left on your Desktop, or run ./update.sh in this folder. On Windows, or any time, say "pull the latest barehands and tell me what changed" to your agent — it does the same job. Your config, your notes, and your media stay untouched: they live outside the tracked files. Installed through fullstack-agent? ./fullstack-agent/update.sh (macOS) updates every piece at once and prints what changed.

The rest of it

A board is better with an agent behind it. Give it a voice and you can talk while you move things around, and a memory vault turns the notes orb into your agent's actual brain instead of a folder of files.

Support

Free to use, and always will be. If this helped you out, you can buy me a coffee:

Support me on Ko-fi

License

Copyright (c) 2026 Jared Rhodenizer.

Licensed under the GNU Affero General Public License, version 3 or later (AGPL-3.0-or-later). Use it in your business, commercially, for free. Run it, change it, build your workflow on top of it, and charge for the work you do with it. The one rule is that it stays open: if you hand it to someone else, or run a modified version as a service other people use, your version ships under this same license with its source available. Credit me when you build on it. Want it inside a closed-source commercial product? Email [email protected]. Full terms are in the LICENSE file and at https://www.gnu.org/licenses/agpl-3.0.html

barehands (jaredrhod/barehands)

Searching Database…

这是什么?Barehands 把你的网络摄像头变成 AI 的手部跟踪界面:笔记、图片和 3D 模型以玻璃卡片的形式悬浮在摄像头画面上,你可以用双手捏合、投掷、拉伸和炸开它们,无需头显或控制器。
这是原生应用,还是运行在浏览器里的东西?它是一个轻量的本地 Web 应用:一个仅用标准库的 Python 服务器提供你在 Chrome 中打开的页面,页面首次运行时从 CDN 拉取手部跟踪(Google MediaPipe)和 3D 渲染(three.js)。
我怎么让它跑起来?克隆仓库并运行自带脚本(Windows 上是 run.bat);在 Chrome 中打开页面、允许摄像头,然后开始挥手。如果你已经在 Claude Code 会话里,只要说 'clone then read barehands/barehands.md and set me up',智能体就会替你安装并配置好。
我需要先装 Python 或其他东西吗?无需单独安装:服务器只是标准库 Python(run.bat 会替你处理 Windows 的假 Python 存根),手部跟踪和 3D 库在首次运行时从公共 CDN 加载,所以你至少需要联网一次。
手部跟踪总是可靠吗?手势阈值是在一只真实的手上经过数周使用调校的,并以比例而非尺寸来测量手形,因此在不同的摄像头距离下应该都成立;但如果某个手势在你的手或环境上误触发,TROUBLESHOOTING.md 提供了调试叠加层、姿势采样器,以及让你的 AI 重新调校门槛的方法。
我怎么把我的 AI 接上以控制这块板?在 Claude Code 中说 'read barehands.md and set me up' 会运行一个向导,写入配置并把两个钩子粘贴进 settings.json,让屏幕上的圆环镜像你的会话。手动方式下,任何程序都可以写入一个很小的状态文件,或用 curl 调 bin/board.sh 来布置卡片;为安全起见,服务器会强制执行操作白名单和媒体文件夹隔离(jail)。
我怎么把自己的笔记或文件添加到板上?在 barehands.json 中把一个 orb 指向任何 markdown 文件夹——现有的 Obsidian 库可以直接使用。图片、透明道具和 3D 模型(包括全息线框渲染)放进 media/ 下的子文件夹,这是板子唯一会拉取文件的地方。
它能识别哪些手势?轻点打开/关闭卡片,捏合拖动移动它,携带时保持不动可在 3D 中旋转,双手捏放缩放大小,轻甩把它抛出,鼓掌清空整块板,两秒的“利爪”抓取把远处物体拽到手中;空手侧向捏合拖动则可拖动浏览 3D 模型的拆解视图。
AGPL 许可证有什么要注意的?你可以免费使用、修改甚至出售基于 barehands 构建的服务,包括商业用途;但如果你把你的版本交给别人,或以修改版为他人提供服务,该版本必须继续以同一 AGPL-3.0 许可证开源。
Creator
jaredrhod
Size
2.6 MB
Stars
1.1K
Updated
CommitAug 30
Age
2mo
Commits · 90 Days