Mercurial
comparison mrjunejune/README.md @ 260:1f9877b637e9
Add Copilot-powered cyberpunk JRPG chat
Integrate the production JRPG chat with Seobeo streaming, Deita persistence, and a Bazel-managed Copilot SDK and LiteLLM inference stack.
Co-authored-by: Copilot <[email protected]>
| author | MrJuneJune <mrjunejune@users.noreply.github.com> |
|---|---|
| date | Wed, 05 Aug 2026 09:19:41 -0700 |
| parents | 667156fcd3e3 |
| children | b401627fc49e |
comparison
equal
deleted
inserted
replaced
| 259:667156fcd3e3 | 260:1f9877b637e9 |
|---|---|
| 1 # Mrjunejune | 1 # Mrjunejune |
| 2 | 2 |
| 3 My personal website where I post my blogs / about me and resume. | 3 My personal website where I post my blogs / about me and resume. |
| 4 | 4 |
| 5 ## Development-only pages | 5 ## Copilot JRPG chat |
| 6 | 6 |
| 7 Experimental pages are compiled and packaged only by the development target: | 7 `/jrpg` streams stateful turns through Seobeo and Deita to a local Python |
| 8 Copilot SDK/CLI runtime. The SDK uses a loopback LiteLLM Proxy configured with | |
| 9 the `github_copilot` provider. | |
| 10 | |
| 11 Python, Copilot CLI, LiteLLM, the web server, and their lockfiles are all | |
| 12 managed by Bazel. Do not create a virtualenv or install packages with pip. | |
| 13 | |
| 14 Authenticate LiteLLM once with the GitHub Copilot device flow: | |
| 8 | 15 |
| 9 ```bash | 16 ```bash |
| 10 bazel run //mrjunejune:mrjunejune_server_dev -c dbg | 17 export GITHUB_COPILOT_TOKEN_DIR="$HOME/.local/state/mrjunejune/inference/litellm-copilot" |
| 18 bazel run //mrjunejune/inference:litellm_proxy -- \ | |
| 19 --authenticate \ | |
| 20 --token-dir "$GITHUB_COPILOT_TOKEN_DIR" | |
| 11 ``` | 21 ``` |
| 12 | 22 |
| 13 The production server and the bundle used by `deploy.sh` omit their route | 23 Then start the complete local stack with one Bazel command: |
| 14 registrations and static assets: | 24 |
| 25 ```bash | |
| 26 LITELLM_MASTER_KEY='<local proxy key>' \ | |
| 27 MRJUNEJUNE_ALLOW_ANONYMOUS_INFERENCE=1 \ | |
| 28 bazel run //mrjunejune:run_inference_stack | |
| 29 ``` | |
| 30 | |
| 31 Keep `GITHUB_COPILOT_TOKEN_DIR` exported when starting the stack so it reads the | |
| 32 same tokens. Without an override, both commands use | |
| 33 `$XDG_STATE_HOME/mrjunejune/inference/litellm-copilot`, or | |
| 34 `~/.local/state/mrjunejune/inference/litellm-copilot` when `XDG_STATE_HOME` is | |
| 35 unset. `MRJUNEJUNE_INFERENCE_STATE` moves all service-owned state. Internal | |
| 36 processes bind to loopback. Provider keys, OAuth tokens, conversation IDs, | |
| 37 prompts, and model output must not be committed or logged. | |
| 38 | |
| 39 Anonymous inference is disabled unless | |
| 40 `MRJUNEJUNE_ALLOW_ANONYMOUS_INFERENCE=1` is explicitly set. Enabling it exposes | |
| 41 paid inference without user authentication; keep the Seobeo rate/concurrency | |
| 42 limits and LiteLLM budget enabled. | |
| 43 | |
| 44 The production bundle includes the pinned Python environment, Copilot CLI, | |
| 45 LiteLLM, JRPG assets, and C server: | |
| 15 | 46 |
| 16 ```bash | 47 ```bash |
| 17 bazel build -c opt //mrjunejune:mrjunejune_server_bundle | 48 bazel build -c opt //mrjunejune:mrjunejune_server_bundle |
| 18 ``` | 49 ``` |
| 19 | |
| 20 `/jrpg` is currently development-only. | |
| 21 | 50 |
| 22 ## WebP assets | 51 ## WebP assets |
| 23 | 52 |
| 24 Raster source images live under `mrjunejune/assets/png/` and `assets/png/`. | 53 Raster source images live under `mrjunejune/assets/png/` and `assets/png/`. |
| 25 Bazel converts them to WebP before they enter the server runfiles or release | 54 Bazel converts them to WebP before they enter the server runfiles or release |