mcpField
T
tilde

tilde

本地服务
github.com/topskychen记忆与知识442 周前更新

关于 tilde

tilde 是注重隐私的 MCP 服务,为 AI Agent 提供可迁移的用户档案、技能和团队背景。数据默认保存在本地,并允许 Agent 提出档案变更供人工审批。

主要功能

  1. 01结构化档案与自定义字段
  2. 02Agent 提议更新并由用户审批
  3. 03技能可见性与 Agent 可调用技能
  4. 04简历和文档导入
  5. 05团队背景同步
  6. 06YAML、SQLite 与 Mem0 存储

适用场景

  1. 01在不同 AI 工具间复用个人偏好
  2. 02审核 Agent 提议的档案变更
  3. 03从简历导入工作经历
  4. 04与团队共享编码规范

MCP 相关

tilde 提供档案和团队资源,以及用于读取档案与团队背景、提议更新的工具。用户可以审核并批准这些变更。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"topskychen-tilde": {
"command": "npx",
"args": [
"-y",
"tilde-ai"
]
}
}
}
启动命令npx -y tilde-ai

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmtilde-ai0.1.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

🏠 tilde

AI Agent 的主目录

tilde 是一个以隐私为先的 Model Context Protocol(MCP)服务,可作为 AI Agent 的通用记忆和个人资料层。

配置一次,随处使用。数据由你掌控。

支持个人资料管理、技能、简历导入和团队同步。

问题

每次切换 AI 工具时,你都会遇到相同的问题:

  • 🔄 重复输入:“我是一名高级软件工程师”“我偏好 Python”“不要使用 ORM”
  • 🧩 信息割裂:在 Cursor 中学到的偏好无法在 Claude 中使用
  • 🔒 隐私顾虑:不确定谁能访问你的个人上下文

解决方案

tilde 就像一张“数字护照”,你的 AI Agent 可以读取它:

┌────────────────────────────────────────────────────────────┐
│  Claude Desktop  │   Cursor   │  Windsurf  │  Your Agent   │
└────────┬─────────┴─────┬──────┴─────┬──────┴───────┬───────┘
         │               │            │              │
         └───────────────┴─────┬──────┴──────────────┘
                               │
                    ┌──────────▼──────────┐
                    │   tilde MCP Server  │
                    │   (runs locally)    │
                    └──────────┬──────────┘
                               │
                    ┌──────────▼──────────┐
                    │   ~/.tilde/profile  │
                    │   (your data)       │
                    └─────────────────────┘

功能

  • 🏠 本地优先:默认情况下,你的数据保留在自己的设备上
  • 📋 结构化个人资料:身份、技术栈、知识、技能
  • 🔌 MCP 标准:适用于任何兼容 MCP 的 Agent
  • ✏️ 人工参与:Agent 可以提出更新,由你批准
  • 🔧 可扩展架构:无需修改代码即可添加自定义字段
  • 🔒 技能隐私:控制 Agent 可见的技能(公开/私有/团队)
  • 🤖 Agent 可调用的技能:定义 AI Agent 可以代表你调用的技能
  • 📄 简历导入:从现有简历/履历表初始化个人资料
  • 📚 知识来源:书籍、文档、课程、文章,统一的学习模型
  • 👥 团队同步:在团队内共享编码规范

快速开始

安装
# Install from PyPI
pip install tilde-ai

# Initialize your profile
tilde init
开发环境安装
# Clone the repository
git clone https://github.com/topskychen/tilde.git
cd tilde

# Install with uv
uv sync

# Run locally
uv run tilde init
配置 Cursor

将以下内容添加到项目中的 .cursor/mcp.json(全局使用则添加到 ~/.cursor/mcp.json):

{
  "mcpServers": {
    "tilde": {
      "command": "npx",
      "args": ["-y", "tilde-ai"]
    }
  }
}

配置完成后,你会在 MCP 服务列表中看到 tilde,以及所有可用的工具和资源:

Cursor MCP 设置

配置 Antigravity

将以下内容添加到项目中的 .gemini/antigravity/settings.json:

{
  "mcpServers": {
    "tilde": {
      "command": "npx",
      "args": ["-y", "tilde-ai"]
    }
  }
}
配置 Claude Desktop

将以下内容添加到 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "tilde": {
      "command": "npx",
      "args": ["-y", "tilde-ai"]
    }
  }
}
使用示例

配置完成后,你的 AI Agent 就可以访问个人资料。试着询问:

“我叫什么名字?”

Agent 会使用 get_profile 工具获取你的身份信息,并回答你的姓名和角色:

Cursor 演示

创建个人资料

编辑 ~/.tilde/profile.yaml:

schema_version: "1.0.0"

user_profile:
  identity:
    name: "John Doe"
    role: "Full Stack Developer"
    years_experience: 10
    # Add any custom fields you need:
    timezone: "America/Los_Angeles"
    pronouns: "they/them"

  tech_stack:
    languages:
      - TypeScript
      - Python
      - Go
    frameworks:
      - React
      - FastAPI
      - Next.js
    preferences:
      - "Prefer composition over inheritance"
      - "Write tests before implementation (TDD)"
      - "Use descriptive variable names over comments"
    environment: "VS Code, Docker, Linux/MacOS"

  # Knowledge sources: books, docs, courses, articles, etc.
  knowledge:
    domains:
      web_development: "Focus on performance and accessibility"
      ml_ops: "Experience deploying ML models to production"
    
    sources:
      - title: "Clean Code"
        source_type: "book"
        insights:
          - "Functions should do one thing"
          - "Prefer meaningful names over documentation"
      - title: "React Documentation"
        source_type: "document"
        url: "https://react.dev"
        insights:
          - "Prefer Server Components for data fetching"

  # Agent-callable skills (Anthropic SKILL.md format)
  skills:
    - name: "code-formatter"
      description: "Format code using project conventions"
      visibility: "public"
      tags: ["automation", "code-quality"]
    - name: "deploy-staging"
      description: "Deploy current branch to staging environment"
      visibility: "team"
    - name: "expense-reporter"
      description: "Generate expense reports from receipts"
      visibility: "private"

team_context:
  organization: "Acme Corp"
  coding_standards: "ESLint + Prettier, PR reviews required"
  architecture_patterns: "Monorepo with shared packages"
  do_not_use:
    - "jQuery"
    - "Class components in React"

MCP 资源

tilde 会向 Agent 提供以下资源:

资源 URI描述
tilde://user/profile完整的用户个人资料
tilde://user/identity姓名、角色、经验、自定义字段
tilde://user/tech_stack编程语言、偏好、环境
tilde://user/knowledge知识来源、领域、项目
tilde://user/skills技能(按可见性筛选)
tilde://user/experience工作经历
tilde://user/education教育背景
tilde://user/projects个人/开源项目
tilde://user/publications论文和出版物
tilde://team/context团队编码规范和模式

MCP 工具

工具描述
get_profile获取完整或部分个人资料
get_team_context获取团队专属上下文
propose_updateAgent 提出个人资料更新(进入队列等待批准)
list_pending_updates列出等待用户批准的更新

CLI 命令

tilde init                    # Create default profile
tilde show                    # Display current profile
tilde show skills             # Show skills section only
tilde show --full             # Show full content without truncation
tilde edit                    # Open profile in $EDITOR
tilde config                  # Show current configuration
tilde pending                 # List pending agent updates
tilde approve <id> [id2...]   # Approve one or more updates
tilde reject <id> [id2...]    # Reject one or more updates
tilde approve --all           # Approve all pending updates
tilde reject --all            # Reject all pending updates
tilde approve --all -e <id>   # Approve all except one
tilde log                     # View update history
tilde ingest <file>           # Extract insights from a document
tilde export --format json    # Export profile
文档导入
# Ingest a book and extract insights
tilde ingest "~/Books/DDIA.pdf" --topic data_systems

# Dry run to preview what would be extracted
tilde ingest notes.md --dry-run

# Auto-approve high-confidence updates
tilde ingest paper.pdf --auto-approve 0.8
简历导入

从现有简历初始化个人资料:

# Import resume (PDF, DOCX, or text)
tilde ingest ~/Documents/resume.pdf --type resume

# Preview what would be extracted
tilde ingest resume.pdf --type resume --dry-run

# Auto-approve high-confidence items
tilde ingest resume.pdf --type resume --auto-approve 0.8

简历导入器会提取:

  • 身份:姓名、角色、工作年限
  • 工作经历:包含公司、职位和日期的工作历史
  • 教育背景:学位、院校、毕业年份
  • 技术栈:编程语言、框架、工具
  • 项目:个人和开源项目
  • 出版物:论文、专利、文章
技能管理

管理 Anthropic 格式的技能,并全面支持打包:

# Import skills from Anthropic skills directory
tilde skills import /path/to/skills

# Import specific skills by name
tilde skills import /path/to/skills -n mcp-builder -n pdf

# Dry run to preview import
tilde skills import ./skills --dry-run

# Import as private skills
tilde skills import ./skills --visibility private

# List all imported skills
tilde skills list

# Export skills to Anthropic format
tilde skills export ./my-skills

# Export specific skill
tilde skills export ./output -n mcp-builder

# Delete skills
tilde skills delete skill-name
tilde skills delete --all --force

技能导入器会打包以下内容:

  • SKILL.md:包含 YAML frontmatter 的技能内容
  • scripts/:Python 脚本和实用工具
  • references/:文档文件
  • templates/:模板文件
  • assets/:静态资源
  • 根目录文件:LICENSE.txt 等

所有打包的资源都会在导入 → 持久化 → 导出过程中完整保留。

团队管理
# Create a team
tilde team create myteam --name "My Startup" --org "ACME Corp"

# Activate team context (applies to all profile queries)
tilde team activate myteam

# Sync team config from URL or git repo
tilde team sync https://example.com/team.json --activate
tilde team sync [email protected]:myorg/team-config.git --activate

# List and manage teams
tilde team list
tilde team show
tilde team edit
tilde team deactivate

存储后端

tilde 支持多个存储后端:

后端使用场景命令
YAML(默认)易于阅读,适合使用 Git 管理TILDE_STORAGE=yaml
SQLite支持查询和记忆,规模扩大时速度更快TILDE_STORAGE=sqlite
Mem0通过嵌入向量进行语义搜索TILDE_STORAGE=mem0
# Use SQLite backend
export TILDE_STORAGE=sqlite
tilde init

# Query profile fields (SQLite only)
uv run python -c "
from tilde.storage import get_storage
storage = get_storage(backend='sqlite')
print(storage.query('%languages%'))
"

配置

tilde 使用集中式配置来设置 LLM 和嵌入向量。配置存储在 ~/.tilde/config.yaml 中,可在不同设备间同步。

配置优先级
  1. 环境变量(优先级最高)
  2. 配置文件(~/.tilde/config.yaml)
  3. 内置默认值(优先级最低)
环境变量
变量描述默认值
GOOGLE_API_KEYGoogle/Gemini API 密钥(主要)必填
OPENAI_API_KEYOpenAI API 密钥(备用)可选
TILDE_LLM_MODEL用于文档导入的 LLM 模型gemini-3-flash-preview
TILDE_EMBEDDING_MODEL用于语义搜索的嵌入模型gemini-embedding-001
TILDE_STORAGE存储后端(yaml、sqlite、mem0)yaml
TILDE_PROFILE自定义个人资料路径~/.tilde/profile.yaml
管理配置
# View current configuration
tilde config

# Save settings to config file (for syncing across devices)
tilde config --save

# Modify a setting and save
tilde config --set llm_model=gemini-1.5-pro

# Show config file path
tilde config --path

注意:出于安全考虑,API 密钥绝不会保存到配置文件中。请始终通过环境变量设置。

快速设置
# Minimal setup (just one API key!)
export GOOGLE_API_KEY="your-google-api-key"

# Save your settings for this device
tilde config --save

# Now you can use all features
tilde ingest paper.pdf
在不同设备间同步

~/.tilde/config.yaml 中的配置文件旨在支持同步:

  1. 通过 dotfiles 仓库:将 ~/.tilde/ 添加到你的 dotfiles 中
  2. 通过云同步:使用 Dropbox、iCloud 或类似服务
  3. 手动同步:将文件复制到新设备

配置文件示例:

llm_model: gemini-3-flash-preview
llm_temperature: 0.7
embedding_model: gemini-embedding-001
embedding_dimensions: 768
storage_backend: yaml
以编程方式配置
from tilde.config import get_config, call_llm, get_embedding, save_config

# Check current config
config = get_config()
print(f"Provider: {config.provider}")
print(f"LLM Model: {config.llm_model}")

# Use directly
response = call_llm("Summarize this document...")
embedding = get_embedding("Some text to embed")

路线图

  • 阶段 1:支持读取个人资料的 MVP
  • 阶段 2:Agent 提出更新并经过审批流程
  • 阶段 3:导入文档(书籍、PDF)
  • 阶段 4:面向 B2B 使用场景的团队同步
  • 阶段 5:SQLite 和 Mem0 存储后端
  • 阶段 6:技能管理(Anthropic SKILL.md 格式)
    • 使用 tilde skills import 从目录批量导入
    • 使用 tilde skills export 导出到目录
    • 完整打包脚本、参考资料、模板和资源
    • 按技能名称去重

为什么叫 “tilde”?

在 Unix 中,~(波浪号)代表你的主目录,也就是存放个人配置的地方。tilde 是你的 AI 身份之家。


理念

  1. 数据由你掌控:默认本地存储,仅在你选择时同步
  2. 人在回路中:Agent 提议,人来决定
  3. 便携且开源:随时导出,不受供应商锁定,可与任何 MCP 工具配合使用
  4. 渐进式披露:从简单开始,按需增加复杂度

许可证

MIT


一次配置,随处使用。数据由你掌控。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。