项目简介
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 官方文档。
信息
分类
开发者工具