№ 0139Skill
Muse Proxy for CalDAV and CardDAV
Muse Proxy is a Cloudflare Worker gateway that stores CalDAV/CardDAV credentials once and issues scoped API keys, so the Muse agent can reach self-hosted calendars without holding passwords.
**This repository is written by agents, for agents. Limited amounts of review have been done. This is your only warning.** --- # Muse Proxy [](https://deploy.workers.cloudflare.com/?url=https://github.com/NeedsChloesure/muse-proxy) An API-key gateway for services that normally require a username and password. This service is primarily for [Meta Muse](https://muse.ai), which has strict guardrails against agents storing passwords and other secrets in plaintext. Agents adhere to this very well, so it's easier to work around it by supporting **what is allowed** rather than doing creative workarounds. The account owner stores the upstream credentials once, and chooses the connection ceiling (what must never happen). API keys may then be created and handed to agents so they can access/edit your supported service. Additionally, API keys can be scoped to allow access to only some access (i.e. ceiling is write, but this other agent should only read). The currently supported services are: - CalDAV / CardDAV You may add additional services by [submitting a pull request](./CONTRIBUTING.md), and it is also permissible to fork this service for private or commercial use — see the [license](./LICENSE). ## Getting started ```bash npm install npm --prefix frontend install npm run typecheck # generates Wrangler bindings, then checks Worker + frontend npm test -- --run # builds frontend assets, then runs the suite npm run build # builds the SPA into frontend/dist ``` Create the database and apply the schema: ```bash npx wrangler d1 create muse-proxy # replace the placeholder database_id in wrangler.jsonc npm run db:migrate:local ``` Provide the one required secret (it encrypts stored upstream credentials): ```bash cp .dev.vars.example .dev.vars # then put a real key in it openssl rand -base64 32 # generate one ``` Run it: ```bash npm run dev # Worker on :8787 npm run dev:web # Vite dev server on :5173, proxying /api to :8787 ``` Open `/user/` and create the first account. The first account always works even with sign-up disabled, and it is the deployment's administrator. ### Deploying The button above clones this repository into your own GitHub account, provisions the D1 database, and asks for `CREDENTIAL_ENCRYPTION_KEY` (



ChatForm
Tgmlabs