侧帮-MCP辅助连接器
一个Chrome扩展程序,将人工智能辅助直接带入您的GitHub工作流程
🚀 这是什么?
MCP Assistant Connector是一个Chrome扩展程序(Manifest V3),它将AI辅助无缝集成到GitHub页面中。它提供:
- 情境人工智能辅助:自动检测GitHub上下文(repo、PR、文件等),并将其包含在提示中
- 快捷操作:用于解释代码、重构、编写测试和总结PR等常见任务的预构建提示
- 多个端点:支持本地和远程MCP端点,以及可定制的端点配置文件
- 智能侧边栏:可折叠侧边栏,不会干扰您的工作流程
- 历史跟踪:每个标签的对话历史记录,便于参考
- 粘贴集成:将响应直接复制到GitHub文本字段中
📁 项目结构
sidehelp/
├── manifest.json # Extension manifest
├── src/
│ ├── background.js # Service worker (request proxy, telemetry)
│ ├── contentScript.js # Sidebar injection and GitHub context detection
│ ├── sidebar.css # Sidebar styles with dark theme
│ ├── popup.html/js/css # Toolbar popup interface
│ └── options.html/js/css # Settings and configuration UI
├── icons/ # Extension icons (16x16, 48x48, 128x128)
└── .github/workflows/ # CI/CD for automated releases🎯 快速开始
安装(开发人员模式)
- 克隆此存储库:
git clone https://github.com/groupthinking/sidehelp.git
cd sidehelp- 在Chrome中加载扩展程序:
- 打开Chrome浏览器并导航到 chrome://extensions/ - 启用 开发人员模式 (在右上角切换) - 点击 装载时未包装 - 选择 sidehelp 目录
- 导航到任何GitHub页面查看侧边栏!
- 使用 Ctrl+Shift+M (或 Cmd+Shift+M 在Mac上)切换侧边栏
生产建设
为Chrome网上应用商店构建一个生产就绪的ZIP文件:
macOS/Linux:
zip -r mcp-assistant-1.0.0.zip manifest.json src icons README.mdWindows(PowerShell):
Compress-Archive -Path manifest.json,src,icons,README.md -DestinationPath mcp-assistant-1.0.0.zip自动发布
此存储库包括自动执行以下操作的GitHub Actions工作流:
- 在git标签推送上创建ZIP包(例如。,
v1.0.0) - 将包附加到GitHub版本
- 简化分发和版本控制
要触发释放,请执行以下操作:
git tag v1.0.0
git push origin v1.0.0⚙️ 配置
基本设置
- 点击Chrome工具栏中的扩展程序图标
- 选择 选项 从弹出窗口
- 配置您的MCP端点:
传统端点:
- 本地MCP端点:
http://localhost:8080/mcp(用于地方发展) - 本地MCP承载令牌:可选身份验证令牌
- 远程MCP端点:
https://mcp.example.com/api(生产服务) - 远程MCP承载令牌:可选身份验证令牌
- 请求超时:默认30000ms(30秒)
端点配置文件(推荐)
配置文件允许您使用自定义设置配置多个端点:
- 在“选项”页面中,导航到 端点配置文件 章节
- 点击 +添加个人资料
- 配置配置文件设置:
- 名字:配置文件的描述性名称(例如“GPT-4”、“Claude”) - 统一资源定位符:API终结点URL - 身份验证令牌:用于身份验证的承载令牌 - 默认前言:每次请求时都会发送系统说明 - 温度:模型温度(0-1,控制随机性)
测试端点
使用 拼 “选项”中的按钮,用于验证您的端点是否可访问:
- ✔ 工作:端点可访问并响应
- ✖ 失败:连接错误或身份验证问题
- ⧖ 测试:请求正在进行中
💡 使用示例
快捷操作
侧边栏包括预构建的快速操作按钮:
💡 解释选择
- 在GitHub文件视图或PR diff中选择代码
- 点击“解释”以获取详细解释
- 适用于任何编程语言
🔧 重构选择
- 突出显示需要改进的代码
- 点击“重构”以获取关于可读性和可维护性的建议
- 接收带有解释的重构代码
✓ 编写测试
- 在查看文件时单击以生成全面的测试用例
- 使用或不使用代码选择
- 在适当的测试框架中生成测试
📝 总结PR
- 查看拉取请求时使用
- 获取所有更改的简明摘要
- 非常适合代码审查
📋 PR说明草案
- 根据更改自动生成PR描述
- 包括来自提交消息和差异的上下文
- 在创建拉取请求时节省时间
使用侧边栏
- 打开/关闭:单击侧边栏按钮或按
Ctrl+Shift+M(Cmd+Shift+M在Mac上) - 输入提示:在文本区域键入您的问题或请求
- 选择端点:点击“本地”或“远程”发送您的请求
- 查看响应:AI响应显示在下面,其中包含时间信息
- 复制/粘贴:使用按钮复制响应或粘贴到活动字段
GitHub上下文检测
该扩展会自动捕获并发送:
- 存储库信息:所有者和存储库名称
- 页面类型:文件查看、PR差异、问题、讨论、提交
- 文件上下文:文件路径、分支/ref、编程语言
- 代码选择:您在代码块中突出显示的任何文本
- PR/问题编号:自动从URL中提取
与请求一起发送的示例上下文:
{
"url": "https://github.com/user/repo/pull/123",
"viewport_type": "pr_diff",
"owner": "user",
"repo": "repo",
"pr_number": "123",
"selection": "function example() { ... }"
}历史
每个交互都保存在每个选项卡的历史记录中:
- 单击任何历史记录项以恢复提示和响应
- 每个选项卡查看最近20个对话
- 点击“清除”以重置历史记录
- 历史记录仅保存在内存中(不同步)
🔒 安全与最佳实践
令牌存储:
- 代币存储在
chrome.storage.sync(未加密) - 尽可能使用临时性或作用域令牌
- 定期旋转令牌
网络安全:
- 后台服务工作器代理所有请求以避免CORS问题
- 本地端点应在防火墙后运行
- 始终对远程端点使用HTTPS
- 验证SSL证书
API用法:
- 配置前使用curl/Postman测试端点
- 遵守费率限制和使用政策
- 不要公开专有服务
- 监测遥测数据是否有异常活动
🎨 特性
核心能力
- ✅ GitHub上下文检测(仓库、文件、PR、问题、讨论)
- ✅ 从差异和文件视图捕获代码选择
- ✅ 常见任务的快速操作按钮
- ✅ 多端点支持(本地、远程、配置文件)
- ✅ 每个选项卡的对话历史记录
- ✅ 带有状态和时间的响应信封
- ✅ 端点健康检查(ping)
- ✅ 遥测跟踪(呼叫、延迟、成功率)
无障碍
- ✅ 减少运动支撑(
prefers-reduced-motion) - ✅ 键盘快捷键(
Ctrl+Shift+M切换) - ✅ 屏幕阅读器的ARIA标签
- ✅ 高对比度深色主题
开发者体验
- ✅ 暴露API:
window.__mcpAssistant - ✅ 在选项中调试遥测视图
- ✅ 自动GitHub操作打包
- ✅ 全面的错误处理
🐛 故障排除
侧边栏未出现:
- 安装扩展后刷新GitHub页面
- 验证您是否在github上(侧边栏仅在github上注入)
- 检查Chrome扩展程序页面以确保已启用扩展程序
- 按
Ctrl+Shift+M手动切换侧边栏
网络请求失败:
- 验证端点是否在选项中正确配置
- 使用“Ping”按钮测试端点连接
- 检查端点是否支持CORS或是否已正确配置
- 验证身份验证令牌是否正确
后台服务人员问题:
- 打开
chrome://extensions - 查找“MCP助手连接器”
- 点击“Service worker”链接查看控制台日志
- 查找错误消息或失败的请求
性能问题:
- 在选项中检查遥测以查看端点延迟
- 考虑在设置中增加请求超时
- 通过清除旧对话来减少历史记录大小
- 使用本地端点以获得更快的响应
未检测到上下文:
- 确保您使用的是受支持的GitHub页面类型
- 上下文检测适用于:文件、PR、问题、讨论、提交
- 在代码块或差异容器中进行选择
- 检查浏览器控制台是否有任何JavaScript错误
📊 遥测
在选项中查看性能统计数据→ 遥测:
- 总通话次数:每个端点的请求数
- 成功率:成功请求的百分比
- 失败的请求:错误计数
- 平均延迟:响应时间(毫秒)
使用遥测技术:
- 监控端点运行状况
- 比较本地与远程性能
- 识别有问题的配置
- 优化超时设置
🤝 贡献
欢迎投稿!需要改进的地方:
- 针对特定工作流的其他快速操作
- 支持其他代码托管平台(GitLab、Bitbucket)
- 针对更多页面类型的增强上下文检测
- 自定义主题支持
- 配置文件导入/导出
- 流媒体响应
📝 许可和使用
这是一个开源模板。使用并适应您的环境。
重要提示:
- 请勿用于绕过第三方服务的许可或身份验证
- 遵守API价格限制和服务条款
- 确保身份验证令牌的安全
- 此扩展按原样提供,不提供保修
🔗 资源
______________________________________________________________________
由...制作❤️ 对于那些希望在不离开工作流程的情况下获得人工智能帮助的开发人员。
