Codync
免费开源的 1:1 Grok Bot 与 Muse 替代方案。可在 iPhone、Mac 或 Linux 桌面上将 Claude 代码、Codex、Cursor 以及 40 多个编码代理作为持久机器人使用。支持群组聊天、线程、应用。
AI 翻译
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证One CLI for Blackmagic ATEM, HyperDeck, Videohub and Ultimatte. Native protocols, no SDK. MCP server included.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗bmdctl is one binary that controls Blackmagic Design production equipment over the network: ATEM switchers, HyperDeck recorders, Videohub routers and Ultimatte keyers. It talks each device's own protocol (UDP 9910 to an ATEM, TCP to the others), so no Blackmagic SDK, driver or ATEM Software Control is involved. A background engine keeps a session open to each switcher, deck and router, and every command is also served over HTTP and to AI agents over MCP.
It's for the people who run and automate studios, live events and broadcast rooms: an engineer at a terminal or over SSH, a cron job, a show controller such as Companion, or an AI agent, all with the same commands.
Run on an ATEM, a HyperDeck and an Ultimatte; Videohub ported, not yet run on a router.
$ bmdctl connect 192.168.1.20
STUDIO A PGM CAM2 · PVW CAM1 · 1080p25 · connected 328 ms
saved as "STUDIO A", now the default
$ bmdctl preview cam3
STUDIO A PGM CAM2 · PVW CAM1
preview CAM1 → CAM3 27 ms
$ bmdctl cut
STUDIO A PGM CAM2 · PVW CAM3
cut CAM3 on program · CAM2 on preview 30 ms
$ bmdctl status
STUDIO A 1080p25 · session 14s, idle 3s, pinned
ME 1 PGM CAM3 PVW CAM2
mix 1:00 · next background · FTB off
macOS and Linux, into ~/.local/bin (/usr/local/bin as root), checked
against the release's checksums.txt:
curl -fsSL https://raw.githubusercontent.com/lucas-romanenko/bmdctl/main/install.sh | sh
scoop install https://raw.githubusercontent.com/lucas-romanenko/bmdctl/main/scoop/bmdctl.json.deb or .rpm from the
latest release
(sudo apt install ./bmdctl_*_amd64.deb), with the man page and
completions.ghcr.io/lucas-romanenko/bmdctl, which runs the engine and
the HTTP API (docker run -d --network host -v bmdctl:/data ghcr.io/lucas-romanenko/bmdctl).go install github.com/lucas-romanenko/bmdctl/cmd/bmdctl@latestThe releases also install atemctl, hdctl, vhctl and ultctl:
bmdctl for one device (hdctl play is bmdctl hyperdeck play).
docs/INSTALL.md covers PATH, completion, upgrading and
removal.
bmdctl connect 192.168.1.20 # asks what answers there, saves it by its own name
bmdctl status # program, preview, transition, keyers, aux
bmdctl program cam2 # a number, cam2, mp1, bars, or the input's name
bmdctl profile save show.xml writes ATEM
Software Control's XML and the media pool stills beside it. Commit them,
and a change to a show's setup is a diff. (profile restore loads one
back; parts of it have run on hardware, and docs/HARDWARE.md says which.)bmdctl mcp gives Claude Code, Claude Desktop or
any MCP client a tool per command group. Destructive commands do nothing
until a person confirms. See docs/AGENTS.md.Also:
exec cue file run from cron; every line is checked before the first is sent.bmdctl from Companion's shell action, Node-RED's exec node or Home Assistant's shell_command.bmdctl watch --json prints each program, preview and tally change as one JSON line.bmdctl hosts --json and run the same command, or profile save, on every switcher.--dry-run prints a command's bytes with no switcher; the tests run against a fake switcher.bmdctl engine --serve).The documentation is also a site, https://lucas-romanenko.github.io/bmdctl/
(built from docs/ by mkdocs.yml).
bmdctl man prints the same).atem/ ports, is a fork of it (atem/NOTICE).bmdctl is MIT (LICENSE), except for two directories that are
LGPL-3.0-only: atem/ (atem/LICENSE), as atemwire, the
pyatem fork it ports, is, and internal/fixtures/, data copied from
atemwire's tests. NOTICE maps them.
Not affiliated with or endorsed by Blackmagic Design Pty Ltd. ATEM, HyperDeck, Videohub and Ultimatte are trademarks of Blackmagic Design.