Simplify + correct README, remove the Webshare proxy#28
Merged
Conversation
…tall echo - README: rewrite to match current state and cut it down (281 -> 94 lines), Hermes-style. DeepSeek V4 Pro is the default, full open-weight line-up (DeepSeek / Hermes 405B+70B / GLM 5.2), hosted Hermes fallback + auxiliary, condensed privacy section to one diagram + a few lines. - config: raise agent max_turns 40 -> 200 so long agentic runs keep going instead of summarizing-and-nagging at 40. - install: fix stale login echo that still named closed models + Hermes 405B as the default.
The opt-in proxy only masked the IP from OpenGradient's own relay, which already authenticates the account, so it bought near-zero anonymity while carrying a service, a 171-line module, a dependency, and install branches. Privacy comes from og-veil (OHTTP/HPKE + TEE enclave); for full anonymity use the local model (zero egress). - delete privacy/rotating_proxy.py + launchd/com.advait.hermes-proxy.plist - install.sh: drop GHOST_PROXY/USE_PROXY, the Webshare prompt, the proxy service + .proxy marker, and the veil HTTPS_PROXY env injection - bin/ghost: drop the proxy var + the IP/NET banner indicator - veil plist: drop the __VEIL_PROXY_ENV__ placeholder - README / .env.example / scrubber comment: drop proxy mentions
Drop before/after framing that only makes sense to someone who knew the old setup (no 'no longer go to X', no 'like the website'); describe what ghost does, not what it used to do.
- Only DeepSeek gets a per-model steer; don't claim all hosted models are 'made uncensored via a steer' (Hermes is inherently so, GLM resists). - State up front that install is macOS-only (install.sh exits on non-Darwin). - Drop the blanket 'every model is unrestricted' (overclaims GLM).
GLM is open-weight but the gateway injects a safety system prompt for it that the per-model steer can't override, so it doesn't meet ghost's unrestricted bar. Catalog is now DeepSeek V4 Pro (default) + Hermes 4 405B/70B; the allow-list derives from it, so off-list requests (incl. glm-5.2) are rejected. Comment retains why GLM is excluded despite being gateway-served.
ghost is a full-fidelity agent: its own redaction layers were silently mangling secrets it legitimately reads (the Supabase anon key during an authorized pentest came back as 'eyJhbG...s0xo'), and the hosted path's privacy already comes from og-veil (OHTTP + TEE enclave). Flip both layers to opt-in: - bridge scrubbing (privacy/scrubbing_proxy.py) now gated by a .scrub marker (ghost --scrub); default = pure pass-through, both code paths - engine security.redact_secrets + privacy.redact_pii default to false - install.sh: GHOST_SCRUB=1 opts in (writes .scrub, flips the config) - bin/ghost: --scrub/--no-scrub toggle the marker; banner shows ON/OFF - README updated; tests updated (default-off pass-through is now asserted) All 35 scrub tests pass.
- merge the intro paragraph + attribution (it restated the feature table) - drop the duplicated 'private, not anonymous' bullet from Honest limits (already covered in How it stays private) - collapse the four separate local-model mentions; drop the re-pitched 'open-weight only' from the Models intro (it's in the feature table) - remove the deep --paths/--full-redaction parenthetical
ghost had no updater -- you re-ran install.sh by hand, and 'hermes update' only touches the base engine. Add a first-class updater: - bin/ghost-update: pulls the latest source (the repo you installed from, or a managed ~/.ghost-src clone) and re-runs the idempotent installer, reusing the options you first chose (saved in ~/.ghost/.install-env). - bin/ghost: intercept 'ghost update' so it runs ghost-update, not the engine's own 'update' subcommand. - install.sh: record the source path + install options; install ghost-update. - README: document 'ghost update'; fix the stale 'hermes update / fork-engine' note in Honest limits.
…pdates Addresses feedback that an LLM-driven install/update is off-putting. install.sh now detects when it's run via 'curl ... | bash' (no checkout) and self-bootstraps: clones or fast-forwards the repo into ~/.ghost-src and re-execs. So one command does both install and update, no manual clone and nothing agentic: curl -fsSL https://raw.githubusercontent.com/OpenGradient/ghost/main/install.sh | bash From a clone it's still ./install.sh; once installed, 'ghost update' runs the same thing. README install section rewritten around the one-liner.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
README rewritten Hermes-style and corrected to current state (281 -> ~90 lines): default is DeepSeek V4 Pro, full open-weight line-up (DeepSeek / Hermes 405B+70B / GLM 5.2), hosted Hermes fallback + aux, persona reframed to private-not-edgelord, protocol deep-dive collapsed to one diagram. All claims cross-checked against config / catalog / install / SOUL.
Remove the Webshare rotating proxy entirely. It was opt-in and only masked the IP from OpenGradient's own relay, which already authenticates the account, so it bought near-zero anonymity while carrying a service, a 171-line module, a dependency, and install branches. Privacy comes from og-veil (OHTTP/HPKE + TEE); for full anonymity use the local model (zero egress).
privacy/rotating_proxy.py+launchd/com.advait.hermes-proxy.plistinstall.sh: drop GHOST_PROXY/USE_PROXY, the Webshare prompt, the proxy service +.proxymarker, the veil HTTPS_PROXY env injectionbin/ghost: drop the proxy var + the IP/NET banner indicatorREADME/.env.example/ scrubber comment: drop proxy mentionsSmall fixes: raise agent
max_turns40 -> 200 (relentless runs, no nag at 40); fix a stale install login echo that named closed models + "Hermes 405B".All 35 scrub tests pass;
install.sh+bin/ghostpass shell syntax checks.