End-to-end local development and demo setup for XMem.
npx create-xmem@latest
cd xmem
npm run devnpm run dev performs first-run setup when needed, then starts the local XMem
API at http://localhost:8000.
This repository is an orchestration and verification workspace. It does not own the XMem product source code. It clones and runs the public XortexAI repositories:
- https://github.com/XortexAI/XMem.git
- https://github.com/XortexAI/xmem-extension.git
- https://github.com/XortexAI/xmem-mcp.git
- https://github.com/XortexAI/xmem-sdk.git
Reproduce the browser demo locally:
/Xingestsaves conversations to XMem memory./Xsearchsearches memory and injects context./Xideinjects codebase context./Xrepobrowses and queries indexed repository structure.
Xmem-dev/
package.json npm-first local commands
docker-compose.local.yml Local Postgres/pgvector, MongoDB, Neo4j
packages/
create-xmem/ npx create-xmem package
templates/
xmem.env.local Local XMem .env template
scripts/
xmem.js npm command wrapper
install.ps1 Clone, configure, install, patch, build
start.ps1 Start local services and XMem API
verify.ps1 Health + ingest/search/retrieve smoke test
doctor.ps1 Readable setup diagnostics
patch-extension-local.ps1 Point extension at localhost
docs/
browser-extension-demo.md
mcp-setup.md
publishing-create-xmem.md
scanner-code-mode.md
Cloned repos are placed under repos/, which is ignored by git.
- Windows PowerShell
- Git
- Docker Desktop
- Python 3.11+
- Node.js 20+
- npm
- Ollama, unless you configure a cloud LLM key
- Chrome
For users, use the public create command:
npx create-xmem@latest
cd xmem
npm run devFor maintainers working directly on this orchestration repo:
cd G:\Codes\Xortex
git clone https://github.com/XortexAI/Xmem-dev.git
cd Xmem-devnpm run setupThis will:
- clone or update the public XortexAI repos into
repos/ - copy
templates/xmem.env.localtorepos/XMem/.env - configure LLM routing
- pull local Ollama models only when no cloud LLM key is configured
- start Docker services
- install XMem with local extras
- patch the extension to use
http://localhost:8000 - install and build the Chrome extension
The scripts keep local setup predictable:
- If
repos/XMem/.envor your shell environment hasOPENROUTER_API_KEY,GEMINI_API_KEY,CLAUDE_API_KEY,OPENAI_API_KEY, or both AWS Bedrock keys, XMem will use those providers and will not call Ollama. - If none of those keys exist, XMem will use local Ollama for chat and embeddings.
- When a cloud key exists, embeddings are switched to local
fastembedso there are no Ollama embedding calls either.
For a persistent cloud setup, put the key in repos/XMem/.env, then rerun:
npm run devnpm run startThe API runs at:
http://localhost:8000
Keep that terminal open.
In a second terminal:
cd xmem
npm run verifyThe default local API key is:
dev-xmem-key
Run the doctor script for a readable setup report and suggested fixes:
npm run doctorPower-user flags can still be passed through when needed:
npm run setup -- -IncludeMcp
npm run start -- -SkipDockerAfter install/build:
- Open
chrome://extensions/ - Enable Developer mode
- Click Load unpacked
- Select
<your xmem folder>\repos\xmem-extension\dist - Use API key
dev-xmem-key - Use any local user name or id, for example
Ankit Kotnala
See browser-extension-demo.md.
Do not commit:
repos/.env.venv- logs
- API keys
- browser profiles
- local Docker volumes
When this flow is stable, upstream only the mature changes to the product repos through pull requests.