WaveTerm项目中的AI预设配置指南
引言
在现代化终端工具WaveTerm中,AI功能已经成为提升开发效率的重要助手。本文将详细介绍WaveTerm中的AI预设功能,帮助开发者灵活配置多种AI服务,实现智能化的终端操作体验。
什么是AI预设
AI预设是WaveTerm中管理不同AI服务配置的方案。通过预设,开发者可以:
- 保存多个AI服务的完整配置
- 快速切换不同的AI模型
- 统一管理API密钥等敏感信息
- 自定义AI服务的显示名称和排序
预设文件结构
AI预设存储在用户配置目录下的~/.config/waveterm/presets/ai.json
文件中。该文件采用JSON格式,每个预设都是一个独立的配置对象。
基础配置项
每个预设必须包含以下核心配置:
display:name
: 预设的显示名称display:order
: 在菜单中的显示顺序ai:*
: 启用AI功能标志ai:apitype
: AI服务提供商类型ai:model
: 使用的AI模型名称ai:apitoken
: API访问令牌
配置不同AI服务
1. Anthropic Claude配置
{
"ai@claude-sonnet": {
"display:name": "Claude 3 Sonnet",
"display:order": 1,
"ai:*": true,
"ai:apitype": "anthropic",
"ai:model": "claude-3-5-sonnet-latest",
"ai:apitoken": "您的Anthropic API密钥"
}
}
技术要点:
- 使用最新的Claude 3.5 Sonnet模型
- 需要有效的Anthropic API密钥
- 模型名称需与官方文档保持一致
2. 本地Ollama服务配置
{
"ai@ollama-llama": {
"display:name": "Ollama - Llama2",
"display:order": 2,
"ai:*": true,
"ai:baseurl": "http://localhost:11434/v1",
"ai:name": "llama2",
"ai:model": "llama2",
"ai:apitoken": "ollama"
}
}
注意事项:
- 需要本地运行Ollama服务
- API令牌可为任意值,系统会忽略
- baseurl指向本地服务的AI兼容接口
3. 云AI服务配置
{
"ai@cloud-gpt4": {
"display:name": "云GPT-4",
"display:order": 3,
"ai:*": true,
"ai:apitype": "cloud",
"ai:baseurl": "您的云AI基础URL",
"ai:model": "您的模型部署名称",
"ai:apitoken": "您的云API密钥"
}
}
关键说明:
- baseurl不应包含查询参数
- model应填写门户中的部署名称
- 需要有效的云订阅
4. Perplexity AI配置
{
"ai@perplexity-sonar": {
"display:name": "Perplexity Sonar",
"display:order": 4,
"ai:*": true,
"ai:apitype": "perplexity",
"ai:model": "llama-3.1-sonar-small-128k-online",
"ai:apitoken": "您的Perplexity API密钥"
}
}
特点:
- 使用Perplexity的在线模型
- 支持128k上下文窗口
- 需要有效的Perplexity API密钥
5. Google Gemini配置
{
"ai@gemini-2.0": {
"display:name": "Gemini 2.0",
"display:order": 5,
"ai:*": true,
"ai:apitype": "google",
"ai:model": "gemini-2.0-flash-exp",
"ai:apitoken": "您的Google AI API密钥"
}
}
说明:
- 使用Google AI Studio提供的Gemini模型
- 需要有效的Google AI API密钥
- 模型名称需与Google文档一致
多预设管理
开发者可以在ai.json中定义多个预设,通过display:order控制它们在菜单中的显示顺序:
{
"ai@claude-sonnet": {...},
"ai@ollama-llama": {...},
"ai@perplexity-sonar": {...}
}
设置默认预设
在settings.json中指定默认预设:
{
"ai:preset": "ai@claude-sonnet"
}
或者使用命令行快速设置:
wsh setconfig ai:preset=ai@claude-sonnet
最佳实践建议
- 安全存储API密钥:建议将ai.json文件设置为仅当前用户可读
- 定期更新模型:关注各AI服务商的最新模型,及时更新配置
- 备份配置:定期备份您的预设文件
- 环境区分:可为开发、测试等不同环境创建不同预设
- 性能监控:根据响应时间调整预设顺序,将常用且快速的放在前面
常见问题解答
Q: 为什么我的AI预设没有生效? A: 请检查:1) 文件路径是否正确 2) JSON格式是否有效 3) API密钥是否正确 4) 服务是否可达
Q: 如何验证我的配置是否正确? A: 可以使用wsh命令测试API连接性,或直接在AI小部件中尝试简单查询
Q: 预设数量有限制吗? A: 理论上没有严格限制,但建议保持合理数量以便管理
通过本文的详细介绍,开发者应该能够熟练配置和使用WaveTerm中的AI预设功能,充分发挥不同AI服务的优势,提升终端工作效率。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考