TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
Besidka 오픈소스, 셀프 호스팅 가능한 AI 채팅 앱
Besidka is an open-source, self-hostable AI chat app. Bring your own key for Anthropic, OpenAI, Google, xAI and more, or an AI gateway. No subscriptions, no markup, no lock-in.
생산성TypeScript · VueGitHub @besidka온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기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/newREADME 전문 보기 ↗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