diff --git a/README.md b/README.md index bfd1ac4..783cf8a 100644 --- a/README.md +++ b/README.md @@ -199,6 +199,7 @@ which owns that auth. See [Coding plans](#coding-plans--use-a-subscription-inste - **Heartbeat** — `lisa heartbeat run` (manual) or `lisa heartbeat install` (launchd / cron) - **Autostart** — `lisa autostart install` keeps `lisa serve --web` running from login onward (launchd on macOS; prints a `systemd --user` unit on Linux), so the apps, island, and channels are always up. `lisa autostart status` / `uninstall` to inspect / remove. - **Mac menu bar** — Lisa.app lives in the menu bar with a mood glyph + live agent status, an About window with changelog + update discovery, and a ⌘, preferences pane (island toggle, screen-advisor interval, backend controls). +- **iOS — Lisa Pocket** — a thin, private companion app for iPhone & iPad: chat with Lisa and watch / approve her agents while you're away from your Mac. Connects only to your own backend (or a LISA Cloud instance you choose). *Coming to the App Store.* ## Watching — and steering — your other agents (orchestrator) @@ -625,6 +626,15 @@ scripts/ └── generate-pixel-assets.ts 6 base UI assets ``` +## Open-source building blocks + +Reusable pieces extracted from LISA into standalone MIT repos — useful on their own: + +- **[AsyncSSE](https://github.com/oratis/AsyncSSE)** — Server-Sent Events as a Swift `async`/`await` stream, for LLM token streaming. (Powers Lisa Pocket's chat.) +- **[llm-provider-registry](https://github.com/oratis/llm-provider-registry)** ([npm](https://www.npmjs.com/package/llm-provider-registry)) — map any model name → API base URL + key env var; 16 providers incl. the Chinese ones. LISA's model auto-routing, packaged. +- **[undici-proxy-env](https://github.com/oratis/undici-proxy-env)** ([npm](https://www.npmjs.com/package/undici-proxy-env)) — make Node's `fetch` honor `HTTP(S)_PROXY` and survive Clash/corporate-proxy mangling. LISA's proxy bootstrap. +- **[claude-relay](https://github.com/oratis/claude-relay)** — transparent Anthropic reverse proxy for Cloud Run (key-swap gate). LISA's relay. + ## License MIT — see [LICENSE](LICENSE). diff --git a/packaging/ios-companion/APPSTORE_METADATA.md b/packaging/ios-companion/APPSTORE_METADATA.md index 505b224..76b5e9d 100644 --- a/packaging/ios-companion/APPSTORE_METADATA.md +++ b/packaging/ios-companion/APPSTORE_METADATA.md @@ -90,6 +90,13 @@ LISA is open source (MIT). Learn more at meetlisa.ai. ## Notes for whoever fills ASC +- **⚠️ Guideline 4.1(a) (copycat) history**: the first submission was rejected as + resembling a third-party "Lisa.ai." It's a name collision (several unrelated + "Lisa" AI apps exist) — LISA is our own open-source, self-hosted product. The + appeal + fallback rename options live in + [`REVIEW_RESPONSE_4.1a.md`](REVIEW_RESPONSE_4.1a.md). Lead the **App Review + Notes** with the "our own open-source product (meetlisa.ai / github.com/oratis/LISA)" + framing (already updated in the submission checklist §7.3). - **App Privacy** answer must be **"Data Not Collected"** to match `Sources/PrivacyInfo.xcprivacy` — see [`RELEASE.md`](RELEASE.md) §"From TestFlight to App Store". diff --git a/packaging/ios-companion/REVIEW_RESPONSE_4.1a.md b/packaging/ios-companion/REVIEW_RESPONSE_4.1a.md new file mode 100644 index 0000000..67a8b38 --- /dev/null +++ b/packaging/ios-companion/REVIEW_RESPONSE_4.1a.md @@ -0,0 +1,110 @@ +# App Review response — Guideline 4.1(a) Copycats (Lisa Pocket) + +**Rejection** (Submission `cb80235c-cf2f-4245-817c-ba80d9c8929d`, 2026-07-08, v1.0 +build 1782924012): *"The metadata appears to contain potentially misleading +references to third-party content … content that resembles Lisa.ai without the +necessary authorization."* + +## What actually triggered it + +Not a code issue — **metadata**. There are several pre-existing AI apps that +share the common name "Lisa" (e.g. *Lisa Chat: AI Bot Assistant* `id6448847169`, +*Lisa AI: Dance Video Maker* `id6443832829`, `lisaai.app`). The reviewer sees a +new AI app named **"Lisa Pocket"** and flags it as resembling **"Lisa.ai."** The +`lisa.ai` substring the reviewer likely spotted is inside our **own** domain, +**meetlisa.ai**. + +## Why we win this (the differentiators — all publicly verifiable) + +LISA is **our own original product**, not an impersonation, and is categorically +different from the cloud "Lisa" chatbots: + +| | Other "Lisa" apps | **LISA / Lisa Pocket** | +|---|---|---| +| Type | Hosted cloud chatbot / media generator | **Self-hosted, open-source (MIT)** agent on the user's own Mac | +| Ours since | — | Website + **public GitHub (2026-05-02)** + npm (2026-05-13) | +| App role | Standalone service | **Thin companion client** — connects only to the user's machine | +| Brand | — | **meetlisa.ai** (our domain), GitHub `oratis/LISA` | + +Evidence links (all public, consistent branding — "An AI agent with a real self"): +- Website: https://meetlisa.ai · Privacy: https://meetlisa.ai/privacy +- Source (public, MIT, since 2026-05-02): https://github.com/oratis/LISA +- Package (public): https://www.npmjs.com/package/@oratis/lisa +- Install: https://github.com/oratis/homebrew-tap + +## Recommended path: reply with evidence, keep the name + +4.1(a) explicitly offers an "attach documentary evidence of your rights" path. +Reply to the review message (no resubmit needed to send a reply). If Apple +approves, done. If they still insist, fall back to a rename (below). + +### ✅ Paste-ready reply (App Store Connect → the review message → Reply) + +``` +Re: Submission ID cb80235c-cf2f-4245-817c-ba80d9c8929d — Guideline 4.1(a) + +Hello, and thank you for reviewing Lisa Pocket. + +Lisa Pocket is the official companion app for LISA, our own original, +independently developed product. It is not affiliated with — and contains no +references to or content from — "Lisa.ai" or any other third party. "Lisa" is a +common given name and the name of our own software; any similarity to other apps +that share this common name is coincidental. + +Please also note: the string "lisa.ai" in our metadata is part of our own +domain name, meetlisa.ai, which we own and operate. It is not a reference to any +third-party service. + +LISA is also meaningfully different from other "Lisa"-named apps: it is a free, +open-source (MIT-licensed), self-hosted AI agent that runs locally on the user's +own Mac. Lisa Pocket is a thin client that connects only to the user's own +machine (or an instance the user chooses) — it is not a standalone cloud chatbot +or media-generation service. + +Documentary evidence that this is our own product: +- Official website: https://meetlisa.ai +- Open-source code (public, MIT, first published May 2026): + https://github.com/oratis/LISA +- Public software package: https://www.npmjs.com/package/@oratis/lisa +- Installation tap: https://github.com/oratis/homebrew-tap + +We are the sole developer of both LISA and this app, and we are glad to adjust +any specific element you identify. If a particular word, image, or field is the +concern, please let us know exactly which one and we will revise it right away. + +Thank you for your time. +Best regards, + +``` + +> Replace ``. Keep the tone factual and cooperative — the closing +> offer to change a specific element is what usually converts a 4.1(a) hold. + +### One thing to check before replying — identity match + +Apple may check that the **developer account owns the brand**. The account is +**Telloria / wangharp@gmail.com**; the brand is **meetlisa.ai / oratis**. If +those aren't obviously the same entity to a reviewer, add a line to the reply: +*"I am the sole developer and operator of both the Lisa Pocket app account and +meetlisa.ai / the oratis GitHub organization."* (Optional booster: add an +"iOS companion app" mention/link on meetlisa.ai so the marketing URL itself +ties the app to the brand.) + +## Fallback (only if Apple rejects the appeal): differentiate the name + +Display name is metadata-only — the bundle id `ai.meetlisa.main` stays. Ranked: + +1. **`LISA — Agent Console`** (or `Lisa Agent Console`) — names the true category + (dev/agent tool), clearly not a generic "Lisa AI" chatbot. Strongest signal. +2. **`meetlisa`** — matches the domain exactly; unmistakably our brand. +3. **`LISA Pocket`** (all-caps LISA) — smallest change; weakest differentiation. + +If we rename, also drop the generic keyword **`assistant`** (it's what the cloud +"Lisa" chatbots rank on) and lead the subtitle with the self-hosted angle, e.g. +`Self-hosted AI agent, on the go`. + +## Not the trigger, but worth knowing + +Keywords/description name **Claude, Codex, Aider** (real integrations). Factual +interoperability references are generally fine; the reviewer flagged "Lisa.ai," +not these. Leave them unless a future reviewer objects. diff --git a/website/src/pages/index.astro b/website/src/pages/index.astro index 745d277..df87c0d 100644 --- a/website/src/pages/index.astro +++ b/website/src/pages/index.astro @@ -114,6 +114,7 @@ import Base from "../layouts/Base.astro"; diff --git a/website/src/pages/install.astro b/website/src/pages/install.astro index 6cb18e6..4c9050e 100644 --- a/website/src/pages/install.astro +++ b/website/src/pages/install.astro @@ -33,6 +33,16 @@ import Base from "../layouts/Base.astro";
npm install -g @oratis/lisa
 lisa serve --web                # the app loads http://localhost:5757
+

📱 Lisa Pocket (iOS companion)

+

+ Lisa Pocket is our official companion app for iPhone & + iPad — a thin, private client to the LISA backend running on your own Mac + (or a LISA Cloud instance you point it at). Chat with Lisa on the go, + watch the coding agents she's running, and approve their next step from your + phone. It stores no account and collects nothing to a Lisa-operated server. +

+

Coming to the App Store — bundle ai.meetlisa.main.

+

Homebrew (CLI only)

brew tap oratis/tap
 brew install lisa
diff --git a/website/src/pages/zh-CN/index.astro b/website/src/pages/zh-CN/index.astro
index 8b54c60..9e12c92 100644
--- a/website/src/pages/zh-CN/index.astro
+++ b/website/src/pages/zh-CN/index.astro
@@ -111,6 +111,7 @@ import Base from "../../layouts/Base.astro";
   
  • CLI(macOS / Linux):lisa 进 REPL,lisa serve --web 起浏览器 UI。
  • PWA:手机打开 web UI,"添加到主屏幕" —— Lisa 作为独立 app shell 运行。
  • +
  • iOS —— Lisa Pocket:我们为 iPhone 和 iPad 出的随身 app。离开 Mac 时也能和 Lisa 聊天、查看并指挥她的 agent。即将上架 App Store。
  • IM 通道:Telegram / Discord / Slack / 飞书 / iMessage / Webhook —— 任何地方都能找到她。
  • 10+ LLM:Anthropic、OpenAI、Gemini、DeepSeek、火山豆包、阿里 Qwen、月之暗面 Kimi、xAI Grok、智谱 GLM、本地 Ollama。按模型名前缀路由。10 个可直接 copy 的配方 →