TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Your digital besidka for all AI chats. Connect to any LLM using your API key. Open-source, private, and community-driven. Self-hosted solution.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Bring Your API Keys and Pay for What You Use.
My detailed post in Twitter about the process of development:
https://x.com/besidka_ai/status/1946685763183133001
Project board is available here.
1. You are welcome to visit the production site besidka.com.
2. Please choose any option of authentication such as Google sign in, GitHub sign in or more common way of the Email + Password flow.
3. When you are authorized, please put your API keys there: besidka.com/profile/keys.
4. You are welcome to start a new chat: https://besidka.com/chats/new檢視完整 README ↗Besidka is an open-source BYOK (bring your own key) AI chat app. Pay the AI provider only for what you use, see the price of every message, and use all the models in one chat. No subscription, no ads, no markup. Self-hostable.
Besidka suits people who use AI every day for search, translation, PDFs, images or code, do not want another subscription, and are fine creating an API key in a provider's developer console. It is probably not for you if you already pay for ChatGPT Plus or Pro, Claude Pro or Google AI Pro and rarely hit their limits, since those apps do more than a chat window, or if you would rather not deal with API keys, or with prepaying credit at a provider. For scale, the maintainer's own non-work use costs between $1 and $5 a month. That is one person's usage, not a promise.
New to API keys? Read the BYOK guide.
Project board is available here.
Issues are welcome. Code contributions are by invitation only; see CONTRIBUTING.md.
<video> streaming progressive MP4 from Cloudflare R2 through the Worker route)403: disallowed_useragent.https://<your-domain>/api/auth/callback/googlePay your attention that the project is designed to run on Cloudflare Workers. It requires additional steps to run it via Cloudflare Workers preview or deploy to the production environment.
The steps below are for local development only for the quick start and check.
Clone the repository.
git clone [email protected]:besidka/besidka.git
Go to the project directory. Install the dependencies.
cd besidka
pnpm install
Copy ENV related files.
cp .dev.vars.example .dev.vars
Generate environment types for the project.
pnpm run cf-typegen
Prepare drizzle migrations.
# Expected output is .drizzle/migrations/*.sql
pnpm run db:generate
Apply the migrations to the D1 database.
# Expected output is .wrangler/state/v3/d1/*.sqlite
pnpx wrangler d1 migrations apply DB
Prepare and apply the cookie-consent database migrations. This is a separate
D1 database (CONSENT_DB) used to store consent receipts. See
docs/cookie-consent.md for details.
# Expected output is .drizzle/migrations-consent/*.sql
pnpm run db:consents:generate
pnpm run db:consents:migrate
Start the development server.
pnpm run dev
or to start Cloudflare Workers preview server
pnpm run preview
The landing page is powered by Nuxt Content v3 with a dedicated Cloudflare D1 database (CONTENT_DB) that is fully isolated from the main application database (DB). Nuxt Studio provides an optional in-app visual editor that commits changes directly to the GitHub repository.
Run these commands once after cloning. They print a database_id UUID — copy it into the matching "TO_BE_CREATED" placeholder in wrangler.jsonc.
# Preview environment (default env in wrangler.jsonc)
pnpm exec wrangler d1 create besidka-content
# Production environment
pnpm exec wrangler d1 create besidka-content --env production
Replace both "TO_BE_CREATED" values in wrangler.jsonc under the CONTENT_DB binding with the returned UUIDs.
Nuxt Content manages its own schema inside CONTENT_DB at runtime — no Drizzle migrations are needed for this database.
Studio is optional. The landing page renders and all content is editable via Git without it. Studio adds a /_studio route to the deployed site so editors can make changes through a browser UI.
https://besidka.com (the canonical apex host — a Cloudflare redirect sends www.besidka.com to besidka.com).https://besidka.com/_studio (production) or http://localhost:3000/_studio (development)..dev.vars for local development:
STUDIO_GITHUB_CLIENT_ID=<your_client_id>
STUDIO_GITHUB_CLIENT_SECRET=<your_client_secret>
pnpm exec wrangler secret put STUDIO_GITHUB_CLIENT_ID
pnpm exec wrangler secret put STUDIO_GITHUB_CLIENT_SECRET
# For production:
pnpm exec wrangler secret put STUDIO_GITHUB_CLIENT_ID --env production
pnpm exec wrangler secret put STUDIO_GITHUB_CLIENT_SECRET --env production
The landing page works without Studio configured. Content lives in content/landing/ as Markdown files and is committed to the repository like any other source file. Studio is purely an authoring convenience — it does not affect how the landing page is built or served.
# Total issues: 0
snyk code test