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