Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Read-only host activity, history, anomalies and evidence from a Vytrix collector.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
VYTRIX_URL, VYTRIX_TOKENค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"vytrix": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"VYTRIX_URL",
"-e",
"VYTRIX_TOKEN",
"ghcr.io/zyvorai/vytrix-mcp:0.8.0"
],
"env": {
"VYTRIX_URL": "ใส่ค่าของคุณ",
"VYTRIX_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add vytrix --env VYTRIX_URL='ใส่ค่าของคุณ' --env VYTRIX_TOKEN='ใส่ค่าของคุณ' -- docker run -i --rm -e VYTRIX_URL -e VYTRIX_TOKEN ghcr.io/zyvorai/vytrix-mcp:0.8.0เติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"vytrix": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"VYTRIX_URL",
"-e",
"VYTRIX_TOKEN",
"ghcr.io/zyvorai/vytrix-mcp:0.8.0"
],
"env": {
"VYTRIX_URL": "ใส่ค่าของคุณ",
"VYTRIX_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"vytrix": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"VYTRIX_URL",
"-e",
"VYTRIX_TOKEN",
"ghcr.io/zyvorai/vytrix-mcp:0.8.0"
],
"env": {
"VYTRIX_URL": "ใส่ค่าของคุณ",
"VYTRIX_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub zyvorai ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: VYTRIX_URL, VYTRIX_TOKEN
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.8.0) เข้า registry 19 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Docker ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, FlyDocs
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Spec-driven development workflow: your agent works issues, sessions and the status lifecycle.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
A read-only system activity monitor for macOS and Linux. Applications grouped the way you think about them, processes, listening ports, project folders, and Docker and Podman containers, in a macOS 27 window, a macOS 26 Liquid Glass one, or an Adwaita one. A single-file Python collector with no dependencies feeds it.
Read-only · Dependency-free collector · macOS 27 + Liquid Glass + Adwaita · Docker and Podman aware · Local-first
🎮 [Live demo](https://zyvorai.github.io/zyvor-vytrix/demo/) · 🌐 [Site](https://zyvorai.github.io/zyvor-vytrix/) · 🚀 [Quickstart](#quickstart) · 🧩 [How it fits](#how-it-fits-together) · 🔒 [Security](SECURITY.md) · 📖 [API](docs/API.md)
| When this happens | Vytrix gives you |
|---|---|
| Activity Monitor lists 24 "Google Chrome Helper" rows and you want one number | Processes grouped by executable or `.app` bundle, with CPU and memory per application and a process sheet one click away |
| "Which container is eating the box, and is it Docker or Podman?" | State, CPU, memory against its limit, network I/O and published ports for both runtimes, from read-only CLI calls |
| "What is listening on 5173?" | Listening ports tied to the application and its project folder |
| You want a monitor on a remote server without an agent suite | One Python file, one systemd unit, HTTPS and a bearer token |
| You will leave it running on a production host | It is read-only: it never kills, signals or changes anything |
[Try the live demo](https://zyvorai.github.io/zyvor-vytrix/demo/): the real dashboard, running in your browser on simulated telemetry (nothing to install, nothing leaves the page).
[Download for Mac](https://github.com/zyvorai/zyvor-vytrix/releases/tag/v0.7.0): the native app, v0.7.0, DMG and pkg (Apple silicon, macOS 26+); the release notes say whether the build is signed and notarized.
*About 12 seconds against the built-in simulated telemetry: overview, an application's processes, containers, switching to the Adwaita window style, then dark mode.*
| macOS 27, light | macOS 27, dark |
|---|---|
| Liquid Glass, light | Liquid Glass, dark |
|---|---|
| Adwaita, light | Adwaita, dark |
|---|---|
| Phone (390px) | Phone, containers |
|---|---|
*Every image here is the app's built-in simulated telemetry (host zyvor-dev-01). A web page cannot read your processes, so the hosted preview says so on screen. See the UX contract.*
The dashboard starts on clearly labeled simulated telemetry. To see your own machine, run the collector and connect (live), or import a one-off snapshot (offline).
Optional and read-only: a small worker on each Mac pushes its snapshot to a coordinator, and Monitor → Mac cluster shows every machine's CPU, memory, disk, network, applications and containers. There is no command channel. See docs/CLUSTER.md.
A SwiftUI app (native/) that shows the same telemetry in a native macOS 27 window. It starts the bundled collector on loopback with a random token held in memory, or connects to one you run elsewhere (Connect…, HTTPS unless it is localhost). It is read-only, like everything else here.
[Download Vytrix 0.7.0 for Mac](https://github.com/zyvorai/zyvor-vytrix/releases/tag/v0.7.0) (Apple silicon, macOS 26 or newer): Vytrix-0.7.0.pkg installs into Applications, or open Vytrix-0.7.0.dmg and drag Vytrix there. The v0.7.0 files are Developer ID signed and notarized. If you use a build that is not (a local or CI build without Apple secrets), the first launch is blocked: open System Settings → Privacy & Security and choose Open Anyway next to the Vytrix message. Each file has a .sha256; check it with shasum -a 256 -c Vytrix-0.7.0.pkg.sha256. v0.3.0 remains available as a hand-signed DMG. The app bundles the collector, which needs Python 3.10+ (see below).
Or build it from source:
./scripts/build-native.sh # native/build/Vytrix.app, ad-hoc signed development build
open native/build/Vytrix.app # or add --args --demo for simulated telemetry ./scripts/shots-native.sh # docs/ux/native-*.png, from the simulated telemetry ./scripts/build-native-widgets.sh # the same app plus the widget and App Intents (needs xcodegen), see docs/WIDGETS.md
Needs macOS 26 or newer, the Xcode command line tools, and Python 3.10+ for the collector (the system /usr/bin/python3 is 3.9; the app looks for Homebrew's first). Overview, Applications, Containers, Projects, Alerts and Settings are in, grouped Monitor, Workloads and System like the dashboard, along with a menu bar item (CPU, host totals, alert count, busiest apps). Closing the window keeps Vytrix running in the menu bar; Quit stops it and its collector. On the resource pages, anomalous ranges are shaded and a dragged range opens an evidence sheet (needs a collector, so not in demo mode). Alerts use the dashboard's rules (threshold default 80%, critical at +10) and post local notifications, once per alert, never for demo data. The CPU, Memory, Disk, Network and Battery pages and Settings (appearance, accent, threshold, snapshot import and export, data source) are in too. A System widget and two Shortcuts actions ("What is using my CPU?", "How is my Mac doing?") are in docs/WIDGETS.md. Built and run on macOS 27.2.
| Overview, light | Applications, light |
|---|---|
| Containers, dark | Overview, dark |
|---|---|
1. The dashboard, on simulated data (Node ≥ 22.13; npx pnpm@11.25.0 … works without installing pnpm):
git clone https://github.com/zyvorai/zyvor-vytrix.git && cd zyvor-vytrix
npx pnpm@11.25.0 install --frozen-lockfile npx pnpm@11.25.0 dev # http://localhost:5173
2. Your own readings, offline (Python 3.10+, Linux or macOS, no root):
python3 agent/vytrix.py --once > snapshot.json
In the dashboard choose Connect → Import collector snapshot (or Settings → Import). Nothing leaves your machine.
3. Live telemetry
export VYTRIX_TOKEN="$(python3 -c 'import secrets; print(secrets.token_urlsafe(32))')" # keep it out of source control
python3 agent/vytrix.py --allow-origin http://localhost:5173
Enter http://127.0.0.1:9847/v1/snapshot and the token in Connect. The dashboard polls every two seconds. The token stays in tab memory: it is not stored in localStorage and not sent anywhere else. For another machine, serve HTTPS with --tls-cert/--tls-key (or a TLS reverse proxy that passes Authorization). The UI refuses plain-HTTP collector URLs except on loopback.
| Flag | Default | Purpose |
|---|---|---|
--once | Print one snapshot, then exit | |
--bind, --port | 127.0.0.1, 9847 | Where to listen. Plain HTTP on a non-loopback address prints a warning |
--allow-origin | none | Exact browser origin allowed by CORS. Repeatable |
--tls-cert, --tls-key | PEM files: serve HTTPS (needed for remote browser access) | |
--ui-upstream | Proxy non-API paths to a dashboard URL (same-origin deploys) | |
--interval | 2 | Seconds between samples |
--database | ~/.local/share/vytrix/history.sqlite | History (30-day retention, directory 0700, file 0600) |
--no-containers | Skip Docker and Podman | |
--container-interval | 5 | Seconds between container polls |
Endpoints: GET /v1/snapshot, GET /v1/history?since=…&limit=… (both need the bearer token and an allowed origin), and unauthenticated GET /healthz. Everything is a read; mutations are not supported. See docs/API.md.
| Section | Views |
|---|---|
| Monitor | Overview, CPU, Memory, Disk, Network, Battery |
| Workloads | Applications (grouped), Containers (Docker and Podman), Projects (developer servers by folder) |
| System | Alerts (threshold checks), Settings (window style, appearance, accent, reduced transparency, thresholds, import/export) |
Also: search, CPU or memory sort, pause and resume, 1m/5m/1h activity history (captured while the tab is open, at most 1,800 samples), and JSON import/export.
scripts/install-macos.sh --allow-origin http://localhost:5173 # launchd agent, token in the login Keychain
scripts/install-linux.sh --allow-origin http://localhost:5173 # systemd user unit (--system for a hardened system unit)
Both accept --dry-run, --port and --no-containers.
./scripts/deploy-remote.sh 203.0.113.10 deploy # HOST USER, or user@host
./scripts/deploy-remote.sh HOST USER --quick # sync + restart, no build ./scripts/deploy-remote.sh HOST USER --verify-only ./scripts/deploy-remote.sh HOST USER --dry-run # prints the plan; no SSH
It syncs the checkout over SSH (one multiplexed connection) to ~/.vytrix/app, builds it there (with a private Node 22 if the system Node is older), and installs two systemd units: the dashboard on 127.0.0.1:8787 and the collector on `https://HOST:30847` with a self-signed certificate that covers the host, proxying the dashboard on the same origin. The token is created once in ~/.vytrix/env (0600). Open the URL, accept the certificate, Connect (the endpoint is pre-filled) and paste the token. Needs SSH, passwordless sudo, Python 3.10+, curl, openssl, rsync. Details: docs/RELEASE.md.
The dashboard has no login of its own: put it behind your own access control. What the collector token protects, and what it does not, is in SECURITY.md.
pnpm typecheck && pnpm lint
pnpm test # telemetry schema tests + Python collector tests pnpm build pnpm test:e2e # Playwright: WebKit, Chromium, mobile WebKit pnpm shots
ตัดมาแค่ช่วงต้น อ่านต่อใน repo