docs/GETTING-STARTED.md
Bring your own RS-SDK and agent
The app is a localhost research service. It can run without a game login and without an AI account. Each installation starts with its own empty private state.
Install the source preview
Clone the community source preview from main:
| 1 | git clone https://git.cafe/rs-sdk/palanti-rs-sdk.git |
| 2 | cd palanti-rs-sdk |
| 3 | pnpm install --frozen-lockfile |
| 4 | pnpm run viewer:build |
| 5 | pnpm run check |
| 6 | python3 scripts/doctor.py |
| 7 | pnpm run start |
Open http://127.0.0.1:5197. Run commands from this package directory. Do not expose its port through a public tunnel. The doctor is offline and does not read credentials, log into agents or connect game accounts.
Use your Mac mini from another device
Run one service on the mini and open it from your laptop through a private SSH tunnel. Settings selects folders on the host, while each browser keeps its own camera layout. Follow the cross-device setup guide; a direct LAN URL does not work with the current loopback-only server.
What is included?
| Layer | Included or obtained during setup |
|---|---|
| Frontend | React 19, Frosted/Whop, Tailwind 4, motion, Recharts, OpenUI, local dither source |
| Agent plumbing | Mastra core/ACP/client/LibSQL/QuickJS, AI SDK, MCP SDK |
| Server | Bun code and its SQLite APIs; Python market worker uses the standard library |
| Browser automation | Playwright package; optional gameplay also needs a compatible Chromium installation |
| Viewer | Build script downloads a pinned upstream renderer, applies our maintained patch and downloads public cache files |
| Static inputs | Item catalog, death/mining/multi-combat definitions, sprites/atlas and source notices |
| You install separately | Git, Node, pnpm (packageManager version), Bun, Python 3; optional agent CLI/login, Tincan/Tailscale and Chromium |
| Never shipped | Your .env, login tokens, bot passwords, personal rosters, runtime databases, saved conversations or account grants |
Dependencies live in local node_modules; Git contains declarations and lockfiles. An installed package does not prove provider login, external network availability or gameplay compatibility. The viewer has its own upstream dependency tree; app advisory checks do not certify it. macOS is the validated platform; Windows and non-macOS scoped execution need acceptance work.
Add your players
Use the friendly identity guide. Open Settings to connect your RS-SDK folder and preview usernames from bots/*/bot.env. Alternatively set RS_SDK_ROOT as a startup fallback in an ignored .env. Passwords never enter the fleet projection.
Friendly, owned, online and controllable are different states. Manually classify ownership in Players & fleet / Teams & data when needed. Configuring an SDK directory does not start farming scripts or connect accounts. Public bank previews are partial and are not full private inventories.
Choose how your agent connects
| User workflow | Actual support |
|---|---|
| In-app research chat | Installed, signed-in Codex through app-server. Main chat is not currently a provider selector for Claude/Hermes. |
| Existing Codex/Claude/Hermes client | If the client supports MCP stdio, register bun with the absolute path to scripts/mcp.ts, connecting to the running local app. This is an external agent using the app's tools, not replacing in-app inference. |
| Coordinator Codex worker | Separate owned sessions; research, and scoped reads/edits after device certification. Tests have additional macOS confinement. |
| Claude/OpenCode or other ACP provider | Register an actual ACP-compatible executable/arguments in Assistant → Connections → Agents. A regular claude executable alone is not proof of ACP support. Currently research-only. |
| Hermes or other network agent | Register its actual A2A card/execution origin, or a configured Tincan profile and peer. Brand name alone does not identify a compatible endpoint. Currently research-only. |
| Tailscale | Optional private connectivity for peers; neither installed nor joined automatically. It is not an agent protocol. |
For an MCP-capable client, use its own configuration format with these values:
| 1 | { |
| 2 | "command": "bun", |
| 3 | "args": ["/absolute/path/to/palanti-rs-sdk/scripts/mcp.ts"], |
| 4 | "env": {"RS_WATCH_URL": "http://127.0.0.1:5197"} |
| 5 | } |
Do not put account credentials in that client config. Discover/inspect providers before drafting a job. Review each job plan; cancellation support varies by provider. See adapter contracts. Gameplay uses the separate Command enrollment/grant flow; research and tool registration do not authorize it.
Prompt for your coding agent
Read AGENTS.md, README.md and docs/GETTING-STARTED.md. Set up this standalone app on localhost using its locked dependencies and maintained viewer build. Run scripts/doctor.py. Help me select my own RS-SDK checkout in Settings. Keep credentials and runtime data local and ignored. Detect my installed agent client, explain which MCP/ACP/A2A/Tincan capabilities it actually supports, and configure only the connection I choose. Verify an empty/fresh fleet has no preset accounts. Do not start bots, connect game accounts or dispatch jobs during setup. Report what is verified and what still needs my login or provider endpoint.
Connect without editing configuration
Click Settings in the top bar from either home mode. In Project & fleet, browse your computer's home folders or paste an absolute RS-SDK root path. Preview the accounts, then choose Connect this project. New bots are discovered from BOT_USERNAME in bots/*/bot.env within 60 seconds on use; Refresh accounts checks immediately. Folder labels are not treated as player names.
The API / CLI / MCP settings tab supplies copyable discovery commands and a stdio configuration using the actual app path and local port. It links to the existing Agent API, research tools and Command connection screens. Connecting the folder does not start an agent, runtime or game account.