个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Run coding agents on your own machine. Talk to them from anywhere.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Anycon connects the machine that runs your AI agents (a Mac mini at home, a workstation, a server) to a small relay called the hub, so you can drive those agents from a browser, your phone, a terminal, or a script, from anywhere. The machine dials out to the hub. You don't need a public IP, a VPN, or port forwarding.
your machine hub clients
┌───────────────────┐ ┌──────────────┐ ┌──────────────┐
│ anycon daemon │ outbound │ anycon-hub │ HTTPS / WS │ Web UI / PWA │
│ ├ Claude Code │ ──────────► │ relays │ ◄─────────────── │ anycon CLI │
│ └ Codex, … │ │ ciphertext │ │ TS SDK │
└───────────────────┘ └──────────────┘ └──────────────┘
▲ ▲
└───────────────── end-to-end encrypted (Noise) ──────────────────┘
Vendor cloud agents run in the vendor's sandbox: your repo is cloned into a container, dependencies are reinstalled, and your internal services are out of reach. Anycon keeps the agent on your machine, with your local databases, GPUs, credentials, and tools already in place, and gives you a remote line to it.
The trade-offs, stated plainly:
Not in scope: terminals and remote shells, editors, issue tracking, team collaboration. Dev server previews are tunneled end to end, never proxied through the hub in plaintext (see the privacy model).
You need Docker for the hub. The anycon binary (daemon and CLI in one) runs on macOS (Apple silicon and Intel), Linux (x86_64 and arm64, glibc 2.35 or newer), and Windows (x64, Windows 10 1809 or newer).
1. Run a hub. It can run on the same machine as the agents, or anywhere both sides can reach.
docker run -d --name anycon-hub -p 8080:8080 -v anycon-data:/data \
-e ANYCON_PUBLIC_URL=https://hub.example.com ghcr.io/anycon-ai/hub:latest
docker logs anycon-hub # prints a one-time admin token on first start
Want people to sign up on their own (email code or GitHub / Google sign-in, with per-account quotas)? Run it with ANYCON_MODE=multi; see docs/deploy.md § 9.
The image is built for linux/amd64 and linux/arm64 and tagged <version> (e.g. 0.1.0), <major>.<minor> (0.1), and latest. Pin a version in production. The hub serves plain HTTP. TLS and your domain are handled by your reverse proxy. docs/deploy.md has ready-to-use configs for Caddy, nginx, Traefik, and Cloudflare Tunnel, plus a compose file.
2. Install and pair the daemon on the machine that runs your agents:
brew install anycon-ai/tap/anycon
# or, without Homebrew (installs to ~/.local/bin):
curl -fsSL https://github.com/anycon-ai/anycon/releases/latest/download/install.sh | sh
anycon init --hub https://hub.example.com --workspace ~/anycon --name mac-mini --yes
anycon daemon # foreground; or `anycon service install` for launchd / systemd
anycon pair # in another terminal: prints a 16-character code and a pairing link (--qr for a QR code)
On Windows, in PowerShell (installs to %LOCALAPPDATA%\Programs\anycon\bin and adds it to your PATH; no administrator rights needed):
irm https://github.com/anycon-ai/anycon/releases/latest/download/install.ps1 | iex
anycon init --hub https://hub.example.com --workspace ~/anycon --name my-pc --yes
anycon service install # a scheduled task that starts the daemon at logon, without a console window
anycon pair
Prebuilt binaries are also attached to each GitHub release, with checksums and build provenance. To build from source instead, run cargo install --path crates/cli --locked in a clone (needs a current stable Rust toolchain; on Windows also cargo install --path crates/windows-launcher --locked for the console-less launcher the service uses), and docker build -f docker/hub.Dockerfile -t anycon-hub . for the hub image.
3. Open the hub in a browser, sign in with the admin token, and enter the pairing code. That's it. Every folder under ~/anycon/ is now a project you can work in from the browser. To add another device, use Add device in node settings, or run anycon pair again.
Web UI. Served by the hub and installable as a PWA. It has streaming Markdown, tool-call rendering, diffs, permission approvals, model / reasoning / permission-mode pickers, per-session worktrees, image attachments, and Web Push notifications. Available in English and Chinese.
CLI. Use it from any terminal:
anycon connect https://hub.example.com --code 7K3P-Q2MX-4FWD-H8RT
anycon new --project my-app "run the tests and fix whatever fails"
Output streams live, and you answer permission requests right in the terminal.
TypeScript SDK (@anycon/sdk):
import { pair, connect } from '@anycon/sdk'
await pair('https://hub.example.com', { code: '7K3P-Q2MX-4FWD-H8RT', name: 'ci-runner' }) // once
const node = await connect('https://hub.example.com', { node: 'mac-mini' })
const session = await node.sessions.create({ project: 'my-app', agent: 'claude-code' })
for await (const ev of session.send('run the tests and fix whatever fails')) {
if (ev.type === 'text_delta') process.stdout.write(ev.text)
if (ev.type === 'permission') await ev.allow()
}
| Agent | How |
|---|---|
| Claude Code | Native adapter (bidirectional stream-json) |
| Codex | Native adapter (codex app-server, codex-cli ≥ 0.157.0) |
| Mock agent | Deterministic fake agent for development and tests (ANYCON_MOCK_AGENT=1) |
Installed agents are picked up automatically. Use anycon config set agents.<id>.enabled false to turn one off. Planned next: ACP agents (OpenCode, Pi, …) and custom agents registered as nodes through the SDK. See the roadmap.
anycon pair --short only with a hub you run yourself.*.aiplace.app) and travel through their own Noise tunnel to the daemon. The hub sees that a preview is open and how much traffic it carries, not the pages. The preview loader is also served by the hub, so the same trust caveat as the Web UI applies. By default the daemon only forwards to ports opened by an agent session.The full threat model is in docs/architecture.md § 5.6 and SECURITY.md.
| Architecture | Components, data ownership, encryption, workspaces |
| Protocol | Envelopes, pairing handshake, JSON-RPC methods, offline behavior |
| Specs | What the daemon, hub, Web UI, CLI, and SDK do in detail |
| Deployment | Self-hosting, reverse proxies, backups, upgrades |
| Decisions | Architecture decision records |
| Roadmap | What's in v0.1 and what's next |
The design docs are in Chinese for now. English versions will follow once v0.1 settles.
Toolchain versions are pinned in mise.toml (Rust, bun, Node, just).
bun install
just gen-wasm && bun run --cwd web build # first time: Noise wasm + Web UI (embedded into the hub)
just dev # hub :8080 + daemon (mock agent) + Web dev server :5173
just test # Rust + TypeScript tests
just lint # fmt, clippy, oxlint, typecheck
just e2e # Playwright against a real hub + daemon + Web UI
See CONTRIBUTING.md for the dev loop, conventions, and where help is most welcome.
Anycon is at v0.1. The core flow works end to end and has automated tests: run a hub, pair, chat with an agent, approve permissions, work in worktrees. The protocol and APIs may still change between minor versions. Please report bugs and rough edges in issues, and send security problems to the channel in SECURITY.md.