[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6MHTCWY1QBJNZJB3F0ZSCMH":3,"skill-same:01M6MHTCWY1QBJNZJB3F0ZSCMH":90},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":45,"linkOnly":46,"markdownContent":47,"markdownBody":48,"frontMatter":49,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":53,"repositoryHtmlUrl":54,"repositoryHomepageUrl":55,"ownerHtmlUrl":56,"ownerBlogUrl":57,"ownerDescription":58,"updatedAt":59,"install":60,"resources":73},"01M6MHTCWY1QBJNZJB3F0ZSCMH","krypton-vps-codex-app",null,"Set up, harden, audit, or explain a Linux VPS as a Codex App SSH host for Krypton-style agent workflows. Use when the user wants to move Codex or Claude Code work from a local Mac to a VPS, connect Codex App to an SSH host, configure Ubuntu 24.04\u002Fdevbox tools, clone a repo remotely, run Codex\u002FClaude\u002Ftmux\u002Fcmux on the VPS, forward ports for localhost testing, or create repeatable founder\u002Fbuilder setup instructions with proof checks.","hashgraph-online\u002Fawesome-codex-plugins","hashgraph-online","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F160371962?v=4","01M6CNB6NRJVNNGN14TR01Q6D3","HOL (Hashgraph Online)","01M6JT1HSKKG9V68KQAQGBA7XP",1571,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fjturntdev\u002Fkrypton\u002Fskills\u002Fkrypton-vps-codex-app\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"codex","krypton vps codex app","vps","app","when","testing","move","host","local","builder","up","work","ports","configure","Ubuntu","SET","audit","code","create","connect","workflows","2026-11-10 10:12:30",false,"---\nname: krypton-vps-codex-app\ndescription: Set up, harden, audit, or explain a Linux VPS as a Codex App SSH host for Krypton-style agent workflows. Use when the user wants to move Codex or Claude Code work from a local Mac to a VPS, connect Codex App to an SSH host, configure Ubuntu 24.04\u002Fdevbox tools, clone a repo remotely, run Codex\u002FClaude\u002Ftmux\u002Fcmux on the VPS, forward ports for localhost testing, or create repeatable founder\u002Fbuilder setup instructions with proof checks.\n---\n\n# Krypton VPS Codex App\n\n## Overview\n\nTurn a Linux VPS into the machine that does the work while the operator's Mac\nonly displays and controls it. The target result is a working Codex App SSH\nproject where commands, edits, builds, tests, tmux\u002Fcmux sessions, dev servers,\nand agent runs happen on the VPS.\n\nDo not describe this as installing Codex App on the VPS. Codex App stays on the\noperator's Mac or Windows machine; the VPS needs the Codex CLI and repo\ntoolchain so the app can start the remote Codex app server through SSH.\n\nUse the current OpenAI Codex docs for Codex App specifics when facts may have\nchanged. The durable setup facts this skill relies on are:\n\n- Codex App can add projects from an SSH host.\n- Codex reads concrete SSH aliases from `~\u002F.ssh\u002Fconfig`.\n- Remote project threads run commands and edit files on the remote host.\n- The remote host provides the repo files, credentials, tools, skills, MCP\n  setup, browser\u002Fcomputer-use setup, and sandbox\u002Fapproval behavior.\n- The remote `codex` command must be available on the remote user's login-shell\n  `PATH`.\n\n## Responsibility Split\n\nCodex can prepare commands, inspect SSH config, audit the VPS, bootstrap tools\nover SSH when it has access, clone the repo, run checks, and explain failures.\n\nThe operator must provide or complete these human steps:\n\n- Buy or provision the VPS if it does not exist yet.\n- Create or choose the SSH key pair used for the VPS.\n- Add an SSH public key in the VPS provider UI or otherwise grant SSH access.\n- Approve any edit to `~\u002F.ssh\u002Fconfig`, or add the SSH alias manually.\n- Choose how the VPS may access their GitHub repo.\n- Decide whether local-only config files should be recreated, copied, or skipped.\n- Keep private keys, provider passwords, API keys, and Codex auth files secret.\n- Complete Codex App Settings > Connections and choose the remote project folder.\n- Complete browser\u002Fdevice authentication when the flow requires user login.\n\n## First Response\n\nStart by repeating the setup goal in plain English:\n\n```text\nYou want the VPS to be the actual development machine. Codex App on the Mac\nconnects to it over SSH, and the repo, tools, agent sessions, builds, tests,\nand dev servers run there.\n```\n\nThen ask this setup-state question first:\n\n```text\nDo you already have a VPS with SSH access, or are we starting before the VPS is\ncreated?\n```\n\nIf the VPS does not exist yet, give a short purchase\u002Fbootstrap checklist:\nUbuntu 24.04 LTS unless the repo needs something else, enough CPU\u002FRAM\u002Fswap for\nbuilds and agent runs, SSH-key access, a non-root daily user, no public dev\nports, and GitHub as source of truth. Then ask for the VPS IP, initial username,\nand public-key path once the VPS is ready.\n\nIf the VPS exists, ask for only the missing inputs needed for the next step:\n\n- SSH alias or VPS IP.\n- Remote username.\n- Repo URL and desired remote path.\n- Whether the repo is public or private.\n- Which GitHub access path they want: GitHub CLI login, SSH key on their GitHub\n  account, read-only deploy key, or no GitHub setup yet.\n- Whether they have local-only config files such as `.env`, ignored config,\n  MCP files, package registry auth, or provider credentials that the VPS needs.\n- Stack commands if they are not obvious from the repo.\n- Whether Codex should only audit or may bootstrap missing tools over SSH.\n- Whether the operator wants setup, audit, troubleshooting, or public post-ready\n  instructions.\n\nIf the user already gave enough, proceed without more questions.\n\n## Setup Workflow\n\n### 1. Host And Security Preflight\n\nTreat this as a development host, not production.\n\n- Use a non-root Linux user for daily work.\n- If the first login is `root`, use it only for bootstrap and move the Codex\n  SSH alias to a non-root user before day-to-day work.\n- Use SSH keys, not passwords.\n- Keep GitHub as source of truth for code.\n- Keep production deploy targets separate and protected.\n- Do not expose dev servers, Codex app-server, Docker sockets, databases, or\n  private dashboards to the public internet.\n- Prefer SSH port forwarding for local browser testing.\n- On headless Linux VPS hosts, do not promise Browser or Computer Use unless a\n  supported browser\u002Fdesktop stack is explicitly installed and verified. Prefer\n  running the server on the VPS and inspecting it through a local SSH tunnel.\n- Never print, paste, or commit `~\u002F.codex\u002Fauth.json`, API keys, deploy keys,\n  SSH private keys, or provider tokens.\n\n### 2. Mac SSH Config\n\nCreate or provide a concrete SSH alias on the Mac that runs Codex App. Do not\nedit `~\u002F.ssh\u002Fconfig` silently; show the snippet and ask before writing unless\nthe user already asked Codex to make the edit.\n\n```sshconfig\nHost krypton-vps\n  HostName 203.0.113.10\n  User dev\n  IdentityFile ~\u002F.ssh\u002Fid_ed25519\n  IdentitiesOnly yes\n  ServerAliveInterval 30\n  ServerAliveCountMax 3\n```\n\nVerify from the Mac:\n\n```bash\nssh krypton-vps\n```\n\n### 3. VPS Tooling\n\nOn the VPS, install the repo's real toolchain. For a typical Ubuntu 24.04 agent\nbox this means:\n\n- `git`\n- `gh`\n- `curl`\n- `jq`\n- `python3`\n- `ripgrep` (`rg`)\n- `build-essential`\n- `tmux`\n- `unzip`\n- `cmux` when the workflow uses it\n- `node`\n- `corepack`\n- `pnpm`\n- Docker and Compose when the repo needs containers\n- Codex CLI, installed through the current official path\n- Claude Code only if the operator uses it and has its auth flow ready\n\nDo not guess a repo's install commands. Read `README.md`, package manager files,\nand repo docs first.\n\n### 4. Codex On The VPS\n\nThe remote shell must find `codex`:\n\n```bash\ncommand -v codex\ncodex --version\n```\n\nFor headless login, prefer:\n\n```bash\ncodex login --device-auth\n```\n\nIf device auth is unavailable, use the official fallback options. If copying\n`~\u002F.codex\u002Fauth.json`, treat it like a password and never expose its contents.\n\nFor troubleshooting, use `codex doctor` on the VPS. Do not manually expose\n`codex app-server` for a normal Codex App SSH project; the app starts the remote\napp server over SSH.\n\n### 5. Repo And Project\n\nBefore copying code, ask:\n\n```text\nDo you want GitHub to be the source of truth for this VPS checkout? That is the\nrecommended path. It keeps code transfer clean, repeatable, and reviewable.\n```\n\nIf yes, ask which GitHub access method the operator wants:\n\n- GitHub CLI login on the VPS: best when the user wants normal development,\n  private repo access, issues, PRs, and pushes from the VPS.\n- SSH key on the user's GitHub account: good when the VPS should behave like one\n  of the user's dev machines. This key can access every repo that account can\n  access, so do not use it casually on shared hosts.\n- Read-only deploy key: best for cloning one private repo with least privilege.\n  It is not enough if Codex needs to push branches back to GitHub.\n- Public HTTPS clone: fine for public repos or read-only public examples.\n- `rsync`\u002Farchive from the Mac: fallback for code not in GitHub; do not present\n  this as the default for active codebases.\n\nNever ask the user to paste a GitHub token into the chat or put a token in a Git\nremote URL. If token auth is unavoidable, use the official GitHub CLI or\nprovider flow and avoid printing the token.\n\nFor private repos with GitHub CLI:\n\n```bash\nssh krypton-vps\ngh auth login\ngh auth status\ngh repo clone ORG\u002FREPO ~\u002Fsrc\u002FREPO\n```\n\nFor SSH Git access:\n\n```bash\nssh krypton-vps\nssh-keygen -t ed25519 -C \"krypton-vps\" -f ~\u002F.ssh\u002Fgithub-krypton-vps\ncat ~\u002F.ssh\u002Fgithub-krypton-vps.pub\n```\n\nThe operator adds the printed public key to GitHub. Then verify and clone:\n\n```bash\nssh -T git@github.com\nmkdir -p ~\u002Fsrc\ngit clone git@github.com:ORG\u002FREPO.git ~\u002Fsrc\u002FREPO\ncd ~\u002Fsrc\u002FREPO\n```\n\nFor a read-only deploy key, add the public key under the single GitHub repo's\nDeploy keys with write access disabled. Use this only when the VPS needs to\nclone or pull, not push.\n\nAfter clone, set the normal project path:\n\n```bash\nmkdir -p ~\u002Fsrc\ngit clone git@github.com:ORG\u002FREPO.git ~\u002Fsrc\u002FREPO\ncd ~\u002Fsrc\u002FREPO\n```\n\nInstall dependencies using the repo's own commands. If the repo uses checked-in\nskills, hooks, MCP config, or local environment actions, keep them in the repo\nso Codex App sees the same project guidance remotely.\n\n### 6. Local Config And Secrets\n\nTreat code and local configuration as separate moves.\n\nAsk before touching local config:\n\n```text\nDo you want to recreate local config on the VPS from examples, copy selected\nignored files from this machine, or skip local config for now?\n```\n\nRecommended order:\n\n1. Recreate from checked-in examples such as `.env.example`, README setup, or\n   project docs.\n2. Copy selected ignored files only when the operator confirms the exact files.\n3. Skip secrets until the repo can boot far enough to show what is missing.\n\nSafe copy pattern for selected local files:\n\n```bash\nrsync -av --chmod=F600,D700 .env.local krypton-vps:~\u002Fsrc\u002FREPO\u002F.env.local\n```\n\nDo not bulk-copy the whole home directory, `.ssh`, `.codex`, browser profiles,\nnode_modules, build outputs, caches, or private key files. Do not commit copied\nlocal config. After copying, verify permissions and keep secrets out of terminal\nsummaries.\n\nOptional stronger CLI proof before the app UI:\n\n```bash\nssh krypton-vps 'cd ~\u002Fsrc\u002FREPO && codex exec --ephemeral --sandbox read-only -C \"$PWD\" \"Run pwd, hostname, whoami, command -v codex, codex --version, git status --short, and do not modify files.\"'\n```\n\nThis proves the remote Codex CLI can complete a read-only turn. It does not\nreplace the final Codex App remote-thread proof.\n\n### 7. Codex App Connection\n\nIn Codex App on the Mac:\n\n1. Open Settings.\n2. Open Connections.\n3. Add or enable the SSH host alias.\n4. Choose the remote project folder, for example `~\u002Fsrc\u002FREPO`.\n5. Start a remote project thread.\n\nThis is a user-operated app step unless the current Codex session has explicit\ndesktop\u002Fapp-control tools and the operator asks to use them. Do not pretend SSH\nalone completes the Codex App connection.\n\nProof prompt for the first remote thread:\n\n```text\nRun pwd, hostname, command -v codex, codex --version, git status --short, and\ndo not modify files.\n```\n\nThe result should show the VPS hostname, the remote repo path, a working Codex\nbinary, and a clean or understood Git state.\n\n### 8. Port Forwarding\n\nUse SSH forwarding for local browser proof:\n\n```bash\nssh -L 3000:127.0.0.1:3000 krypton-vps\n```\n\nRun the dev server on the VPS bound to localhost or the documented dev-host\naddress. Browse from the Mac at `http:\u002F\u002F127.0.0.1:3000`.\n\n### 9. cmux And tmux\n\nUse tmux for persistence and cmux for managing multiple agent sessions when the\noperator wants that workflow:\n\n```bash\ntmux new -s krypton\n```\n\nKeep the rule simple: Mac displays, VPS works, GitHub stores source, production\nstays separate.\n\n## Audit Script\n\nWhen an SSH alias exists, run:\n\n```bash\n.codex\u002Fskills\u002Fkrypton\u002Fkrypton-vps-codex-app\u002Fscripts\u002Faudit-vps-codex-app.sh \\\n  --host krypton-vps \\\n  --repo-url git@github.com:ORG\u002FREPO.git \\\n  --repo-path ~\u002Fsrc\u002FREPO\n```\n\nThe script is read-only. It checks SSH reachability, Linux\u002FUbuntu details,\nrequired command availability, whether `codex` is on the login-shell `PATH`,\nbasic auth-cache presence without printing secrets, GitHub repo reachability\nwhen `--repo-url` is supplied, Git repo state, root-user risk, and common\nagent-workflow tools. It does not prove the Codex App UI connection by itself;\nfinish with a real remote project thread.\n\n## Troubleshooting Rules\n\n- If Codex App cannot find the host, inspect `~\u002F.ssh\u002Fconfig` on the Mac and\n  confirm `ssh \u003Calias>` works outside the app.\n- If Codex App connects but remote threads fail immediately, check that `codex`\n  is installed and visible in the remote login shell.\n- If the CLI smoke passes but the app fails, inspect Codex App Settings >\n  Connections and run `codex doctor` on the VPS.\n- If browser login fails on the headless VPS, use device auth or an SSH\n  localhost callback tunnel.\n- If private GitHub clone fails, decide whether the user wants `gh auth login`,\n  a GitHub account SSH key, or a single-repo deploy key. Do not switch methods\n  without asking.\n- If the repo boots but config is missing, recreate from examples first, then\n  ask before copying any ignored local files.\n- If dev server preview fails, first prove the server is listening on the VPS,\n  then prove the SSH tunnel maps the right remote port to the right local port.\n- If tests are slow or memory-heavy, confirm the VPS size and swap before\n  blaming Codex.\n- If credentials are missing, install or authenticate them on the VPS. The Mac's\n  local credentials do not automatically become remote credentials.\n\n## Reference\n\nRead `references\u002Fsetup-runbook.md` when the user needs complete copy\u002Fpaste setup\nsteps, a public-post checklist, or deeper troubleshooting.\n","# Krypton VPS Codex App\n\n## Overview\n\nTurn a Linux VPS into the machine that does the work while the operator's Mac\nonly displays and controls it. The target result is a working Codex App SSH\nproject where commands, edits, builds, tests, tmux\u002Fcmux sessions, dev servers,\nand agent runs happen on the VPS.\n\nDo not describe this as installing Codex App on the VPS. Codex App stays on the\noperator's Mac or Windows machine; the VPS needs the Codex CLI and repo\ntoolchain so the app can start the remote Codex app server through SSH.\n\nUse the current OpenAI Codex docs for Codex App specifics when facts may have\nchanged. The durable setup facts this skill relies on are:\n\n- Codex App can add projects from an SSH host.\n- Codex reads concrete SSH aliases from `~\u002F.ssh\u002Fconfig`.\n- Remote project threads run commands and edit files on the remote host.\n- The remote host provides the repo files, credentials, tools, skills, MCP\n  setup, browser\u002Fcomputer-use setup, and sandbox\u002Fapproval behavior.\n- The remote `codex` command must be available on the remote user's login-shell\n  `PATH`.\n\n## Responsibility Split\n\nCodex can prepare commands, inspect SSH config, audit the VPS, bootstrap tools\nover SSH when it has access, clone the repo, run checks, and explain failures.\n\nThe operator must provide or complete these human steps:\n\n- Buy or provision the VPS if it does not exist yet.\n- Create or choose the SSH key pair used for the VPS.\n- Add an SSH public key in the VPS provider UI or otherwise grant SSH access.\n- Approve any edit to `~\u002F.ssh\u002Fconfig`, or add the SSH alias manually.\n- Choose how the VPS may access their GitHub repo.\n- Decide whether local-only config files should be recreated, copied, or skipped.\n- Keep private keys, provider passwords, API keys, and Codex auth files secret.\n- Complete Codex App Settings > Connections and choose the remote project folder.\n- Complete browser\u002Fdevice authentication when the flow requires user login.\n\n## First Response\n\nStart by repeating the setup goal in plain English:\n\n```text\nYou want the VPS to be the actual development machine. Codex App on the Mac\nconnects to it over SSH, and the repo, tools, agent sessions, builds, tests,\nand dev servers run there.\n```\n\nThen ask this setup-state question first:\n\n```text\nDo you already have a VPS with SSH access, or are we starting before the VPS is\ncreated?\n```\n\nIf the VPS does not exist yet, give a short purchase\u002Fbootstrap checklist:\nUbuntu 24.04 LTS unless the repo needs something else, enough CPU\u002FRAM\u002Fswap for\nbuilds and agent runs, SSH-key access, a non-root daily user, no public dev\nports, and GitHub as source of truth. Then ask for the VPS IP, initial username,\nand public-key path once the VPS is ready.\n\nIf the VPS exists, ask for only the missing inputs needed for the next step:\n\n- SSH alias or VPS IP.\n- Remote username.\n- Repo URL and desired remote path.\n- Whether the repo is public or private.\n- Which GitHub access path they want: GitHub CLI login, SSH key on their GitHub\n  account, read-only deploy key, or no GitHub setup yet.\n- Whether they have local-only config files such as `.env`, ignored config,\n  MCP files, package registry auth, or provider credentials that the VPS needs.\n- Stack commands if they are not obvious from the repo.\n- Whether Codex should only audit or may bootstrap missing tools over SSH.\n- Whether the operator wants setup, audit, troubleshooting, or public post-ready\n  instructions.\n\nIf the user already gave enough, proceed without more questions.\n\n## Setup Workflow\n\n### 1. Host And Security Preflight\n\nTreat this as a development host, not production.\n\n- Use a non-root Linux user for daily work.\n- If the first login is `root`, use it only for bootstrap and move the Codex\n  SSH alias to a non-root user before day-to-day work.\n- Use SSH keys, not passwords.\n- Keep GitHub as source of truth for code.\n- Keep production deploy targets separate and protected.\n- Do not expose dev servers, Codex app-server, Docker sockets, databases, or\n  private dashboards to the public internet.\n- Prefer SSH port forwarding for local browser testing.\n- On headless Linux VPS hosts, do not promise Browser or Computer Use unless a\n  supported browser\u002Fdesktop stack is explicitly installed and verified. Prefer\n  running the server on the VPS and inspecting it through a local SSH tunnel.\n- Never print, paste, or commit `~\u002F.codex\u002Fauth.json`, API keys, deploy keys,\n  SSH private keys, or provider tokens.\n\n### 2. Mac SSH Config\n\nCreate or provide a concrete SSH alias on the Mac that runs Codex App. Do not\nedit `~\u002F.ssh\u002Fconfig` silently; show the snippet and ask before writing unless\nthe user already asked Codex to make the edit.\n\n```sshconfig\nHost krypton-vps\n  HostName 203.0.113.10\n  User dev\n  IdentityFile ~\u002F.ssh\u002Fid_ed25519\n  IdentitiesOnly yes\n  ServerAliveInterval 30\n  ServerAliveCountMax 3\n```\n\nVerify from the Mac:\n\n```bash\nssh krypton-vps\n```\n\n### 3. VPS Tooling\n\nOn the VPS, install the repo's real toolchain. For a typical Ubuntu 24.04 agent\nbox this means:\n\n- `git`\n- `gh`\n- `curl`\n- `jq`\n- `python3`\n- `ripgrep` (`rg`)\n- `build-essential`\n- `tmux`\n- `unzip`\n- `cmux` when the workflow uses it\n- `node`\n- `corepack`\n- `pnpm`\n- Docker and Compose when the repo needs containers\n- Codex CLI, installed through the current official path\n- Claude Code only if the operator uses it and has its auth flow ready\n\nDo not guess a repo's install commands. Read `README.md`, package manager files,\nand repo docs first.\n\n### 4. Codex On The VPS\n\nThe remote shell must find `codex`:\n\n```bash\ncommand -v codex\ncodex --version\n```\n\nFor headless login, prefer:\n\n```bash\ncodex login --device-auth\n```\n\nIf device auth is unavailable, use the official fallback options. If copying\n`~\u002F.codex\u002Fauth.json`, treat it like a password and never expose its contents.\n\nFor troubleshooting, use `codex doctor` on the VPS. Do not manually expose\n`codex app-server` for a normal Codex App SSH project; the app starts the remote\napp server over SSH.\n\n### 5. Repo And Project\n\nBefore copying code, ask:\n\n```text\nDo you want GitHub to be the source of truth for this VPS checkout? That is the\nrecommended path. It keeps code transfer clean, repeatable, and reviewable.\n```\n\nIf yes, ask which GitHub access method the operator wants:\n\n- GitHub CLI login on the VPS: best when the user wants normal development,\n  private repo access, issues, PRs, and pushes from the VPS.\n- SSH key on the user's GitHub account: good when the VPS should behave like one\n  of the user's dev machines. This key can access every repo that account can\n  access, so do not use it casually on shared hosts.\n- Read-only deploy key: best for cloning one private repo with least privilege.\n  It is not enough if Codex needs to push branches back to GitHub.\n- Public HTTPS clone: fine for public repos or read-only public examples.\n- `rsync`\u002Farchive from the Mac: fallback for code not in GitHub; do not present\n  this as the default for active codebases.\n\nNever ask the user to paste a GitHub token into the chat or put a token in a Git\nremote URL. If token auth is unavoidable, use the official GitHub CLI or\nprovider flow and avoid printing the token.\n\nFor private repos with GitHub CLI:\n\n```bash\nssh krypton-vps\ngh auth login\ngh auth status\ngh repo clone ORG\u002FREPO ~\u002Fsrc\u002FREPO\n```\n\nFor SSH Git access:\n\n```bash\nssh krypton-vps\nssh-keygen -t ed25519 -C \"krypton-vps\" -f ~\u002F.ssh\u002Fgithub-krypton-vps\ncat ~\u002F.ssh\u002Fgithub-krypton-vps.pub\n```\n\nThe operator adds the printed public key to GitHub. Then verify and clone:\n\n```bash\nssh -T git@github.com\nmkdir -p ~\u002Fsrc\ngit clone git@github.com:ORG\u002FREPO.git ~\u002Fsrc\u002FREPO\ncd ~\u002Fsrc\u002FREPO\n```\n\nFor a read-only deploy key, add the public key under the single GitHub repo's\nDeploy keys with write access disabled. Use this only when the VPS needs to\nclone or pull, not push.\n\nAfter clone, set the normal project path:\n\n```bash\nmkdir -p ~\u002Fsrc\ngit clone git@github.com:ORG\u002FREPO.git ~\u002Fsrc\u002FREPO\ncd ~\u002Fsrc\u002FREPO\n```\n\nInstall dependencies using the repo's own commands. If the repo uses checked-in\nskills, hooks, MCP config, or local environment actions, keep them in the repo\nso Codex App sees the same project guidance remotely.\n\n### 6. Local Config And Secrets\n\nTreat code and local configuration as separate moves.\n\nAsk before touching local config:\n\n```text\nDo you want to recreate local config on the VPS from examples, copy selected\nignored files from this machine, or skip local config for now?\n```\n\nRecommended order:\n\n1. Recreate from checked-in examples such as `.env.example`, README setup, or\n   project docs.\n2. Copy selected ignored files only when the operator confirms the exact files.\n3. Skip secrets until the repo can boot far enough to show what is missing.\n\nSafe copy pattern for selected local files:\n\n```bash\nrsync -av --chmod=F600,D700 .env.local krypton-vps:~\u002Fsrc\u002FREPO\u002F.env.local\n```\n\nDo not bulk-copy the whole home directory, `.ssh`, `.codex`, browser profiles,\nnode_modules, build outputs, caches, or private key files. Do not commit copied\nlocal config. After copying, verify permissions and keep secrets out of terminal\nsummaries.\n\nOptional stronger CLI proof before the app UI:\n\n```bash\nssh krypton-vps 'cd ~\u002Fsrc\u002FREPO && codex exec --ephemeral --sandbox read-only -C \"$PWD\" \"Run pwd, hostname, whoami, command -v codex, codex --version, git status --short, and do not modify files.\"'\n```\n\nThis proves the remote Codex CLI can complete a read-only turn. It does not\nreplace the final Codex App remote-thread proof.\n\n### 7. Codex App Connection\n\nIn Codex App on the Mac:\n\n1. Open Settings.\n2. Open Connections.\n3. Add or enable the SSH host alias.\n4. Choose the remote project folder, for example `~\u002Fsrc\u002FREPO`.\n5. Start a remote project thread.\n\nThis is a user-operated app step unless the current Codex session has explicit\ndesktop\u002Fapp-control tools and the operator asks to use them. Do not pretend SSH\nalone completes the Codex App connection.\n\nProof prompt for the first remote thread:\n\n```text\nRun pwd, hostname, command -v codex, codex --version, git status --short, and\ndo not modify files.\n```\n\nThe result should show the VPS hostname, the remote repo path, a working Codex\nbinary, and a clean or understood Git state.\n\n### 8. Port Forwarding\n\nUse SSH forwarding for local browser proof:\n\n```bash\nssh -L 3000:127.0.0.1:3000 krypton-vps\n```\n\nRun the dev server on the VPS bound to localhost or the documented dev-host\naddress. Browse from the Mac at `http:\u002F\u002F127.0.0.1:3000`.\n\n### 9. cmux And tmux\n\nUse tmux for persistence and cmux for managing multiple agent sessions when the\noperator wants that workflow:\n\n```bash\ntmux new -s krypton\n```\n\nKeep the rule simple: Mac displays, VPS works, GitHub stores source, production\nstays separate.\n\n## Audit Script\n\nWhen an SSH alias exists, run:\n\n```bash\n.codex\u002Fskills\u002Fkrypton\u002Fkrypton-vps-codex-app\u002Fscripts\u002Faudit-vps-codex-app.sh \\\n  --host krypton-vps \\\n  --repo-url git@github.com:ORG\u002FREPO.git \\\n  --repo-path ~\u002Fsrc\u002FREPO\n```\n\nThe script is read-only. It checks SSH reachability, Linux\u002FUbuntu details,\nrequired command availability, whether `codex` is on the login-shell `PATH`,\nbasic auth-cache presence without printing secrets, GitHub repo reachability\nwhen `--repo-url` is supplied, Git repo state, root-user risk, and common\nagent-workflow tools. It does not prove the Codex App UI connection by itself;\nfinish with a real remote project thread.\n\n## Troubleshooting Rules\n\n- If Codex App cannot find the host, inspect `~\u002F.ssh\u002Fconfig` on the Mac and\n  confirm `ssh \u003Calias>` works outside the app.\n- If Codex App connects but remote threads fail immediately, check that `codex`\n  is installed and visible in the remote login shell.\n- If the CLI smoke passes but the app fails, inspect Codex App Settings >\n  Connections and run `codex doctor` on the VPS.\n- If browser login fails on the headless VPS, use device auth or an SSH\n  localhost callback tunnel.\n- If private GitHub clone fails, decide whether the user wants `gh auth login`,\n  a GitHub account SSH key, or a single-repo deploy key. Do not switch methods\n  without asking.\n- If the repo boots but config is missing, recreate from examples first, then\n  ask before copying any ignored local files.\n- If dev server preview fails, first prove the server is listening on the VPS,\n  then prove the SSH tunnel maps the right remote port to the right local port.\n- If tests are slow or memory-heavy, confirm the VPS size and swap before\n  blaming Codex.\n- If credentials are missing, install or authenticate them on the VPS. The Mac's\n  local credentials do not automatically become remote credentials.\n\n## Reference\n\nRead `references\u002Fsetup-runbook.md` when the user needs complete copy\u002Fpaste setup\nsteps, a public-post checklist, or deeper troubleshooting.\n",{"name":5,"description":7},"main","2b63f856ce19c2a797929cacabd9e0fc936812fa","plugins\u002Fjturntdev\u002Fkrypton\u002Fskills\u002Fkrypton-vps-codex-app",490,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins","https:\u002F\u002Fhol.org\u002Fplugins\u002Fbest-codex-plugins","https:\u002F\u002Fgithub.com\u002Fhashgraph-online","https:\u002F\u002Fhol.org","Open-source standards and developer tools for interoperable AI agents: discovery, identity, communication, payments, privacy and security.","2026-11-14 02:12:02",{"source":8,"skillName":5,"commands":61,"prompt":71,"zipAvailable":72},[62,65,68],{"tool":63,"command":64},"npx","npx skills add hashgraph-online\u002Fawesome-codex-plugins --skill krypton-vps-codex-app",{"tool":66,"command":67},"bunx","bunx skills add hashgraph-online\u002Fawesome-codex-plugins --skill krypton-vps-codex-app",{"tool":69,"command":70},"pnpm","pnpm dlx skills add hashgraph-online\u002Fawesome-codex-plugins --skill krypton-vps-codex-app","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fjturntdev\u002Fkrypton\u002Fskills\u002Fkrypton-vps-codex-app\u002FSKILL.md",true,[74,80,84],{"path":75,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":78,"sourceHtmlUrl":79},"agents\u002Fopenai.yaml","REFERENCE","参考文档",274,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fjturntdev\u002Fkrypton\u002Fskills\u002Fkrypton-vps-codex-app\u002Fagents\u002Fopenai.yaml",{"path":81,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":82,"sourceHtmlUrl":83},"references\u002Fsetup-runbook.md",11045,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fjturntdev\u002Fkrypton\u002Fskills\u002Fkrypton-vps-codex-app\u002Freferences\u002Fsetup-runbook.md",{"path":85,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":88,"sourceHtmlUrl":89},"scripts\u002Faudit-vps-codex-app.sh","SCRIPT","脚本",6811,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fjturntdev\u002Fkrypton\u002Fskills\u002Fkrypton-vps-codex-app\u002Fscripts\u002Faudit-vps-codex-app.sh",[91,99,106,113,139,164],{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":97,"publishedAt":98},"01M746ZWACVKMZ1BJXJZHYJSSX","migrate-to-e2e","Moves an existing Playwright, Cypress, Selenium, Appium, Detox, Maestro, or TesterArmy suite to e2e one slice at a time, with the old suite running beside the new one until each ported test is proven. Keeps a MIGRATION.md progress file so any later session resumes where the last stopped. Optionally plants a defect to show both suites catch it. Use for \u002Fmigrate-to-e2e, \"migrate our tests to e2e\", \"port these Maestro flows\", \"move our TesterArmy tests\", or when a project has an e2e config and an older suite still running.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Ftester-army\u002Fe2e\u002Fskills\u002Fmigrate-to-e2e\u002FSKILL.md",[],[],"2026-11-11 15:11:14",{"skillNo":100,"name":101,"nameZh":6,"description":102,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":103,"categories":104,"keywords":105,"publishedAt":98},"01M746ZPTAX1Q0FBKAB1CYND7E","e2e","Writes, runs, and debugs end-to-end tests for web and mobile apps with e2e, the agentic test runner, which mixes agent.act goals with exact locator assertions on a Playwright browser or an iOS or Android device. Also drives a project's running app live over the e2e MCP server to look at a screen, check a UI change, take a screenshot or record a video, and try a locator; and runs bug bashes, parallel e2e explore runs with each bug proven by a repro test. Use when a project depends on e2e or has an e2e.config.ts, when asked for end-to-end, browser, mobile, or agentic UI tests, to check a change in the running app, to QA or bug bash an app or branch, or when an e2e run fails.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Ftester-army\u002Fe2e\u002Fskills\u002Fe2e\u002FSKILL.md",[],[],{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":112,"publishedAt":98},"01M746ZJN784HVHMDP9MQGCSGG","create-verification-skill","Generate a project-local verify-\u003Capp> skill on top of e2e, so any coding agent can launch the app, check it is worth driving, exercise a feature the way a user does, keep evidence, and bug bash it. Writes the skill, a feature map with one explore charter per feature, and proves it once. Use for \u002Fcreate-verification-skill, \"make a verification skill for this repo\", or when a project has no scripted way to prove UI behavior.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Ftester-army\u002Fe2e\u002Fskills\u002Fcreate-verification-skill\u002FSKILL.md",[],[],{"skillNo":114,"name":115,"nameZh":6,"description":116,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":119,"publishedAt":45},"01M716A6ETNB9B1SQ3GXZC75VR","deja-search","deja-vu memory — search the user's past AI coding sessions with the deja CLI. Holds what they already settled and never wrote into the repo (naming rules, banned or already-tried tools, required checks before merge, preferred values, who owns what). Use before your first edit in a task, before you call a change done or ready to merge, before you recommend a tool, library, design or reviewer, before re-debugging an error that may already be solved, when they say 'didn't we fix this before', 'what did we decide about X' or 'I already have that', and before telling them something on this machine does not exist.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvshulcz\u002Fdeja-vu\u002Fskills\u002Fdeja-search\u002FSKILL.md",[],[120,121,122,123,124,125,126,127,128,129,130,28,131,132,133,134,135,136,137,138],"search","deja search","never","error","ready","memory","re","decide","fix","design","debugging","you","done","reviewer","io","change","cli","merge","past",{"skillNo":140,"name":141,"nameZh":6,"description":142,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":143,"categories":144,"keywords":145,"publishedAt":45},"01M716A3J2W5SENSE9VGMXB375","deja-reflect","End-of-session reflection and memory curation with deja-vu. Review what was decided, what commands broke and what repaired them, and record durable project rules or decisions with deja remember so the next session starts with them.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvshulcz\u002Fdeja-vu\u002Fskills\u002Fdeja-reflect\u002FSKILL.md",[],[146,147,148,134,149,150,151,152,153,154,155,156,157,158,125,159,160,161,162,163],"deja reflect","reflect","review","with","record","github","next","https","node","Rules","decisions","brew","remember","project rules","project","session","end","reflection",{"skillNo":165,"name":166,"nameZh":6,"description":167,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":168,"categories":169,"keywords":177,"publishedAt":45},"01M715T3RR4BAYSR57HPPTJ0PF","revid","Make, edit, export and post AI videos with Revid (revid.ai) through the Revid MCP server. Use whenever the user wants a short-form or long-form video made (from an idea, a script, a URL, an article, a PDF, a tweet, a product page, their own clips, or a song), wants to find what is going viral on TikTok, YouTube, Instagram or X before making something, wants to edit or re-export an existing Revid project, generate a standalone AI image or clip, make a series episode, or publish and schedule a finished video to connected social accounts. Covers setup (hosted MCP with OAuth, or an API key), the 36 tools, credits, polling and the rules for publishing. Routes to the more specific revid-* skills when one fits.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Ftmakersas\u002Frevid-skills\u002Fskills\u002Frevid\u002FSKILL.md",[170,173,174],{"categoryNo":171,"categoryName":172,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":175,"categoryName":176,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",[166,178,179,180,181,182,183,160,184,126,185,186,187,188,28,189,190,191,192,193],"URL","Video","short-form","standalone","PDF","viral","tiktok","short","social","MCP","song","image","mcp server","schedule","api","publish"]