-
Notifications
You must be signed in to change notification settings - Fork 0
Home
AnyLM (repo paths may still say LLMeter) is a local-first LLM workspace: projects, RAG over reference docs, streaming chat against Ollama, tools & skills, multi-agent orchestration, and org governance via Firebase Auth + Firestore — all without a paid backend.
This wiki is the contributor handbook: architecture, code map, how to change things, and how to extend the product with skills, tools, and related options.
| If you want to… | Read |
|---|---|
| Run the app locally | Getting Started |
| Understand the system | Architecture · Code Structure |
| See what ships today | Features |
| Change chat / IPC / UI | Chat Pipeline · IPC Contract · How to Change |
| Add a skill or tool | Skills · Tools · MCP & Extensions |
| Touch auth / org data | Auth & Firebase |
| Work on RAG / memory | RAG & Knowledge |
| Ship a release | Build & Release |
| Avoid common traps | Gotchas · Contributing |
AnyLM/
├── app/ Electron desktop product (TypeScript)
├── web/ Next.js marketing + download site
├── firebase/ Auth, Firestore rules/indexes, hosted sign-in page
├── auth-backend/ Retired NestJS — reference only, do not run
├── scripts/ setup.sh, dev.sh
└── docs/ Release notes + design specs/plans
There is no Cloud Functions backend. Service logic lives in app/src/main/api/ and talks to Firestore under the signed-in user’s ID token. firebase/firestore.rules is the authorization layer.
-
Desktop app — projects, chat, tools/skills, artifacts, settings, local OpenAI-compatible proxy on
:3227 - Firebase — identity + org/policy/usage data (Spark plan)
- Website — landing, skills/tools catalog, download picker from GitHub Releases
AnyLM does not implement the Model Context Protocol (MCP) today. Extensibility is:
- Tools — Ollama function-calling defs (builtin in code or custom shell/HTTP via UI)
- Skills — instruction bundles + tool sets (builtin connectors or custom via UI)
- Connectors — OAuth providers for connector skills (Outlook works; Google Calendar code exists but is product-disabled)
-
Local proxy — other apps call AnyLM’s
/v1withanylm_API keys (governance only; does not run tools)
Details: MCP & Extensions.
Desktop app package: v0.4.0 (app/package.json). Release notes: docs/releases/v0.4.0.md.
See the repo root LICENSE and treat app/.env as public (baked into the bundle). Never put signing secrets or API tokens there — see Configuration.
| Page | Description |
|---|---|
| Home | Overview and navigation |
| Getting-Started | Local setup |
| Architecture | System design |
| Code-Structure | Directory map |
| Features | Feature inventory |
| Contributing | PR workflow |
| How-to-Change | Common change recipes |
| Gotchas | Footguns |
| Chat-Pipeline | Turn lifecycle |
| IPC-Contract | window.api |
| Auth-and-Firebase | Identity + rules |
| RAG-and-Knowledge | Vectors + graph |
| Agents | Multi-agent |
| Proxy-and-Governance | :3227 + policies |
| Configuration | Env + settings |
| Testing | bun test |
| Build-and-Release | Packaging |
| Skills | Build skills |
| Tools | Build tools |
| MCP-and-Extensions | MCP status + options |