Wenlan
Wenlan is a source-backed AI knowledge base and LLM wiki for AI work: organize documents and decisions into pages you can find, inspect, and review.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
Open source AI-native productivity platform. Humans and AI collaborate on goals, actions, and bounties. AGPL-3.0.
翻訳待ち
Loading the full README. The saved excerpt is shown below.
An open-source productivity and project management platform built with the T3 Stack. Manage projects, track goals and key results, plan your day with AI, and collaborate across workspaces.Read the full README ↗An open-source productivity and project management platform built with the T3 Stack. Manage projects, track goals and key results, plan your day with AI, and collaborate across workspaces.
Clone the repository
git clone https://github.com/positonic/exponential.git
cd exponential
Install dependencies
npm install
Configure environment variables
cp .env.example .env.local
Edit .env.local and fill in the required values. At minimum:
| Variable | Description |
|---|---|
DATABASE_URL | PostgreSQL connection string |
AUTH_SECRET | Generate with npx auth secret |
DATABASE_ENCRYPTION_KEY | Generate with openssl rand -base64 32 (required in production) |
| A way to sign in | An OAuth pair (Google or Discord), SMTP or Postmark for emailed sign-in codes, or AUTH_LOG_SIGN_IN_CODES=true to print codes to the server log |
See .env.example for all available configuration options.
Set up the database
npx prisma migrate dev
Start the development server
npm run dev
Open http://localhost:3000.
A production install needs four variables (DATABASE_URL for a Postgres with
pgvector, AUTH_SECRET, DATABASE_ENCRYPTION_KEY, OPENAI_API_KEY) and one
way to sign in. No OAuth app or Postmark account is required. Start from
.env.selfhost.example, which lists only what an
install needs, then:
SKIP_ENV_VALIDATION=1 npm run build
npm run start:selfhost # checks env and pgvector, applies migrations, serves
npm run scheduler:selfhost # in a second process: runs the scheduled jobs (reads the same .env)
Two images, both built from the repo root. Neither bakes in any configuration: every variable is read when the container starts.
docker build -t exponential-app . # the app
docker build -f docker/scheduler.Dockerfile -t exponential-scheduler . # the scheduler
Dockerfile): starts with npm run start:selfhost, so the
container checks its environment and pgvector, applies pending migrations,
then serves on port 3000. Health check: GET /api/health. The build needs
a builder with at least 10 GB of memory: measured in a container, its
working set peaks at about 9.2 GB, it completes under a 10 GB limit, and it
is killed for running out of memory under 8 GB (with 4 CPUs or 14).docker/scheduler.Dockerfile): a small Node image with no
Next build. It calls the app's cron routes on vercel.json's schedule, so
point SCHEDULER_TARGET_URL at the app's address on the network they share.A full install is four services: Postgres with pgvector, the app, the scheduler, and the Mastra agent service (agent runs and chat). The scheduler and Mastra reach the app over the private network; only the app needs a public address.
This is the beginning of the README. Read the rest at the original. Read the full README ↗