DeepSeek Harness Remote
DeepSeek Harness Remote 可将手机或另一台电脑与你运行 DeepSeek Harness 的电脑安全连接,随时随地继续你的工作,方便随时查看进度并继续工作。
Translation pending
A focus timer in your MacBook’s notch for people who work with Claude Code and Codex.
ProductivityPython · ShellGitHub @lc66OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
A pomodoro timer in your Mac's notch that also keeps an eye on Claude Code and Codex
Taken from the repository README
Loading the full README.
Read the full README ↗AI agents can work all day. People can't, and shouldn't have to. Meowdoro keeps a simple rhythm by the notch — 25 minutes on one thing, then a real break — and watches your Claude Code and Codex sessions for you. During a focus, the island shows which agents are working, finished or waiting for you. During a break they keep working, and their news waits until you're back.
This repository holds Meowdoro's releases and the helper for agents on other machines. The app's source isn't here.
Download Meowdoro (a DMG). What changed in each version: CHANGELOG.md; older versions and their notes: Releases.
Focus, short break and long break by the notch, with a cat that keeps the time. The island is the notification: no Dock icon, no banners.
Claude Code (in the terminal or Claude Desktop) and Codex (in the terminal or ChatGPT) show up in the island. Settings → Agents on this Mac shows a tile for each agent it finds, with a green ring once it's connected; Connect (or "Connect all…") installs a small plugin into each.
/compact.The day, the week or the month: focus time, finished sessions, rest, and the work-to-rest ratio, with a chart by hour or by day.
Settings and statistics stay on your Mac. No account, no analytics. Meowdoro connects to nothing on the internet, except the relay when you turn on agents on other machines, and through it gets only encrypted status.
Meowdoro can show agents that run on a VM, a Linux server or another Mac. The helper here sends their status from that machine to your Mac:
that machine relay your Mac
agent hook → meowdoro-remote hook → meowdoro-remote daemon ──HTTPS──▶ (sees only ciphertext) ──▶ Meowdoro
Meowdoro shows the line in Settings → Remote agents. It looks like this:
curl -fsSL https://raw.githubusercontent.com/lc66/meowdoro-public/main/install.sh | sh -s -- https://<relay> <code> [name]
python3 (3.8+, standard library only) and curl.install.sh downloads the helper of its own release by tag and runs it only if its SHA-256 matches.<code> carries the channel and the encryption key made on your Mac; it is saved to ~/.meowdoro/remote.json (owner-only).meowdoro-remote, is installed into Claude Code and Codex with their own commands. Codex runs plugin hooks only after you trust them (/hooks), and your Mac says so until you do. An agent installed there later gets the plugin by itself; one you switch off stays off./reload-plugins in them or restart them: setup names them, and your Mac lists them in grey with that hint until they do. Codex sessions that were open pick it up after a restart.python3 ~/.meowdoro/bin/meowdoro-remote list shows them, … remove <number> stops one.python3 ~/.meowdoro/bin/meowdoro-remote uninstall.Only status: agent, session id, event (working / waiting / finished / error / closed), project name (the git repository's folder name), the session's title, a tool's name when it asks for permission or is an MCP tool, how full the session's context is, Codex's plan limits, whether you've read a finished session there, the question Claude Desktop says a turn ended on (its own one-line summary), which agents have the plugin, the ChatGPT login Codex uses there as a fingerprint (a hash, not the account or the user) and its email masked to the first two letters and the domain (gl…@gmail.com; machines with the same login share their limits on your Mac), Claude Code's version when it's too old for it (and that of each session that sends nothing), the machine's name, the helper's version, a timestamp. Never prompts, tool inputs or outputs, file contents, paths or the agent's replies. Everything is encrypted with AES-256-GCM before it leaves; the relay can't read it.
Meowdoro checks appcast.xml in this repository for updates (with Sparkle): it lists the latest version, its notes, and the DMG's EdDSA signature.
The app and the helper have their own versions: app releases are tagged app-v<version>, helper releases helper-v<version>. A new helper doesn't need a new app, and the other way round. Each message from the helper carries a protocol version. New helpers only add fields, so an older Meowdoro keeps working with a newer helper (it ignores what it doesn't know, and shows agents it doesn't know yet by their name). A change an older Meowdoro couldn't read would raise the protocol version; that Meowdoro then says the machine needs a newer Meowdoro.