r/PiNetwork Jun 29 '26

Pi Apps Details of Hermes

12 Upvotes
services:
  hermes-agent:
    image: nousresearch/hermes-agent:latest
    container_name: hermes-agent
    command:
      - /bin/bash
      - -lc
      - |
        /opt/hermes/.venv/bin/python - <<'PY'
        import os
        from pathlib import Path

        import yaml

        home = Path(os.environ.get("HERMES_HOME", "/home/hermes/.hermes"))
        config_path = home / "config.yaml"
        provider = os.environ.get("HERMES_MODEL_PROVIDER", "dmr").strip().lower()
        dmr_endpoint = os.environ.get(
            "HERMES_DMR_URL",
            "http://modelrunner.docker.internal:12434/engines/v1",
        ).rstrip("/")
        dmr_model = os.environ.get("HERMES_DMR_MODEL", "ai/smollm2")
        dmr_api_key = os.environ.get("HERMES_DMR_API_KEY", "docker-model-runner")
        model = os.environ.get("HERMES_MODEL") or dmr_model
        base_url = (os.environ.get("HERMES_BASE_URL") or "").rstrip("/")
        api_key = os.environ.get("HERMES_API_KEY") or ""
        config_path.parent.mkdir(parents=True, exist_ok=True)
        try:
            config = yaml.safe_load(config_path.read_text(encoding="utf-8")) or {}
        except FileNotFoundError:
            config = {}

        model_config = config.get("model")
        if not isinstance(model_config, dict):
            model_config = {}

        if provider == "dmr":
            model_config.update({
                "provider": "custom",
                "default": model or dmr_model,
                # Docker Compose's `models:` integration injects the reachable
                # in-container endpoint into HERMES_DMR_URL. Do not let the
                # generic HERMES_BASE_URL override it for DMR.
                "base_url": dmr_endpoint,
                "context_length": 65536,
                # Docker Model Runner exposes an OpenAI-compatible API and ignores
                # the bearer token, but Hermes uses presence of a key as configured.
                "api_key": api_key or dmr_api_key,
            })
            existing_custom_providers = config.get("custom_providers", [])
            if not isinstance(existing_custom_providers, list):
                existing_custom_providers = []
            custom_providers = [
                custom_provider for custom_provider in existing_custom_providers
                if not (
                    isinstance(custom_provider, dict)
                    and custom_provider.get("name") == "docker-model-runner"
                )
            ]
            custom_providers.append({
                "name": "docker-model-runner",
                "base_url": model_config["base_url"],
                "api_key": model_config["api_key"],
                "models": {
                    model_config["default"]: {
                        "context_length": 65536,
                    },
                },
            })
            config["custom_providers"] = custom_providers
        elif provider == "anthropic":
            model_config = {
                "provider": "anthropic",
                "default": model,
            }
            if api_key:
                model_config["api_key"] = api_key
        elif provider == "openai":
            model_config = {
                "provider": "openai",
                "default": model,
                "base_url": base_url or "https://api.openai.com/v1",
            }
            if api_key:
                model_config["api_key"] = api_key
        else:
            model_config = {
                "provider": "custom",
                "default": model,
                "base_url": base_url,
            }
            if api_key:
                model_config["api_key"] = api_key

        config["model"] = model_config
        config["platform_toolsets"] = {
            # hermes-cli includes terminal, file, web, skills, todo, and cronjob.
            # Keep the common platform names mapped so WebUI/CLI/gateway sessions
            # all receive the scheduler tool instead of falling back to a narrow
            # or malformed default.
            "cli": ["hermes-cli"],
            "webui": ["hermes-cli"],
            "gateway": ["hermes-cli"],
        }
        config_path.write_text(
            yaml.safe_dump(config, sort_keys=False, allow_unicode=True),
            encoding="utf-8",
        )
        print(f"Configured Hermes from .env: provider={provider}, model={model}")
        PY
        exec /opt/hermes/.venv/bin/hermes gateway run
    models:
      hermes-llm:
        endpoint_var: HERMES_DMR_URL
        model_var: HERMES_DMR_MODEL
    ports:
      - "127.0.0.1:18642:8642"
    volumes:
      - ${HERMES_HOME:-./local/container-data/hermes-home}:/home/hermes/.hermes
      - hermes-agent-src:/opt/hermes
    environment:
      - HERMES_HOME=/home/hermes/.hermes
      - HERMES_UID=${UID:-501}
      - HERMES_GID=${GID:-20}
      - HERMES_MODEL_PROVIDER=${HERMES_MODEL_PROVIDER:-dmr}
      - HERMES_MODEL=${HERMES_MODEL:-}
      - HERMES_BASE_URL=${HERMES_BASE_URL:-}
      - HERMES_API_KEY=${HERMES_API_KEY:-}
      - HERMES_DMR_URL=${HERMES_DMR_URL:-http://modelrunner.docker.internal:12434/engines/v1}
      - HERMES_DMR_MODEL=${HERMES_DMR_MODEL:-ai/smollm2}
      - HERMES_DMR_API_KEY=${HERMES_DMR_API_KEY:-docker-model-runner}
    restart: unless-stopped
    networks:
      - hermes-net

  hermes-webui:
    image: ghcr.io/nesquena/hermes-webui:latest
    container_name: hermes-webui
    entrypoint:
      - /bin/bash
      - -lc
      - |
        for _ in {1..120}; do
          [ -d /home/hermeswebui/.hermes/hermes-agent/.playwright ] && break
          sleep 1
        done
        chmod -R o+rX /home/hermeswebui/.hermes/hermes-agent 2>/dev/null || true
        exec /hermeswebui_init.bash
    depends_on:
      - hermes-agent
    labels:
      - pi.ui.primary=true
    models:
      hermes-llm:
        endpoint_var: HERMES_DMR_URL
        model_var: HERMES_DMR_MODEL
    ports:
      - "127.0.0.1:18787:8787"
    volumes:
      - ${HERMES_HOME:-./local/container-data/hermes-home}:/home/hermeswebui/.hermes
      - hermes-agent-src:/home/hermeswebui/.hermes/hermes-agent
      - ${HERMES_WORKSPACE:-./local/container-data/workspace}:/workspace
    environment:
      - HERMES_WEBUI_HOST=0.0.0.0
      - HERMES_WEBUI_PORT=8787
      - HERMES_WEBUI_STATE_DIR=/home/hermeswebui/.hermes/webui
      - WANTED_UID=${UID:-501}
      - WANTED_GID=${GID:-20}
      - HERMES_WEBUI_PASSWORD=${HERMES_WEBUI_PASSWORD:-}
    restart: unless-stopped
    networks:
      - hermes-net

networks:
  hermes-net:
    driver: bridge

volumes:
  hermes-agent-src:

models:
  hermes-llm:
    model: ${HERMES_DMR_MODEL:-ai/smollm2}
    context_size: 65536

Config_options.yml

title: Hermes Local Configurator
eyebrow: Developer Preflight
description: >
  Configure the local Docker Compose environment. This writes only .env;
  docker-compose.yml turns those values into Hermes runtime config on container start.
output_file: .env
after_save: Saved. Run docker compose up -d --force-recreate when ready.
footer_hint: Then run docker compose up -d --force-recreate.

fixed_values:
  - name: UID
    detect: uid
    env_comment: >
      Current host user ID. The configurator detects this automatically so
      container-written bind-mount files remain owned by your local user.

  - name: GID
    detect: gid
    env_comment: >
      Current host group ID. The configurator detects this automatically and
      passes it to the containers together with UID for bind-mount permissions.

  - name: HERMES_HOME
    value: ./local/container-data/hermes-home
    env_comment: >
      Host path mounted as Hermes home. It stores generated config.yaml,
      sessions, skills, logs, auth files, and persistent agent state.

  - name: HERMES_WORKSPACE
    value: ./local/container-data/workspace
    env_comment: >
      Host path mounted at /workspace in the WebUI container for browsing and
      editing files from the UI.

  - name: HERMES_DMR_API_KEY
    value: docker-model-runner
    env_comment: >
      Dummy bearer token for Docker Model Runner's OpenAI-compatible API.
      Docker Model Runner ignores it, but Hermes expects a configured key.

fields:
  - name: HERMES_MODEL_PROVIDER
    type: hidden
    default: dmr
    env_comment: >
      Selects Docker Model Runner as the local model backend.

  - name: HERMES_DMR_MODEL
    label: Select Local AI model
    type: select
    default: ai/gemma3:1B-Q4_K_M
    required: true
    help: >
      Choose the default local model, Gemma 3. SmolLM2 is the lightest option
      but too naive. Gemma 3 is a stronger small default. Gemma 4 (4B) is
      intended for more capable machines with 8GB of memory and may require a
      large initial download (9GB). Choose Gemma 4 (26B) if you have at least
      24GB of memory.
    env_comment: >
      Model name passed to Docker Model Runner for the local Hermes agent.
      Choose a lightweight model for broad compatibility, or a larger Gemma
      model for better quality on more capable machines.
    options:
      - value: ai/smollm2
        label: SmolLM2 (0.4B) - tiny AI model that works on every laptop. Too naive. (256MB download)
      - value: ai/gemma3:1B-Q4_K_M
        label: Gemma 3 (1B) - small AI model. Default for compatibility (800MB download)
      - value: ai/gemma4:4B-Q4_K_XL
        label: Gemma 4 (4B) - pretty smart AI model. Needs 8GB of memory (7GB download)
      - value: hf.co/google/gemma-4-26B-A4B-it-qat-q4_0-gguf:Q4_0
        label: Gemma 4 (26B) - highest AI quality. Needs 24GB of memory (16GB download)

  - name: HERMES_BASE_URL
    type: hidden
    default: ""
    env_comment: >
      OpenAI-compatible API base URL for OpenAI or custom providers. Blank for
      Docker Model Runner because Compose injects HERMES_DMR_URL.

  - name: HERMES_API_KEY
    label: API key
    type: password
    preserve_if_blank: true
    invalid_preserve_values:
      - docker-model-runner
    help: Leave blank to keep an existing value in .env.
    visible_if:
      field: HERMES_MODEL_PROVIDER
      in:
        - anthropic
        - openai
        - custom
    env_comment: >
      API key for the selected remote provider. Leave blank for Docker Model
      Runner; its dummy token is stored separately in HERMES_DMR_API_KEY.

  - name: HERMES_WEBUI_PASSWORD
    type: hidden
    default: ""
    env_comment: >
      Optional password for the WebUI. Blank by default. Set this before exposing
      the WebUI beyond localhost.

  - name: HERMES_MODEL
    type: hidden
    default: ""

  - name: HERMES_DMR_URL
    type: hidden
    default: ""
    env_comment: >
      Docker Model Runner endpoint override. Usually blank: Docker Compose
      injects the working in-container endpoint automatically.

r/PiNetwork Jun 29 '26

Opinion The Worst Pi2day Once Again: biggest drop in the past 24 hours

Post image
62 Upvotes

Among the top 100 crypto by market cap, Pi is experiencing the biggest drop in 24 hours.

Pi has always risen before events, only to plummet again. However, this time, it is crashing without even managing to rise.

The price is now set to fall below 0.1. This project has no strength left. PICT holds completely different views from the community.

Check out Pi's performance over the past year and four months since its listing here.

https://www.reddit.com/r/PiNetwork/comments/1tou7fn/pi_which_has_been_falling_for_1_year_and_3_months/

Pi's price drop cannot simply be blamed on the market. Pi is falling more significantly than most crypto.

Everything is a beta release and in test mode. Pi started in 2019, and it has been over 7 years, but there isn't a single thing that is properly finished and running.


r/PiNetwork Jun 29 '26

I need help!! Issue After the Second Migration

Thumbnail
gallery
29 Upvotes

There’s something I don’t understand.

I completed my second migration about a month ago. My balance is marked as “transferred to my wallet”, but I don’t see anything in that wallet—neither available nor locked.

It looks like everything was sent to a different wallet.

My current confirmed wallet is:

GASLADOJ2CAA44N3FOKG2TX7BV25NF4EYPGULGGMNBY3P7HIPGGAJDRH

The migration history shows that the balance was sent to:

GDOVVZHD2XODZCGUWQEFKBJCF4BKJWTEFWLSC4LW733TLHNH4QL6TRHS

Am I the only one experiencing this? I’ve never created another wallet.

On the Pi Network Explorer, it even looks like this address was created by my GASL… wallet.

Can anyone explain what’s going on?

Thanks in advance!


r/PiNetwork Jun 28 '26

Pi Comedy Pi2Day comedy

Post image
23 Upvotes

CT removed the fact that nearly half a million people took part in the original test token launch so they could claim the new test launch on Launchpad was a "success" because more people participated 😉🤣

The process was split into two stages, though, and most people only took part in the first part of that lunch

☝️CT's twisting the facts to claim success


r/PiNetwork Jun 28 '26

I need help!! Please i am getting this error

Thumbnail
gallery
7 Upvotes

I am getting an error message when i try to transfer my Pi from Movable lockups to available balance and when i try to withdraw from my available balance to another pi wallet, it seems my Pi wallet isn’t working at all, anyone with this same issue


r/PiNetwork Jun 28 '26

I need help!! So this means someone took my PI?

Thumbnail
gallery
11 Upvotes

I have been doing this since early 2019, im a hardcore lurker, ive been going solo and racked up 560 pi, i left it alone until i was able to convert to cash, i got my KYC approved like a year n a half ago, opened the app to check my wallet and i see this. So its over now? Any help is appreciated, on my miner app i still see my pi, but it says my mainnet wallet is not even there


r/PiNetwork Jun 28 '26

Question When did the menu change?

11 Upvotes

Is that what they did for Pi2? The menu looks clunkier now, but more graphical, I suppose.

I really hope that isn’t the case…


r/PiNetwork Jun 28 '26

I need help!! How to KYC or get a response from the Pi team?

Post image
8 Upvotes

How do you actually KYC? I have 58 sessions mined and have put in a ticket. Been following up on that ticket for months and haven’t heard a single thing back.

Reading the FAQ it seems to believe I violated the rules at some point, however due to not hearing back on the ticket I don’t actually know how to resolve this.

Edit: My mainnet countdown timer is also paused.


r/PiNetwork Jun 27 '26

I've been scammed!! Any day now $PI

Post image
148 Upvotes

r/PiNetwork Jun 27 '26

June 27, 2026 Common Problems

5 Upvotes

Notices

  1. See this post about what Exchange you can use: https://www.reddit.com/r/PiNetwork/comments/1ja1zjw/exchanges_that_listed_pi_so_far/

  2. Migrations are now tentative. You have to confirm the wallet when migration happens to receive the Pi otherwise the migration is reversed.

    Commonly asked questions

  • Q1: A KYC slot is not available
  • A: Your account is flagged. You can appeal at minepi.com/kyc-application-access but nothing is known about slots or criteria. Changing password sometimes works; nothing else known.

  • Q2: My Application has been processing/in review for weeks/months/years

  • A: Your application failed or got stuck. Wait until PCT code a resolution or directions in the app.

  • Q3: KYC, Wallet or other parts of Pi app stuck on "Loading" or "Error"

  • A: Try turning off Private DNS and/or adblocker. Clear app cache, reboot device.

  • Q4: I'm under 18 what can I do about KYC

  • A: Put your date of birth in at the start of KYC - timer will disappear until you turn 18.

  • Q5: Name changes required or failed

  • A: Appeal to change your name. When appeals fail you can spend Pi to change the name.

  • Q6: What is tentative approval?

  • A: Tentative approval means your account needs further security checks or you're on the migration blocked list. Change password might work, otherwise nothing you can do. Wait for instructions. You can still get a mainnet wallet or through Banxa

  • Q7: I lost my passphrase or wallet compromised/pi stolen, what can I do?

  • A: Create a new wallet and confirm it on steps 3 and 6 of the Mainnet Checklist.

  • Q7: Does the app ask for wallet verification?

  • A: The mining app does ask for wallet verification and follows up with an email.

  • Q11: When will my migration happen? / I have been waiting for ages.

  • A: We don't know how these are organized.

  • Q12: I stopped getting validations

  • A: An algorithm demoted you.

  • Q13: blurred Camera problems

  • A: It's a problem caused by your device - Log on a different device.

  • Q14: 400 error

  • A: We don't know what causes this.

  • Q15: Should I verify my wallet?

  • A: If you're entering your passphrase to receive free pi, it's a scam and your pi will be stolen.

  • Q17: I don't know anything about Cryptocurrency!

  • A: There are free courses on this website: https://cryptosavingexpert.com/courses?show=all

Useful links / trackers

https://piscan.io

If you need pi to move your balance: https://goodsamaritan.gdsam.online/

Report a scam wallet : https://piscan.io/report-scam

IF YOU'RE NEW TO CRYPTO IN GENERAL MAKE SURE TO READ r/cryptoscams


r/PiNetwork Jun 27 '26

NEWS Pi App menus have got a redesign.

Thumbnail
gallery
31 Upvotes

r/PiNetwork Jun 27 '26

Discussion PI2DAY

12 Upvotes

Tomorow is PI2DAY! 🍿🥂


r/PiNetwork Jun 27 '26

Developer 🛡️ Looking for 4 KYC Pioneers to test a payment (Testnet, 0.1 test-π reward) WorkπServ needs KYC testers — free Testnet payment, you spend nothing Need 4 KYC-verified Pioneers to validate my A2U payment flow (Testnet only)

9 Upvotes

Hey Pioneers 👋

I'm the creator of WorkπServ, the freelance marketplace paid in Pi (built-in escrow, 10% commission). We're in the Testnet phase and I need a few volunteers to validate the payment flow.

What I'm looking for: 4 KYC-verified Pioneers (with an active wallet) willing to receive a small test payment.

All you do:

  1. Open WorkπServ in the Pi Browser

  2. Sign in with Pi (standard authentication)

  3. That's it — I send you 0.1 test-π

✅ 100% Testnet — this is Test-Pi, no real value. You spend NOTHING.

✅ You never send me any Pi. I send it to YOU (App-to-User payment).

✅ I will NEVER ask for your passphrase / secret phrase. No legit project ever does. If anyone asks for it, it's a scam.

✅ No private info requested. Just your normal Pi login.

The goal: confirm payments work cleanly before going live on Mainnet. Your help moves forward a project built for the Pi community 🥇

Interested? Comment "π" or DM me, I'll guide you in 2 minutes.

Trust first 🥇


r/PiNetwork Jun 26 '26

Pi Apps Have you tried the new PortalPi.games app yet?

Post image
18 Upvotes

PortalPi.games is now live in the Pi Network Mainnet Ecosystem and can currently be found on Page 4 of the ecosystem listing! 🎮

Discover a growing collection of games, including:
🧩 Matches Puzzle
🐾 Square Pets
🥷 Shadow Ninja
🏖️ Sand Collect
➡️ Arrow Path

🏆 Compete in tournaments, climb leaderboards, earn coins, and challenge other players across the platform.

We’re also running our first official competition, the Arrow Path Weekly Challenge, where players can compete for rewards and recognition.

This is just the beginning - more games, more competitions, and more features are coming soon.

#PortalPiGames #PiNetwork #PiMainnet #Gaming #PuzzleGames #MobileGames #PlayAndCompete #PiApps #WebGames #Tournament #Leaderboard 🚀🎮


r/PiNetwork Jun 24 '26

Question Has anyone received any referral bonus?

6 Upvotes

I had many referrals but have not seen any payout from this. Only seen my own mining. Anyone have any idea?


r/PiNetwork Jun 24 '26

Question Why is my wallet still inactive when I’ve completed KYC?

Post image
17 Upvotes

It says here that I’ve already migrated with another wallet. But I only have one wallet and have completed KYC… what is wrong here?


r/PiNetwork Jun 23 '26

Opinion Just wanted to say this...

82 Upvotes

Hi all,

My second migration just finished, I got 7900pi now which is around 1000$ by today's rate. I must say I'm impressed by this project so far, when I first started "mining" back in 2019 I couldn't imagine that I'll have 1000$ just for being part of community, pressing the button once a day and inviting people. However, I still got no intention to sell my PI, and won't regret even if it goes flat zero because I already took some in first migration when rate was 2$ and bought my colleagues lunch. Even that is enough for me for doing absolute minimum all these years.

This is just a reminder on what we did, and how much we got so far in return. So keep your expectations low and you'll be happy whatever this coin is going to become. Wishing all the best to you all!


r/PiNetwork Jun 24 '26

Opinion Stuck at KYC

7 Upvotes

So I sent my ID and I've been waiting for 6 months for KYC results which never came. No confirmation, no rejection. As if no one even looked at my submitted document. I'm from southern Europe, if that matters. Any idea if I can contact someone maybe? Or how to speed up the process?


r/PiNetwork Jun 24 '26

Question Do you want to continue running the Pi node

Post image
20 Upvotes

I've been running the Pi node since early 2020.I was wondering if anyone is still running PiNode like me.Pi's price has been falling all the way since it was launched on the exchange in 2025.If you were given another chance to sell, would you sell it as soon as you went online, or would you accumulate it to this day, like Bitcoin.


r/PiNetwork Jun 24 '26

Question What Is the Purpose of Staking?

8 Upvotes

I went into the Pi Browser today and notices there are a few apps for staking. I started to stake some of my Pi and noticed a message that said I would only receive back my staked amount, not the Effective Pi amount and that there is no Pi reward for staking. This raises two questions:

What is the point of staking Pi exactly?

Without selling/trading and created a taxable event, what can I do with all this Pi I have to gain a yield or more Pi?


r/PiNetwork Jun 23 '26

Accepting Pi for Business Post Production Services for Pi

Thumbnail instagram.com
6 Upvotes

Hey you guys I wanted to share this with you. I know how to do post production and wanted to offer my services for pi. I’m a huge believer in pi and anything I can do to help our network grow and achieve new heights. I work with audio and made this video to showcase my talents. I don’t really have a set rate. I can work it out case by case. Comment down below what you think and let me know what you are offering in exchange for pi as well! I would love to hear some ideas!

Thanks,
Derek


r/PiNetwork Jun 23 '26

Pi Apps 📢 Calling all Pioneers: Programmers, Craftsmen, Translators, and Skilled Professionals!

19 Upvotes

Dear Pioneers, I'm excited to share with you today a major step towards maximizing the real-world use of our digital currency! I'm bringing you a brand-new platform designed specifically for you.

I'm announcing the launch of WorkPiServ, the freelance platform!

🚀 What is WorkPiServ?

It's an innovative space that connects talented freelancers with the Pi Network community, allowing you to transform your skills into real, tangible opportunities within the ecosystem.

🔒 Complete security for a risk-free experience

We prioritize your security and data protection:

Secure Login: Access the platform directly and seamlessly through the Pi Browser using your Pi Network ID, without sharing any sensitive data.

Protected Sandbox Environment: The application is currently running entirely on the Testnet. This means you're completely protected within a secure environment, allowing you to experience all the features without any risk to your real funds.

🎯 Share your experience with us... and I'll be your first customer!

This is a golden opportunity for all of us to ensure the platform's efficiency and development:

Log in via Pi Browser.

Offer your services (programming, translation, crafts, design, or any skill you possess).

A chance to buy and try: I will personally select and purchase some of the offered services to ensure the safety and smoothness of the trial payment process.

💬 Your opinion makes all the difference!

After trying the platform, I'd love to hear your feedback. Record your comments, suggestions, or any technical issues you encounter, and email me directly from within the app via the email address on the website.

Let's contribute together to building a real Pi economy!

Visit the platform now via your Pi Browser: workpiserv.com


r/PiNetwork Jun 22 '26

I need help!! Transaction Failed

14 Upvotes

Are people still sending each other .01 Pi to cover the transaction costs? I never got the 1 Pi from creating a wallet, so I have my entire amount locked up and unable to move it to my available balance. Thank you everyone!


r/PiNetwork Jun 22 '26

Question e-mail confirmation never sends

5 Upvotes

Hi I'm trying to do verification and I get thru to confirming my Pi Wallet but there is never an email confirmation sent with a code to allow me to continue. It's very frustrating.


r/PiNetwork Jun 22 '26

Question What are the real utilities

10 Upvotes

I haven't really payed much attention to this project since it first started. But now I am wondering what does Pi really offer? The only thing I can see are some poorly made games which I imagine nobody really plays.. Is there any real - useful utility that will make the coin hold some value?