# codeloom **Repository Path**: greengreensea/codeloom ## Basic Information - **Project Name**: codeloom - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-06 - **Last Updated**: 2026-05-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TeamHub — 团队知识枢纽 为编码 Agent 提供文档检索、经验管理和环境配置的统一平台。支持 BM25 + 向量混合搜索、MCP 工具集成和 Web 管理界面。 ## Architecture ``` OpenCode Agent ──MCP (stdio)──→ TeamHub Backend ├── REST API (/api/*) ├── Tantivy (BM25 全文) ├── Vector Store (cosine similarity) └── SQLite (元数据) User Browser ──HTTP──→ TeamHub Backend ──Vue 3 SPA→ ``` ## Quick Start ```bash # 安装依赖 sudo apt install -y pkg-config libssl-dev # Linux ./install.sh ``` 或者手动构建: ```bash # 后端 cd backend cargo build --release # 前端 cd frontend npm install npm run build # 启动 ./target/release/teamhub ``` 打开 http://localhost:3000 ## Configuration 配置文件路径:`~/.teamhub/config.yaml` 或 `$TEAMHUB_CONFIG` ```yaml server: host: "0.0.0.0" port: 3000 database: path: "~/.teamhub/teamhub.db" index: tantivy_path: "~/.teamhub/tantivy" embedding: provider: "http" # 本地千问/Qwen API http_endpoint: "http://127.0.0.1:8000/v1/embeddings" http_api_key: "not-needed" # 本地服务不需要 key dimension: 1024 # Qwen3-Embedding-0.6B 维度 ``` ## API ### 文档库 | Method | Path | Description | |--------|------|-------------| | GET | /api/folders | 文件夹目录树 | | POST | /api/folders | 创建文件夹 | | DELETE | /api/folders/:id | 删除文件夹 | | GET | /api/documents | 文档列表 (?folder_id=) | | POST | /api/documents/upload | 上传文档 (multipart) | | GET | /api/documents/:id | 文档详情 | | PUT | /api/documents/:id | 更新元数据 | | DELETE | /api/documents/:id | 删除文档 | ### 经验库 | Method | Path | Description | |--------|------|-------------| | GET | /api/experiences | 经验列表 (?tag=&repo=) | | POST | /api/experiences | 创建经验 | | GET | /api/experiences/:id | 经验详情 | | PUT | /api/experiences/:id | 编辑经验 | | DELETE | /api/experiences/:id | 删除经验 | ### 环境管理 | Method | Path | Description | |--------|------|-------------| | GET | /api/environments | 环境列表 (?q=) | | POST | /api/environments | 添加环境 | | GET | /api/environments/:id | 环境详情 | | PUT | /api/environments/:id | 编辑环境 | | DELETE | /api/environments/:id | 删除环境 | ### 搜索 | Method | Path | Description | |--------|------|-------------| | GET | /api/search | 统一搜索 (?q=&source=&limit=) | ## MCP Tools 供 OpenCode 等 Agent 调用。启动方式: ```bash teamhub mcp ``` 支持的工具: - **teamhub_search**: 搜索知识库,参数 `query`, `source`, `limit` - **teamhub_suggest**: 根据上下文推荐经验,参数 `context`, `source` - **teamhub_env_list**: 查询环境列表 与 OpenCode 集成(在 opencode config 中添加): ```json { "mcpServers": { "teamhub": { "command": "/path/to/teamhub", "args": ["mcp"] } } } ``` ## Development ```bash # 启动后端(开发模式) cd backend && cargo run # 启动前端(开发模式,代理到 :3000) cd frontend && npm run dev ``` ## Tech Stack | Layer | Technology | |-------|-----------| | Backend | Rust + axum | | Search | Tantivy (BM25) + Flat Vector | | Storage | SQLite (rusqlite) | | Frontend | Vue 3 + TDesign | | MCP | stdio JSON-RPC |