8b主题MCP-AI主题控制+音频可视化
人工智能通过模型上下文协议(MCP)控制VSCode的动态主题操纵,现在有音频反应主题和梅尔频谱可视化工具!
“最后,一个可以修复我糟糕的颜色选择并让它们随着音乐跳舞的人工智能!”-每个开发人员,永远
特性
核心主题控制
- 自然语言颜色控制:AI助手可以通过简单的请求操纵主题颜色
- 语义颜色组:有组织的颜色管理(编辑器、侧边栏、聊天、终端等)
- 实时更新:更改立即生效,无需重新加载
- 可访问性检查:内置WCAG对比度验证
- 延迟加载:通过按需加载颜色组实现高效的令牌使用
v0.1.0中的新功能!
🎨 12个美丽的心情预设
使用专业设计的配色方案立即转换您的编辑器:
- 深海 🌊 - 深蓝色和青色,用于平静、专注的编码
- 日落氛围 🌅 - 温暖的橙色和紫色适合创意晚间会议
- 森林禅 🌲 - 天然绿色,用于和平、冥想的编码
- 午夜紫色 🌙 - 丰富的紫色和magentas适合深夜黑客
- 赛博朋克 🤖 - 霓虹粉色和青色,用于未来主义编码
- 秋叶 🍂 - 暖棕色和橙色,舒适编码
- 北极冰层 ❄️ - 冷蓝色和白色,打造清晰、干净的焦点
- 熔岩流 🌋 - 热红色和橙色适合密集的编码课程
- 樱花梦 🌸 - 柔和的粉红色和白色,柔和而美丽的代码
- 矩阵码 💚 - 经典绿底黑,打造黑客美学
- 深空 🌌 - 深紫色和蓝色,点缀着星星
- 黄金时刻 ✨ - 暖金色和柔软的黄色,打造灵感四射的编码
🎵 带Mel Spectrogram的音频播放器
- 美丽的实时梅尔频谱可视化
- 20ms滚动更新(根据要求!)
- 支持任何音频文件格式(MP3、WAV、OGG等)
- 使用FFT进行专业音频分析
- 节拍检测和节奏估计
🌈 音频反应式主题
- 您的主题颜色会随着音乐动态变化!
- 音频功能的实时颜色映射:
- 频率→ Hue:低音创造冷色,高音创造暖色 - 能量→ 饱和度:更响亮的音乐=更鲜艳的颜色 - 亮度→ 亮度:高频使主题更加明亮 - 节拍→ Flash:视觉脉搏检测
- 平滑过渡,可配置平滑
- 从音频播放器打开/关闭
🎨 高级色彩操作
- 色彩和谐:产生类似、互补、三和弦、四和弦、分裂互补和方形和声
- 渐变:使用任意数量的步骤创建平滑的颜色渐变
- 温度调节:使颜色更暖或更冷
- 辅助功能助手:自动调整颜色以满足WCAG标准
- 自定义情绪生成器:从任何基础颜色生成完整主题
使用AI助手
安装后,支持MCP的AI助手可以控制您的主题:
基本颜色控制:
- “使侧边栏更暗”
- “显示所有与聊天相关的颜色”
- “将编辑器背景设置为纯黑色”
- “重置所有颜色自定义设置”
情绪预设:
- “应用赛博朋克主题”
- “显示所有可用的情绪预设”
- “切换到海洋深度”
- “从#ff6b9d创建自定义情绪”
高级操作:
- “从#3498db产生互补和谐”
- “创建从蓝色到橙色的渐变,共7步”
- “将#e74c3c加热30度”
- “确保此文本颜色在深色背景下可读”
MCP工具
该扩展为AI助手提供了12个强大的工具:
基本颜色控制
listColorGroups
查看可用的颜色类别(编辑器、侧边栏、聊天、终端、通知、状态栏、git)
getColorsInGroup
获取特定UI区域的所有颜色及其当前值
参数:
group(string):组名(例如,“编辑器”、“侧边栏”、“聊天室”)
setColor
将特定颜色键更改为新值
参数:
key(string):颜色键(例如“editor.background”)value(string):十六进制颜色值(例如“#ff00ff”)
getColor
获取特定颜色键的当前值
参数:
key(string):颜色键(例如“editor.background”)
resetColors
将所有颜色自定义重置为主题默认值
情绪预设
listMoodPresets
列出所有12个可用的情绪预设及其描述
applyMoodPreset
应用情绪预设,立即转换主题
参数:
name(string):预设名称(例如“赛博朋克”、“海洋深处”)
createCustomMood
从任何基础颜色创建和应用自定义情绪
参数:
baseColor(string):十六进制颜色值(例如“#ff00ff”)name(字符串,可选):情绪的自定义名称
高级色彩操作
generateColorHarmony
从基础颜色生成色彩协调方案
参数:
baseColor(string):十六进制格式的基色harmonyType(string):类似、互补、三元组、四元组、分裂互补、正方形之一
generateGradient
创建平滑的颜色渐变
参数:
startColor(string):十六进制格式的起始颜色endColor(string):十六进制格式的结束颜色steps(数字,可选):渐变中的颜色数量(默认值:10)
adjustColorTemperature
使颜色更暖(朝向橙色)或更冷(朝向蓝色)
参数:
color(string):以十六进制格式调整颜色amount(数字):温度变化(-100到100,负=较冷,正=较暖)
ensureReadableColor
调整前景颜色以满足WCAG可读性标准
参数:
foreground(字符串):十六进制格式的前景颜色background(字符串):十六进制格式的背景颜色targetRatio(数字,可选):目标对比度(AA为4.5,AAA为7.0,默认值:4.5)
音频播放器
查找 音频播放器和可视化仪 资源管理器侧边栏中的面板!
特征:
- 从系统加载任何音频文件
- 实时梅尔频谱图可视化(128个梅尔区间,20ms更新)
- 播放/暂停/停止控制
- 音频分析显示(能量、亮度、BPM)
- 音频反应式主题切换
使用音频反应式主题:
- 打开资源管理器侧栏中的“音频播放器”面板
- 加载音频文件
- 启用“音频反应主题”切换
- 按播放,观看您的主题随着音乐跳舞!
安装
- 从VSCode市场安装扩展(或从VSIX安装)
- 启动时,扩展会自动激活
- AI助手(如GitHub Copilot)将自动发现MCP服务器
- 开始主题化!
颜色组
编辑器(9种颜色)
主代码编辑区:背景、前景、光标、选择、高亮、行号
侧边栏(6种颜色)
文件资源管理器和侧面板:背景、前景、标题、页眉
聊天(11种颜色)
AI聊天界面(Copilot、Claude等):背景、前景、斜线命令
终端(10种颜色)
集成终端+ANSI颜色:背景、前景、黑色、红色、绿色、黄色、蓝色、品红色、青色、白色
通知(7种颜色)
警报、警告、信息消息和图标
状态栏(5种颜色)
底部状态栏:背景、前景、调试状态
Git(5种颜色)
Git状态装饰:已修改、已删除、未跟踪、添加资源
技术细节
建筑
- HTTP网桥:扩展主机↔ MCP服务器通信
- 独立MCP服务器:使用stdio传输作为子进程运行
- 实时音频分析:带FFT和mel滤波器组的Web Audio API
- 色彩技术:专业色彩理论与tinycolor2
- 无障碍:使用WCAG对比度检查WCAG对比度
音频分析
- FFT大小:2048个样本
- 梅尔·宾斯:128(感知均匀频率分辨率)
- 更新率:每条谱线20ms
- 特性:能量、频谱质心、拍频检测、BPM估计
依赖项
@modelcontextprotocol/sdk-MCP协议实现tinycolor2-色彩处理和数学wcag-contrast-可访问性验证
发展
# Install dependencies
npm install
# Compile
npm run compile
# Watch mode
npm run watch
# Run in VSCode
Press F5 to launch Extension Development Host更新日志
v0.1.0
- 🎨 添加了12个美丽的情绪预设
- 🎵 添加了带有梅尔频谱图可视化的音频播放器
- 🌈 添加了音频反应主题
- ✨ 新增7个MCP工具,用于高级色彩操作
- 🎨 色彩和声(类比、互补、三和弦等)
- 📊 梯度生成
- 🌡️ 温度调节(加热/冷却)
- ♿ 自动可访问性颜色调整
- 🎨 自定义情绪预设生成器
v0.0.1
- 初始版本
- 5个基本MCP工具
- 语义颜色组
- HTTP网桥架构
许可证
麻省理工学院
贡献
欢迎投稿!该扩展旨在使VSCode主题化变得有趣、有创意,并通过人工智能的帮助让每个人都能访问。
______________________________________________________________________
由...制作🎨 和🎵 8b团队
