Lalabase
Tickets, Doku, Zeiterfassung und Kundengespräche an einem Ort, durchsuchbar per KI. Für Softwarefirmen mit Kundenprojekten. Open Source: auf deinem eigenen Server oder in unserer Cloud in Deutschland.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证A workspace chat application built for surfacing what's otherwise lost
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Threa is a workplace chat application (channels, threads, DMs, scratchpads) with
an automatic memory layer that extracts decisions and context from conversations
into searchable notes linked back to their source messages.
The memory layer is GAM (General Agentic Memory). As messages arrive, GAM
classifies them, extracts the ones that record a decision or its context, and
stores each as a memo: a short summary that links back to the messages it was
derived from. Memos are indexed for full-text and vector (semantic) search and
are retrieved automatically when a related topic comes up.查看完整 README ↗Threa is a workplace chat application (channels, threads, DMs, scratchpads) with an automatic memory layer that extracts decisions and context from conversations into searchable notes linked back to their source messages.
The memory layer is GAM (General Agentic Memory). As messages arrive, GAM classifies them, extracts the ones that record a decision or its context, and stores each as a memo: a short summary that links back to the messages it was derived from. Memos are indexed for full-text and vector (semantic) search and are retrieved automatically when a related topic comes up.
Ariadne is the built-in conversational agent, available in any stream. It answers from memos and their source messages, citing links and timestamps. Its behavior is configurable per stream via personas.
Threa also exposes a read API over the workspace with scoped keys (memos as JSON, messages as markdown), so an external agent can read the same data Ariadne does. The developer docs cover authentication, the API reference, and recipes.
Threa is a Bun monorepo. The request path for the main app:
Browser ──→ Frontend (Cloudflare Pages)
──→ Workspace Router (Cloudflare Worker) ──→ Control Plane
──→ Regional Backend
──→ WebSocket (direct to Regional Backend)
apps/frontend). React 19 + Vite SPA on Cloudflare Pages.
Real-time updates over Socket.io; offline drafts in IndexedDB.apps/workspace-router). Cloudflare Worker that routes
/api/*: auth, GET/POST /api/workspaces, and /api/regions go to the
control plane, and /api/workspaces/:id/* to the right regional backend
(resolved from Cloudflare KV). It answers GET /api/workspaces/:id/config
directly with { region, wsUrl }, which the frontend uses to open its
WebSocket.apps/control-plane). Global service for authentication
(WorkOS), workspace creation, and region assignment. Runs on Railway with its
own PostgreSQL database.apps/backend). Regional application server for all domain logic:
messaging, streams, agents, memos, search, and files. PostgreSQL 17 with
pgvector, AWS S3 for files, OpenRouter as the model gateway. Event sourcing
with an outbox pattern drives real-time delivery.apps/enclave). Runs Ariadne for end-to-end encrypted
scratchpads. Holds no database credentials and never logs payload contents.apps/backoffice, apps/backoffice-router). Internal
platform-admin SPA and its edge router, gated to platform admins.Shared code lives in packages/: domain types and API contracts (types), the
ProseMirror editor wrapper (prosemirror), backend infrastructure
(backend-common), the agent runtime (agent-runtime), and encryption
primitives (crypto).
The design is multi-region: each region gets its own backend, database, and storage, though a single region is active today.
Threa uses Bun.
bun install
bun run db:start # PostgreSQL + MinIO via Docker
bun run dev # control-plane, workspace-router, backend, frontend, backoffice
The app comes up at http://localhost:3000. For device testing, use
bun run dev:mobile on the local network or bun run dev:remote for a temporary
HTTPS Tailscale Serve URL. bun run dev:regions adds a second region, local-2,
for work that crosses regions.
bun run test # unit/integration (backend)
bun run test:e2e # end-to-end
bun run typecheck # types across the monorepo
bun run lint
Architecture and conventions are documented in docs/. Start with
docs/system-overview.md and
docs/core-concepts.md. Code constraints live in
AGENTS.md.
Threa is available under the MIT License.