Get started

Let your agent do the setup. You handle the phone.

Dudan talks to a Hermes Agent that runs on your own machine. That agent needs a few services for chat, file uploads and phone control, and another agent can install and check all of them. You paste two prompts and finish on your phone.

If you're doing the setup

One prompt for each step. Your agent does what it can by itself and stops to ask when it needs a sign-in or a choice from you.

  1. Get a Hermes agent

    Skip this if you already chat with Hermes. Otherwise ask a coding agent such as Codex to install Hermes on a PC that stays on, or on a virtual machine. You can also deploy a hosted agent with Hermes Cloud.

    For a PC or virtual machine, paste this prompt into your coding agent:

    Prompt for your coding agent

    Install and configure Hermes Agent on this machine using the official installation guide at https://hermes-agent.nousresearch.com/docs/getting-started/installation/. Set it up to keep running when I close this session and to start again after a reboot. Help me connect my chosen model provider, and verify that Hermes can receive a message and reply. Complete the setup you can handle yourself, and guide me through any sign-in or choices that need my input.

    When you can chat with Hermes, move on to step 2.

  2. Ask Hermes to connect to your phone

    Paste this prompt into a conversation with your Hermes agent:

    Prompt for your Hermes agent

    I want to chat with you on my Android phone using Dudan, send you files, and let you use Dudan's phone-control tools. Download and install the complete dudan-hermes skill from https://github.com/MajesteitBart/dudan/tree/main/skills/dudan-hermes, including its references and scripts, into this Hermes profile's skills directory. Read the skill and follow it to prepare this host for Dudan. Configure and verify the API server, file-upload service and phone-control bridge, using Tailscale for private connectivity. Keep my existing settings and credentials, and keep secrets out of chat. Do everything you can on the host, then walk me through installing Dudan and the remaining phone setup one step at a time. Finish by helping me test a chat reply, a file upload and phone control. If this host cannot support a required step, explain what is missing and help me resolve it.

    Hermes downloads and installs the skill for you. It keeps your existing settings and credentials.

  3. Finish on your phone

    Hermes walks you through installing Dudan and the rest of the phone setup, one step at a time. It ends by testing a chat reply, a file upload and phone control with you.

    Android 12 or later, 64‑bit ARM.

Or install the skill yourself

The agent route needs nothing from you but the prompts. This one is for when you'd rather copy the files.

Clone or download the repository, then copy skills/dudan-hermes/ into your agent's skills directory. Or run the Python 3 installer from the repository root with an explicit destination.

# Hermes on Linux or macOS, default data home
python skills/dudan-hermes/scripts/install.py --skills-dir ~/.hermes/skills

# Any agent with a configured skills directory
python skills/dudan-hermes/scripts/install.py --skills-dir /path/to/agent/skills

On Windows, in PowerShell:

# Hermes on native Windows, default data home
python skills/dudan-hermes/scripts/install.py --skills-dir "$env:LOCALAPPDATA\hermes\skills"

# Codex, project-local
python skills/dudan-hermes/scripts/install.py --skills-dir .agents/skills

If HERMES_HOME or a profile moves the default, use the active profile's directory. For a global Codex install, use $CODEX_HOME/skills when it's set, otherwise ~/.codex/skills. Other agents have their own skills location. The installer copies the whole skill, needs no Python packages and refuses to overwrite an existing installation. To update, review the changed files and replace the installed directory on purpose.

Start a new session, then run /dudan-hermes in Hermes or $dudan-hermes in Codex. An agent without skill discovery can read SKILL.md and follow its links.

Installing the skill only copies instructions. Installing Hermes, deploying the services and installing the APK are separate jobs. Try: "Use dudan-hermes to connect my existing Hermes host to dudan, including uploads and phone control."

If you're an agent

Someone sent you here to set up Dudan. This is the short version of the dudan-hermes skill. The skill has the detail.

  1. Get the skill

    Copy the whole dudan-hermes directory into the skills directory of the active Hermes profile, or of your own runtime. Keep references/, scripts/ and agents/. Without skill discovery, read SKILL.md directly and follow its links.

  2. Map the machines

    The build machine, the Hermes host and the Android phone can be three different machines. Reuse what's already installed. Find the service account, the active profile or data directory, the launcher and the service manager before you change anything.

  3. Read the references you need

    There are three: installing Hermes, connecting chat, uploads and phone control, and building and installing the app. Check commands against the installed CLI's --help when versions differ.

  4. Test from the phone's network path

    A running process isn't a tested connection. Send a real text turn from Dudan and confirm the reply. If the user wants uploads, send a small disposable file and have Hermes read it. If they want phone control, call phone_status through Hermes.

  5. Report what you did

    Give the APK location or installed package, the endpoints and features you tested, the services now running, and any phone settings the user still has to change.

Connection map

CapabilityEndpointAuthentication
Chat and agent turnsHermes host, port 8642Hermes API_SERVER_KEY
Non-image attachmentsUpload service on the Hermes host, port 8645The same API_SERVER_KEY
Agent controls the phoneThe phone, 8643/mcp, through a local stdio bridgeA separate DUDAN_PHONE_TOKEN

Ground rules

Keep all three services inside the tailnet. The Hermes key allows agent turns with terminal access. Keep secrets out of committed files, logs, chat messages and your final report. Preserve the user's existing configuration, credentials, chats, uploads and downloaded models. Uploads and phone control are optional, so a missing one isn't a chat failure.

This page follows skills/README.md and the skill in the repository. If they disagree with this page, they win.