Token导航 LogoToken导航TokenDH.com
Project Tessera logo
搜索检索stdio官方级别未说明来源级核验

Project Tessera

MCP Server

Tessera是一个本地运行的AI对话知识管理工具,提供持久记忆和文档搜索功能,支持多种文件类型和自动化脚本集成。

工具数

53

提示词数

0

GitHub Stars

14

资源数

0
本地运行PythonClaude文档处理Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

besslframework-stack

提供方

besslframework-stack

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install project-tessera

详细介绍

镶嵌物

](https://pypi.org/project/project-tessera/) ](https://pypi.org/project/project-tessera/) ![Tests](<>) ![Python](https://pypi.org/project/project-tessera/) ![License](https://github.com/besslframework-stack/project-tessera/blob/main/LICENSE) ![Website](https://tessera-dev.vercel.app)

每一次人工智能对话都会产生知识。当会话结束时,它就消失了。泰塞拉保留着它。

ClaudeDesktop的一个知识库,带有用于脚本和自动化的HTTP API。在当地运行。没有API密钥,没有Docker,没有数据离开您的机器。

pip install project-tessera
tessera setup
# Done. Claude Desktop now has persistent memory + document search.

______________________________________________________________________

为什么泰塞拉选择替代品

||Tessera|Mem0|基本内存|mcp内存服务| |--|---------|------|--------------|-------------------| |在没有API密钥的情况下工作|是|否(需要OpenAI)|是|部分| |在没有Docker的情况下工作|是|否|是|不| |文档搜索(40+种)|是|否|仅Markdown |否| |ChatGPT集成(通过隧道)|是|否|否|不| |矛盾检测|是|否|否|不| |记忆信心评分|是|否|否|不| |加密保管库(AES-256)|是|否|否|不| |用于非MCP工具的HTTP API | 58个端点|是|否|是| |从对话中自动学习|是|是|否|否| |MCP工具|58|~10|~15|24|

简短版本

大多数内存工具都会存储文本并进行搜索。Tessera会这样做,此外:

  • HTTP API:58个REST端点允许脚本、ChatGPT(通过隧道+自定义GPT操作)和本地LLM读写相同的知识库。
  • 自我维持:发现新旧记忆之间的矛盾,通过强化频率得分,标记过时的知识,自动合并接近重复的内容。
  • 零基础设施: pip install 然后走。LanceDB和fastembed是嵌入式的——没有Docker,没有数据库服务器,没有API密钥。
  • 加密:set TESSERA_VAULT_KEY 并且所有存储器在静止时都是AES-256-CBC加密的。

______________________________________________________________________

建筑

搜索的工作原理(查询路径)

    User asks: "What did we decide about the database?"
                            |
                            v
                +-----------------------+
                |    Query Processing   |
                |  Multi-angle decomp   |    "database decision"
                |  (2-4 perspectives)   |    "database", "decision"
                +-----------------------+    "decision about database"
                            |
              +-------------+-------------+
              |                           |
              v                           v
    +------------------+        +------------------+
    |  Vector Search   |        |  Keyword Search  |
    |  (LanceDB)       |        |  (FTS index)     |
    |  384-dim MiniLM  |        |  BM25 scoring    |
    +------------------+        +------------------+
              |                           |
              +-------------+-------------+
                            |
                            v
                +-----------------------+
                |      Reranking        |
                |  70% semantic weight  |    LinearCombinationReranker
                |  30% keyword weight   |    + version-aware scoring
                +-----------------------+
                            |
                            v
                +-----------------------+
                |   Result Assembly     |
                |  Dedup (content hash) |    2-pass deduplication
                |  Verdict labels       |    found / weak / none
                |  Cache (60s TTL)      |
                +-----------------------+
                            |
                            v
                    Top-K results with
                    confidence scores

摄入是如何工作的(摄入路径)

    Documents: .md .pdf .docx .xlsx .py .ts .go ...  (40+ types)
                            |
                            v
                +-----------------------+
                |   File Type Router    |
                |  Markdown, CSV, XLSX  |    Type-specific parsers
                |  Code, PDF, Images    |    with metadata extraction
                +-----------------------+
                            |
                            v
                +-----------------------+
                |   Chunking Engine     |
                |  1024 tokens/chunk    |    Sentence-boundary aware
                |  100 token overlap    |    Heading-preserving
                +-----------------------+
                            |
                            v
                +-----------------------+
                |   Local Embedding     |
                |  fastembed/ONNX       |    paraphrase-multilingual
                |  384 dimensions       |    MiniLM-L12-v2
                |  No API calls         |    101 languages
                +-----------------------+
                            |
              +-------------+-------------+
              |                           |
              v                           v
    +------------------+        +------------------+
    |    LanceDB       |        |     SQLite       |
    |  Vector storage  |        |  File metadata   |
    |  Columnar format |        |  Search analytics|
    |  Zero-config     |        |  Interaction log |
    +------------------+        +------------------+

系统概述

                    +--------------------------------------------+
                    |              src/core.py                    |
                    |         58 orchestration functions          |
                    |   69 specialized modules, 31k LOC           |
                    +--------------------------------------------+
                     /                |                \
    +---------------+  +-------------------+  +--------------+
    | MCP Server    |  | HTTP API Server   |  | CLI          |
    | Claude Desktop|  | FastAPI + Swagger |  | 11 commands  |
    | 58 tools      |  | 58 endpoints      |  | setup, sync  |
    | stdio         |  | port 8394         |  | ingest, api  |
    +---------------+  +-------------------+  +--------------+
           |                    |                     |
           v                    v                     v
    +------------------------------------------------------------+
    |                    Storage Layer                            |
    |  LanceDB         SQLite           Filesystem               |
    |  (vectors)       (metadata,       (memories as .md,        |
    |                   analytics,       encrypted with           |
    |                   interactions)    AES-256-CBC)             |
    |                                                            |
    |  fastembed/ONNX: local embedding, no API keys              |
    |  101 languages, 384-dim vectors, ~220MB model              |
    +------------------------------------------------------------+

______________________________________________________________________

开始

1.安装

pip install project-tessera

或与 紫外线:

uvx --from project-tessera tessera setup

2.设置

tessera setup

创建工作区配置,下载嵌入模型(约220MB,仅限首次),配置Claude Desktop。

3.重新启动克劳德桌面

问克劳德你的文件。它会自动搜索。

与ChatGPT一起使用(自定义GPT操作)

tessera api                     # Start REST API on localhost:8394
ngrok http 8394                 # Expose to the internet
# Then create a Custom GPT with the Actions spec from /chatgpt-actions/openapi.json

完整设置指南,请访问 http://127.0.0.1:8394/chatgpt-actions/setup.Swagger文档位于 http://127.0.0.1:8394/docs.

______________________________________________________________________

运作原理

混合搜索与重新排名

每次搜索都会经历四个阶段:

  1. 查询分解——将查询分为2-4个搜索角度(核心关键字、单个术语、反向强调)
  2. 混合检索——向量相似度(LanceDB)和关键字匹配(FTS/BM25)并行运行
  3. 重新排序——线性组合排序器合并两个结果集(70%语义,30%关键字权重)
  4. 判决评分——每个结果都有一个标签: confident match (>= 45%), possible match (25-45%),或 low relevance (\", "source": "chatgpt"}'

导出为黑曜石保管库(维基链接)、Markdown、CSV或JSON:

curl http://127.0.0.1:8394/export?format=obsidian


### 内存健康状况

每个记忆都是健康的、陈旧的(90多天没有强化)或孤立的(没有元数据,没有类别)。健康报告告诉你要清理什么,并跟踪一段时间的增长。

### 插件挂钩

发生事情时运行自己的脚本:

workspace.yaml

hooks: on_memory_created: - script: ./notify-slack.sh on_contradiction_found: - script: ./alert.py


7种事件类型: `on_memory_created`, `on_memory_deleted`, `on_search`, `on_session_start`, `on_session_end`, `on_ingest_complete`, `on_contradiction_found`.

______________________________________________________________________

## 支持的文件类型(40+)

|类别|扩展|安装|
|----------|-----------|---------|
|文件| `.md` `.txt` `.rst` `.csv` |包括|
|办公室| `.xlsx` `.docx` `.pdf` | `pip install project-tessera[xlsx,docx,pdf]` |
|代码| `.py` `.js` `.ts` `.tsx` `.jsx` `.java` `.go` `.rs` `.rb` `.php` `.c` `.cpp` `.h` `.swift` `.kt` `.sh` `.sql` `.cs` `.dart` `.r` `.lua` `.scala` |包括|
|配置| `.json` `.yaml` `.yml` `.toml` `.xml` `.ini` `.cfg` `.env` |包括|
|Web| `.html` `.htm` `.css` `.scss` `.less` `.svg` |包括|
|图片| `.png` `.jpg` `.jpeg` `.webp` `.gif` `.bmp` `.tiff` | `pip install project-tessera[ocr]` |

______________________________________________________________________

## MCP工具(58)

Search (5)

|工具|它做什么|
|------|-------------|
| `search_documents` |跨所有文档的语义+关键字混合搜索|
| `unified_search` |在一次通话中搜索文档和记忆|
| `view_file_full` |完整文件视图(CSV为表格,XLSX为每张表)|
| `read_file` |读取任何文件的完整内容|
| `list_sources` |查看索引内容|

Memory (13)

|工具|它做什么|
|------|-------------|
| `remember` |保存跨会话持续存在的知识|
| `recall` |使用日期/类别过滤器搜索过去的记忆|
| `learn` |保存并立即索引新知识|
| `list_memories` |浏览已保存的记忆|
| `forget_memory` |删除特定内存|
| `export_memories` |将所有内存批量导出为JSON|
| `import_memories` |从JSON批量导入内存|
| `memory_tags` |列出所有具有计数的唯一标签|
| `search_by_tag` |按特定标签过滤内存|
| `memory_categories` |列出自动检测的类别(决策/偏好/事实)|
| `search_by_category` |按类别筛选记忆|
| `find_similar` |查找与给定文件类似的文档|
| `knowledge_graph` |构建文档关系的美人鱼图|

Auto-learn (5)

|工具|它做什么|
|------|-------------|
| `digest_conversation` |从当前会话中提取并保存知识|
| `toggle_auto_learn` |打开/关闭自动学习或检查状态|
| `review_learned` |查看最近自动学习的记忆|
| `session_interactions` |查看当前/过去会话中的工具调用|
| `recent_sessions` |包含交互计数的会话历史记录|

Intelligence (7)

|工具|它做什么|
|------|-------------|
| `decision_timeline` |你的决定如何随着时间的推移而变化,按主题分列|
| `context_window` |将最佳上下文打包到令牌预算中|
| `smart_suggest` |根据您过去的搜索结果查询建议|
| `topic_map` |使用Mermaid思维导图按主题聚类记忆|
| `knowledge_stats` |汇总统计数据(类别、标签、增长)|
| `user_profile` |自动构建的配置文件(语言、偏好、专业知识)|
| `explore_connections` |显示围绕特定主题的联系|

Insight (6)

|工具|它做什么|
|------|-------------|
| `deep_search` |将查询分为2-4个角度,每个角度进行搜索,合并最佳结果|
| `deep_recall` |带有判断标签的多角度记忆回忆|
| `detect_contradictions` |查找具有严重性评级的冲突记忆|
| `memory_confidence` |每个记忆的可靠性如何(重复性、近因性、来源多样性)|
| `memory_health` |哪些记忆是健康的、陈旧的或孤立的|
| `list_plugin_hooks` |查看已注册的挂钩|

Import/Export (4)

|工具|它做什么|
|------|-------------|
| `export_for_ai` |以便携格式导出存储器|
| `import_from_ai` |从外部来源导入内存|
| `import_conversations` |从ChatGPT/Claude对话导出中提取知识|
| `export_knowledge` |导出为黑曜石(维基链接)、Markdown、CSV或JSON|

ChatGPT可以通过自定义GPT操作进行连接(需要隧道)。看 `/chatgpt-actions/setup`.

Security and data (2)

|工具|它做什么|
|------|-------------|
| `vault_status` |检查AES-256加密状态|
| `migrate_data` |从旧架构版本升级数据|

Workspace (11)

|工具|它做什么|
|------|-------------|
| `ingest_documents` |索引文档(首次或完全重建)|
| `sync_documents` |增量同步(仅更改文件)|
| `project_status` |每个项目最近的更改|
| `extract_decisions` |从日志中查找过去的决策|
| `audit_prd` |检查PRD质量(13节结构)|
| `organize_files` |移动、重命名、存档文件|
| `suggest_cleanup` |检测备份文件、空目录、放错位置的文件|
| `tessera_status` |服务器运行状况:跟踪文件、同步历史、缓存|
| `health_check` |全工作区诊断|
| `search_analytics` |搜索使用模式、热门查询、响应时间|
| `check_document_freshness` |检测超过N天的过时文档|

______________________________________________________________________

## HTTP API(58个端点)

pip install project-tessera[api] tessera api # http://127.0.0.1:8394


Swagger用户界面位于 `http://127.0.0.1:8394/docs`.可选的身份验证方式 `TESSERA_API_KEY` 有人是。

All endpoints

|方法|路径|它的作用|
|--------|------|-------------|
|得到| `/health` |健康检查|
|得到| `/version` |版本信息|
|职位| `/search` |语义+关键字搜索|
|职位| `/unified-search` |搜索文档+回忆|
|职位| `/remember` |保存内存|
|职位| `/recall` |使用过滤器搜索记忆|
|职位| `/learn` |保存和索引知识|
|得到| `/memories` |列出回忆|
|删除| `/memories/{id}` |删除内存|
|得到| `/memories/categories` |列出类别|
|得到| `/memories/search-by-category` |按类别筛选|
|得到| `/memories/tags` |列表标签|
|得到| `/memories/search-by-tag` |按标签筛选|
|职位| `/context-window` |构建令牌预算上下文|
|得到| `/decision-timeline` |决策演变|
|得到| `/smart-suggest` |查询建议|
|得到| `/topic-map` |主题集群|
|得到| `/knowledge-stats` |统计仪表板|
|职位| `/batch` |一次通话中进行多项操作|
|得到| `/export` |导出为黑曜石/MD/CSV/JSON|
|得到| `/export-for-ai` |以便携格式导出存储器|
|职位| `/import-from-ai` |从外部来源导入内存|
|职位| `/import-conversations` |导入过去的对话|
|职位| `/migrate` |运行数据迁移|
|得到| `/vault-status` |加密状态|
|得到| `/user-profile` |用户资料|
|得到| `/status` |服务器状态|
|得到| `/health-check` |工作区诊断|
|职位| `/deep-search` |多角度文档搜索|
|职位| `/deep-recall` |多角度记忆回忆|
|得到| `/contradictions` |检测冲突的记忆|
|得到| `/memory-confidence` |内存可靠性得分|
|得到| `/memory-health` |内存健康分析|
|得到| `/hooks` |列出插件挂钩|
|得到| `/entity-search` |搜索实体知识图|
|职位| `/entity-graph` |实体美人鱼图|
|得到| `/consolidation-candidates` |查找相似的内存集群|
|职位| `/consolidate` |合并相似的记忆|
|得到| `/dashboard` |Web仪表板(深色主题、实体图、统计数据)|
|职位| `/sleep-consolidate` |自动合并几乎重复的内存|
|职位| `/retention-policy` |标记旧的或低质量的记忆|
|得到| `/retention-summary` |年龄分布和风险计数|
|得到| `/adapters/{framework}` |LangChain、CrewAI、AutoGen的设置代码|
|职位| `/auto-curate` |对记忆进行分类、标记、重复数据消除和清理|
|得到| `/auto-insights` |热门话题、决策模式、隐藏联系|
|得到| `/chatgpt-actions/openapi.json` |自定义GPT操作的OpenAPI规范|
|得到| `/chatgpt-actions/instructions` |GPT指令模板|
|得到| `/chatgpt-actions/setup` |ChatGPT集成设置指南|

### 快速示例

Search documents

curl -X POST http://127.0.0.1:8394/search \ -H "Content-Type: application/json" \ -d '{"query": "database architecture", "top_k": 5}'

Save a memory

curl -X POST http://127.0.0.1:8394/remember \ -H "Content-Type: application/json" \ -d '{"content": "Use PostgreSQL for production", "tags": ["db"]}'

Export memories

curl http://127.0.0.1:8394/export-for-ai?target=chatgpt

Batch (multiple operations, single request)

curl -X POST http://127.0.0.1:8394/batch \ -H "Content-Type: application/json" \ -d '{"operations": [{"method": "search", "params": {"query": "test"}}, {"method": "knowledge_stats"}]}'


______________________________________________________________________

## CLI(11个命令)

tessera setup # One-command setup (config + model download + Claude Desktop) tessera init # Interactive setup tessera ingest # Index all document sources tessera sync # Re-index changed files only tessera serve # Start MCP server (stdio) tessera api # Start HTTP API server (port 8394) tessera migrate # Upgrade data schema tessera check # Workspace health diagnostics tessera status # Project status summary tessera install-mcp # Configure Claude Desktop tessera version # Show version


______________________________________________________________________

## Claude桌面配置

**使用uvx(推荐):**

{ "mcpServers": { "tessera": { "command": "uvx", "args": ["--from", "project-tessera", "tessera-mcp"] } } }


**使用pip:**

{ "mcpServers": { "tessera": { "command": "tessera-mcp" } } }


配置位置:

- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- 窗户: `%APPDATA%\Claude\claude_desktop_config.json`

______________________________________________________________________

## 配置

`tessera setup` 创造 `workspace.yaml`:

workspace: root: /Users/you/Documents name: my-workspace

sources: - path: . type: document

search: reranker_weight: 0.7 # Semantic vs keyword balance (0.0 = keyword only, 1.0 = vector only) max_top_k: 50 # Max results per search

ingestion: chunk_size: 1024 # Tokens per chunk chunk_overlap: 100 # Overlap between chunks

hooks: # Optional plugin hooks on_memory_created: - script: ./my-hook.sh


或设置 `TESSERA_WORKSPACE=/path/to/docs` 完全跳过配置文件。

环境变量:

- `TESSERA_API_KEY` --启用API身份验证
- `TESSERA_VAULT_KEY` --为存储器启用AES-256加密

______________________________________________________________________

## 技术细节

|组件|技术|为什么|
|-----------|-----------|-----|
|矢量存储|LanceDB|嵌入式列式存储。无需服务器进程,本机处理矢量+元数据查询|
|嵌入| fastembed/ONNX|本地推理,无API密钥。 `paraphrase-multilingual-MiniLM-L12-v2` (384 dim,101种语言)|
|元数据|SQLite |文件跟踪、搜索分析、交互日志记录。带可缩锁的螺纹安全|
|内存存储|文件系统(.md)|人类可读、git友好、可加密。用于元数据的YAML frontmatter|
|加密|纯Python AES-256-CBC |不依赖OpenSSL。PKCS7填充,每个内存随机IV|
|HTTP API | FastAPI | Swagger文档,Pydantic验证,异步功能|
|MCP|FastMCP(stdio)|Claude Desktop的标准MCP协议|

### 数字

|度量|计数|
|--------|-------|
|MCP工具|58|
|HTTP端点|58|
|CLI命令|11|
|核心模块|69|
|代码行数|31000+|
|测试|1102|
|文件类型|40+|

______________________________________________________________________

## 许可证

AGPL-3.0——见 [许可证](LICENSE).

商业许可:bessl.framework@gmail.com

目录标签

目录标签

本地运行PythonClaude文档处理AI对话本地部署知识管理文档搜索自动化集成

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

53

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP