chore: v2.8.15 — Oh My Pi login sharing, omp --allow-home, Markdown Preview default, first-login password

- omp-share.js: an admin's switch (S3) runs omp's own auth broker + gateway as
  the host on loopback; a member's omp pane reaches it as a scoped client keyed
  by its pane token (clients file = live omp panes only), runs on
  --model agenthub/<model>, never holds a credential.
- omp catalog: --allow-home, so a workspace at the account's home keeps its
  sessions there (they were recorded under a temp dir and dropped).
- Settings → Appearance → Open Markdown as: Preview (default) or Raw, for
  Files/Changes, the config viewer and a chat's file panel.
- First-login password change and password rules, avatar URLs, Artifacts
  "Mine" includes installed shared skills/plugins, a member's own hook pages.
This commit is contained in:
2026-10-22 10:04:30 +07:00
parent 8a6dc6a29e
commit 750d74a2af
66 changed files with 3021 additions and 696 deletions
+42 -1
View File
@@ -40,7 +40,8 @@ const schemas = {
resume: { type: "boolean", description: "Offers Resume last session" },
resumeById: {
type: "boolean",
description: "Can resume a named session (Claude, Codex, a catalog `resumeById` such as omp)",
description:
"Can resume a named session (Claude, Codex, a catalog `resumeById` such as omp)",
},
bypass: { type: "boolean", description: "Offers the per-run Bypass permissions switch" },
proxyCapable: { type: "boolean", description: "Can use an AI Proxy profile" },
@@ -132,6 +133,46 @@ const paths = {
responses: ok,
},
},
"/api/ai-tools/omp-sharing": {
get: {
tags: ["AI Tools"],
summary: "Oh My Pi login sharing state",
description:
"Server mode with per-user accounts (S3): whether every member's omp pane runs on the HOST account's omp login through omp's own auth broker + gateway on loopback (server/lib/omp-share.js), and whether both daemons run. Never returns a token.",
operationId: "aiToolsOmpSharing",
responses: {
200: {
description:
"`{available, enabled, installed, broker: {running, error?}, gateway: {running, port?, error?}}`.",
},
},
},
put: {
tags: ["AI Tools"],
summary: "Turn Oh My Pi login sharing on or off",
description:
"An admin's switch (off by default). On starts `omp auth-broker serve` and `omp auth-gateway serve --clients=…` as the host; off stops them and empties the clients file, so no pane keeps a way in. Same-origin only; audited.",
operationId: "aiToolsSetOmpSharing",
requestBody: {
required: true,
content: {
"application/json": {
schema: {
type: "object",
required: ["enabled"],
properties: { enabled: { type: "boolean" } },
},
},
},
},
responses: {
200: { description: "The new state, as GET." },
400: { description: "EBADFIELD" },
403: { description: "Not an admin" },
409: { description: "ENOS3 — not server mode with per-user accounts" },
},
},
},
"/api/ai-tools/{id}": {
put: {
tags: ["AI Tools"],