mirror of
https://github.com/dtzp555-max/ocp.git
synced 2026-07-21 21:15:09 +00:00
* docs(readme): stop the feature bullet promising what § honest limits forbids (#136) Issue #136: an external user reported that Claude Code REFUSES to run OCP's own copy-paste install prompt, on the grounds that the premise — pooling one Pro/Max subscription across a family — violates Anthropic's Usage Policy. The install prompts themselves were already fixed since that report ('my own devices on the network', plus a ToS warning on the LAN section). What remained was a self-contradiction in the README: line 27 (feature bullet): 'share one Claude Pro/Max subscription with family, friends, or your own devices' line 427 (§ honest limits): 'The defensible framing is "one person, your own devices" — sharing with friends or a team is not.' The top-of-funnel bullet was promoting exactly what the project's own ToS section calls indefensible. That is a defect on its own terms, independent of anyone's view on the underlying policy: a reader who trusts the bullet is walked straight into the thing the same document later tells them not to do. Aligned the bullet to the position the project ALREADY took, and linked the honest-limits section from it. No change to the auth modes, the LAN feature, or the maintainer's own account of how they use it — this only stops the doc arguing with itself. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VqgWJcjxrjjL9L9SkpZyXR * docs(readme): fix the misdirected anchor + the same defect at line 52 (review fold-in) Independent reviewer caught two things in the first cut: 1. The new link pointed at #auth-modes — which resolves to the '### Auth Modes' mode table (line 408), NOT to the 'Sharing with family / a team — honest limits' paragraph (line 422), which sits under '### Deployment model & security (read this)' (line 418). A bullet that says 'see the honest limits' and then sends you somewhere else is worse than no link. Correct anchor verified two ways (github-slugger + the live rendered page): #deployment-model--security-read-this (double hyphen — the '&' is stripped but both surrounding spaces survive). 2. Line 52 carried the SAME defect the PR was written to fix, a few lines below it: 'share one Claude Pro/Max subscription across IDEs, devices, and people'. So the original claim — 'this only stops the document arguing with itself' — was not yet true: it stopped one instance and left an adjacent one standing, in the same top-of-README section an install-time reviewer reads first. Left alone deliberately: the maintainer's own account of their household's use (lines 7 and 1178). That is theirs to make, and a docs PR should not quietly rewrite it. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VqgWJcjxrjjL9L9SkpZyXR * docs(readme): carry the ToS caveat into the MANUAL install path too (README:218) Reviewer found a third instance, and it is the one that most directly reproduces #136. README has two forms of the same LAN-mode install: the copy-paste AI prompt (line 132) and the handbook form (line 218). Line 180 explicitly asserts they are 'the same steps in handbook form'. They were not: line 132 (prompt) 'install OCP as a server so YOUR OWN DEVICES on the LAN can reach it (Claude Pro/Max are per-user accounts — review Anthropic's Usage Policy before extending access to other people)' + example keys: laptop, tablet line 218 (handbook) 'share with other devices on your network:' + 'create API keys for each PERSON/device' + no ToS pointer at all So a reader who takes the manual route instead of the copy-paste route is still walked into per-person key creation with zero ToS mention — reproducing #136's trigger through the door the first commit did not close. The caveat now matches its twin. Deliberately NOT scrubbing the wife-laptop / son-ipad example key names: they recur in seven further places, it is a bigger diff at a different severity, and it edges into scrubbing the maintainer's household out of their own documentation. With the pointer restored at 218 those examples inherit the caveat — which is exactly the posture § honest limits takes. It never forbids family sharing; it says it is the account holder's call and their risk, and refuses to hide that. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VqgWJcjxrjjL9L9SkpZyXR --------- Co-authored-by: dtzp555 <dtzp555@gmail.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -24,7 +24,7 @@ One proxy. Multiple IDEs. All models. **$0 API cost.**
|
|||||||
|
|
||||||
There are several Claude proxy projects. OCP picks a specific lane: **align tightly with what `cli.js` actually does, observe + multiplex what's already there, don't extend the protocol.** What you get:
|
There are several Claude proxy projects. OCP picks a specific lane: **align tightly with what `cli.js` actually does, observe + multiplex what's already there, don't extend the protocol.** What you get:
|
||||||
|
|
||||||
- **LAN multi-user keys** (v3.7.0) — share one Claude Pro/Max subscription with family, friends, or your own devices. Each user gets a per-key API token (no OAuth session leak), with independent usage tracking and one-line revocation.
|
- **LAN multi-user keys** (v3.7.0) — reach one Claude Pro/Max subscription from your own devices across the LAN. Each device gets a per-key API token (no OAuth session leak), with independent usage tracking and one-line revocation. Pro/Max are **per-user** accounts — see [Sharing with family / a team — honest limits](#deployment-model--security-read-this) before extending access to other **people**.
|
||||||
- **`ocp-connect` one-shot IDE setup** — one command on the client machine detects and configures Claude Code, Cursor, Cline, Continue.dev, OpenCode, and OpenClaw. No pasting `OPENAI_BASE_URL` six times.
|
- **`ocp-connect` one-shot IDE setup** — one command on the client machine detects and configures Claude Code, Cursor, Cline, Continue.dev, OpenCode, and OpenClaw. No pasting `OPENAI_BASE_URL` six times.
|
||||||
- **Response cache with per-key isolation + singleflight** (v3.13.0). Optional SHA-256 prompt cache, isolated per API key (cross-user pollution is impossible by hash construction, not by application logic), with stampede protection on concurrent identical prompts. Off by default. ([PR #65](https://github.com/dtzp555-max/ocp/pull/65), [PR #66](https://github.com/dtzp555-max/ocp/pull/66))
|
- **Response cache with per-key isolation + singleflight** (v3.13.0). Optional SHA-256 prompt cache, isolated per API key (cross-user pollution is impossible by hash construction, not by application logic), with stampede protection on concurrent identical prompts. Off by default. ([PR #65](https://github.com/dtzp555-max/ocp/pull/65), [PR #66](https://github.com/dtzp555-max/ocp/pull/66))
|
||||||
- **Per-key request quotas** (v3.8.0). Daily / weekly / monthly limits per key — set a kid's iPad to 20/day, a partner's laptop to 100/week. ([PR #18](https://github.com/dtzp555-max/ocp/pull/18))
|
- **Per-key request quotas** (v3.8.0). Daily / weekly / monthly limits per key — set a kid's iPad to 20/day, a partner's laptop to 100/week. ([PR #18](https://github.com/dtzp555-max/ocp/pull/18))
|
||||||
@@ -49,7 +49,7 @@ OCP and the alternatives serve adjacent but distinct needs. Pick the one that fi
|
|||||||
| GitHub stars / ecosystem size | small | large | mid |
|
| GitHub stars / ecosystem size | small | large | mid |
|
||||||
| Governance discipline (CI-enforced alignment with cli.js) | yes | n/a | n/a |
|
| Governance discipline (CI-enforced alignment with cli.js) | yes | n/a | n/a |
|
||||||
|
|
||||||
**Plain English**: `claude-code-router` is the routing-and-switching power tool — pick it if you want to mix Anthropic, OpenAI, Gemini, and local models behind one endpoint. `anthropic-proxy` is the minimal forwarder. **OCP focuses on disciplined `cli.js`-aligned forwarding plus subscription multiplexing** — pick it if you want to share one Claude Pro/Max subscription across IDEs, devices, and people, with LAN auth, quotas, and a governance contract that prevents endpoint drift.
|
**Plain English**: `claude-code-router` is the routing-and-switching power tool — pick it if you want to mix Anthropic, OpenAI, Gemini, and local models behind one endpoint. `anthropic-proxy` is the minimal forwarder. **OCP focuses on disciplined `cli.js`-aligned forwarding plus subscription multiplexing** — pick it if you want to reach one Claude Pro/Max subscription from your own IDEs and devices, with LAN auth, quotas, and a governance contract that prevents endpoint drift.
|
||||||
|
|
||||||
### Related: OLP — Open LLM Proxy
|
### Related: OLP — Open LLM Proxy
|
||||||
|
|
||||||
@@ -215,7 +215,7 @@ After install the `ocp` CLI lives at `~/ocp/ocp`. To put it on your PATH, either
|
|||||||
export OPENAI_BASE_URL=http://127.0.0.1:3456/v1
|
export OPENAI_BASE_URL=http://127.0.0.1:3456/v1
|
||||||
```
|
```
|
||||||
|
|
||||||
**LAN mode** — share with other devices on your network:
|
**LAN mode** — reach OCP from your own devices on the network (Claude Pro/Max are per-user accounts — see [Sharing with family / a team — honest limits](#deployment-model--security-read-this) before extending access to other people):
|
||||||
```bash
|
```bash
|
||||||
# Enable LAN access with per-user auth (recommended)
|
# Enable LAN access with per-user auth (recommended)
|
||||||
node setup.mjs --bind 0.0.0.0 --auth-mode multi
|
node setup.mjs --bind 0.0.0.0 --auth-mode multi
|
||||||
|
|||||||
Reference in New Issue
Block a user