项目简介

tenets 是一个强大的Model Context Protocol (MCP) 服务器,专为AI编码助手设计。它能够深入分析你的代码库,智能地识别与你当前任务最相关的文件、代码片段和项目指导原则(tenets)。通过与支持MCP的AI工具(如Cursor、Claude Desktop)原生集成,tenets 确保AI始终拥有最准确和及时的代码上下文,从而显著提升代码理解、问题调试和新功能开发效率。所有处理都在本地运行,保障数据隐私和安全性。

主要功能点

  • 智能上下文构建: 自动查找、排序和聚合代码库中最相关的文件,并智能地摘要以适应LLM的Token限制。
  • 多维度代码分析: 结合BM25、TF-IDF、机器学习嵌入和Git历史信号等多种算法,精确评估文件重要性。
  • 原生AI助手集成: 通过Model Context Protocol (MCP) 与主流AI编码助手无缝集成,提供按需上下文。
  • 项目原则(Tenets)注入: 允许定义和注入项目指导原则,确保AI在交互中始终遵循这些关键的设计理念或规范。
  • 会话管理与文件钉选: 支持创建会话,并在会话中“钉选”关键文件,确保它们始终包含在AI的上下文中。
  • 代码转换与可视化: 可根据需要转换代码(如去除注释、精简空白),并提供代码库架构、依赖关系和开发活动的分析与可视化。
  • 本地运行: 所有代码处理均在本地进行,无API成本,无数据外泄,保护隐私。

安装步骤

首先,确保你的系统已安装Python 3.9或更高版本。 打开终端或命令行工具,运行以下命令进行安装:

# 基础安装 - 包含BM25/TF-IDF排序,提供核心功能
pip install tenets

# 完整安装,包含MCP服务器集成所需的所有依赖
pip install tenets[mcp]

# 如果需要更高级的机器学习语义搜索功能(可能需要下载2GB+模型),可额外安装
pip install tenets[ml]

# 包含所有可选功能(MCP服务器、ML、可视化等)的完整安装
pip install tenets[all]

服务器配置 (面向MCP客户端)

安装完成后,你可以将 tenets MCP 服务器集成到支持MCP协议的AI编码助手中。以下是常见的配置示例:

启动 tenets MCP 服务器: 在终端中,你可以通过运行以下命令来启动 tenets MCP 服务器: 'tenets-mcp' 服务器启动后,它将监听来自AI客户端的MCP请求。

Claude Desktop 配置示例: 要将 tenets 集成到 Claude Desktop,你需要编辑其配置文件(通常位于 '~/Library/Application Support/Claude/claude_desktop_config.json' 或类似路径)。在 'mcpServers' 部分添加 tenets 的配置:

{
  "mcpServers": {
    "tenets": {
      "command": "tenets-mcp",
      "args": []
    }
  }
}

配置注释:

  • '"command"': 启动 'tenets' MCP 服务器的命令行指令。默认情况下,它将尝试使用 'stdio' 传输协议。
  • '"args"': 一个字符串数组,用于向 'tenets-mcp' 命令传递额外的参数。例如,可以通过 '["--transport", "sse", "--port", "8080"]' 来指定使用SSE传输协议和8080端口。具体参数选项请查阅 'tenets' 官方文档。

Cursor 配置示例: 对于 Cursor,你可以在其设置中找到 "MCP Servers" 部分进行图形化配置,或者直接编辑配置JSON。添加以下配置:

{
  "tenets": {
    "command": "tenets-mcp",
    "args": []
  }
}

配置注释:

  • '"command"': 启动 'tenets' MCP 服务器的命令行指令。
  • '"args"': 一个字符串数组,用于向 'tenets-mcp' 命令传递额外的参数。

配置完成后,你的AI助手将能够通过MCP协议调用 tenets 的功能,例如查找相关文件、获取项目上下文等。

基本使用方法 (命令行)

除了作为MCP服务器后台运行,你也可以直接通过命令行使用 tenets 的核心功能:

  • 构建上下文('distill'): 查找并聚合与特定查询相关的代码文件。
    tenets distill "实现OAuth2认证"              # 在当前目录搜索并聚合
    tenets distill "修复支付模块bug" --copy      # 聚合结果并复制到剪贴板
    tenets distill "重构API" --mode thorough      # 使用深度分析模式
  • 文件排序('rank'): 预览哪些文件将被包含,而不实际提取内容(速度更快)。
    tenets rank "实现用户管理" --top 10           # 显示前10个最相关文件
    tenets rank "调试认证流" --factors             # 理解文件被排序的原因
  • 会话与原则('session', 'tenet', 'instill'): 管理工作会话和项目指导原则。
    tenets session create auth-feature             # 创建新会话
    tenets instill --session auth-feature --add-file src/auth.py # 将文件钉选到会话
    tenets tenet add "总是验证用户输入" --priority critical # 添加项目原则
    tenets distill "开发用户登录功能" --session auth-feature # 在会话上下文中构建
  • 代码分析与可视化('examine', 'viz'): 分析代码库的结构、依赖和活动。
    tenets examine . --complexity                  # 分析代码复杂度
    tenets viz deps --output architecture.svg      # 生成依赖图

更多详细信息和高级用法请参考 tenets 官方文档

信息

分类

开发者工具