用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/tomevault-io/skills-registry --skill discovery-desktop命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | discovery-desktop |
| description | | Use when this capability is needed. |
A web application for e-discovery teams to manage case vaults, upload legal documents, perform OCR, and execute semantic searches.
Live site: https://discovery-desktop.casedev.app/
src/
├── app/
│ ├── api/cases/ # Case CRUD operations
│ ├── cases/[caseId]/ # Case dashboard (upload, search, documents)
│ └── page.tsx # Home - case listing
├── components/
│ ├── ui/ # shadcn/ui primitives
│ ├── upload/ # Drag-drop upload, progress tracking
│ └── search/ # Search bar, results, export
└── lib/
├── db/ # Drizzle schema, client
├── casedev/ # Case.dev API wrapper
└── utils.ts # cn(), formatters
Create Case → Upload Documents → OCR Processing → Semantic Search → Export
↓ ↓ ↓ ↓ ↓
Vault API Case.dev Upload Automatic via Natural CSV with
password- bulk Case.dev API language relevance
protected queries scores
| Layer | Technology |
|---|---|
| Frontend | Next.js 16, React 19, Tailwind CSS |
| Backend | Next.js API Routes |
| Database | SQLite + Drizzle ORM |
| External APIs | Case.dev (Vaults, OCR, Search, LLMs) |
| Deployment | Orbit / Node.js compatible |
All document processing uses Case.dev APIs. See references/casedev-api.md for detailed patterns.
// lib/casedev/client.ts pattern
const CASEDEV_API_KEY = process.env.CASEDEV_API_KEY;
headers: {
'Authorization': `Bearer ${CASEDEV_API_KEY}`,
'Content-Type': 'application/json'
}
| Operation | Purpose |
|---|---|
| Vault Management | Create password-protected storage per case |
| Document Upload | Send files (PDF, DOC, images) for OCR |
| OCR Status | Poll for processing completion |
| Semantic Search | Natural language queries with relevance scores |
SQLite with Drizzle ORM. See references/database-schema.md for complete schema.
npm run db:generate # Generate migrations from schema changes
npm run db:push # Push schema to database (dev)
npm run db:studio # Open Drizzle Studio GUI
npm install
cp .env.example .env.local
# Add CASEDEV_API_KEY to .env.local
npm run db:push
npm run dev
CASEDEV_API_KEY=sk_case_... # Required - get from app.case.dev
npm run build
npm start
// src/app/api/cases/[caseId]/newfeature/route.ts
import { NextRequest, NextResponse } from 'next/server';
import { db } from '@/lib/db';
export async function POST(
request: NextRequest,
{ params }: { params: { caseId: string } }
) {
// Implementation
}
src/lib/db/schema.tsnpm run db:generatenpm run db:pushSee references/casedev-api.md for endpoint patterns, error handling, and rate limits.
See references/ediscovery-glossary.md for legal terminology.
Key concepts: Discovery, document production, privilege review, relevance scoring, ESI (electronically stored information).
| Type | Formats |
|---|---|
| Documents | PDF, DOC, DOCX, TXT |
| Images | JPG, JPEG, PNG, TIFF |
| Bulk | Hundreds of files per upload session |
| Issue | Solution |
|---|---|
| OCR stuck | Check Case.dev status, verify file format |
| No search results | Confirm OCR complete, check vault_id |
| Auth errors | Verify CASEDEV_API_KEY |
| Migration fails | Check schema syntax, use db:push for dev |
Converted and distributed by TomeVault — claim your Tome and manage your conversions.