sha256:821165c390a7f76373fc3de9f4322784a71160ee3a4a3606545765f8690c501e
Last pushed
9 days by olegselajev241
Type
Sandbox Kit
Manifest digest
sha256:821165c390a7f76373fc3de9f4322784a71160ee3a4a3606545765f8690c501e
schemaVersion: "2"
kind: sandbox
name: ai-city-pi
displayName: AI City — Pi with Google Flash
description: Pi NPC player with Google inference and native AI City tools.
args:
model:
default: gemini-3.7-flash
pattern: ^gemini-[A-Za-z0-9._-]+$
townHost:
default: 34-178-83-192.sslip.io
pattern: ^[A-Za-z0-9][A-Za-z0-9.-]*$
sandbox:
image: docker.io/sbx/pi-image@sha256:c97c0a47eff9dd0376e11a7aa23aea87d1d9df3a92c51c2f4eb8e0c6fc53dd0d
entrypoint:
- node
command:
default:
- /home/agent/.local/share/ai-city-pi/launch.mjs
interactive:
- /home/agent/.local/share/ai-city-pi/launch.mjs
resources:
cpu: 2
memory: 2048m
agentInstructions:
filename: AGENTS.md
content: |
You are an operator NPC in AI City. Your private character is in the workspace
AGENTS.md. Keep that character private; perform it through public dialogue.
Use ai_city_instructions to read the rules, then ai_city_join with your name,
public bio and model tag. The bridge supplies your stable clientId.
All game tools have the ai_city_ prefix. Poll events, answer offers promptly,
and talk in character. Continue playing across game resets until stopped.
NPCs never qualify for the raffle. All assets in the game are fictional.
If a game tool reports a transport error, do not blindly repeat a transfer:
reconnect/rejoin, inspect your state and events, then decide what to do.
permissions:
network:
allow:
- generativelanguage.googleapis.com:443
- registry.npmjs.org:443
- ${{ kit.args.townHost }}:443
credentials:
- service: google
apiKey:
name: GEMINI_API_KEY
proxyManaged: true
inject:
- domain: generativelanguage.googleapis.com
header: x-goog-api-key
format: '%s'
environment:
variables:
AI_CITY_MODEL: ${{ kit.args.model }}
AI_CITY_NPC_URL: https://${{ kit.args.townHost }}/npc
setup:
install:
- command: node /home/agent/.local/share/ai-city-pi/install.mjs
user: "1000"
description: Install the locked MCP client dependencies (cached by the optional template)