chappie
Health Warn
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Warn
- network request — Outbound network request in pnpm-lock.yaml
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
Use ChatGPT (not Codex) with Pi's local tools and extensions.
Chappie
Use ChatGPT to work through Pi: edit local files, run commands, call Pi extensions, exchange files and images, and move between sessions on one or more devices.
Setup
Install the Pi package:
pi install npm:@zetaloop/chappie
Run Chappie as the MCP server managed by otunnel:
mcp:
commands:
- channel: main
command: pi --chappie
Add the tunnel as a developer-mode app in ChatGPT, then start Pi in a project:
pi --provider chappie --model chatgpt
Call init from ChatGPT to connect the conversation to Pi. A conversation can resume an existing task with its Pi session ID, while sessions can find connected sessions by device, directory, or name.
Usage
Chappie exposes common coding tools directly and every active Pi tool through tools and call. chat sends an assistant message to Pi, Pi input accompanies later tool results, and transfer moves files in either direction. history reads recent Pi messages and activity with timestamps. ask can present a persistent question in ChatGPT when webpage questions are enabled.
See the tool guide for session selection, history, synchronization, Pi tools, webpage questions, and file transfer.
Configuration
chappie.json in Pi's agent directory configures Chappie.
A broker can accept Pi sessions from other devices on the local network:
{ "listen": true }
Remote Pi sessions connect through the broker device's mDNS name:
{ "connect": "<broker>.local" }
The default port is 24274. Set listen to a port number or append :port to connect to use another one. Only the broker device runs otunnel; local and remote sessions appear in the same session list.
Set ask to false to disable webpage questions.
Enable synchronization to resolve conflicting activity:
{ "sync": true }
Initialization returns a short name and a private code. sync pauses conflicting work for discussion through chat and history. The verified coordinator decides who continues, their tasks, and who exits, including retaining only one execution. See synchronization.
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found