config 命令
config 命令用于管理 MyDeskBot CLI 的配置。
基本用法
bash
mydeskbot config <command> [options]命令
| 命令 | 说明 |
|---|---|
init | 初始化配置 |
show | 显示当前配置 |
get <key> | 获取配置值 |
set <key> <value> | 设置配置值 |
unset <key> | 删除配置项 |
list | 列出所有配置项 |
reset | 重置配置 |
edit | 编辑配置文件 |
使用示例
初始化配置
bash
mydeskbot config init交互式设置:
MyDeskBot CLI 配置
====================================
1. API 密钥 (api.key): sk-...
2. API 基础 URL (api.base): [https://api.openai.com/v1]
3. 默认模型 (model): [gpt-4]
4. 温度参数 (temperature): [0.7]
5. 启用代理 (proxy.enabled): [false]
配置已保存到 ~/.mydeskbot/config.json查看配置
bash
# 显示所有配置
mydeskbot config show
# 显示特定配置
mydeskbot config get api.key
mydeskbot config get model设置配置
bash
# 设置 API 密钥
mydeskbot config set api.key sk-your-api-key
# 设置模型
mydeskbot config set model gpt-4
# 设置温度
mydeskbot config set temperature 0.5
# 设置代理
mydeskbot config set proxy.http http://127.0.0.1:7890
mydeskbot config set proxy.https https://127.0.0.1:7890删除配置
bash
# 删除单个配置项
mydeskbot config unset proxy.http
# 重置所有配置
mydeskbot config reset编辑配置文件
bash
# 打开配置文件编辑器
mydeskbot config edit配置项详解
API 配置
json
{
"api": {
"key": "sk-your-api-key",
"base": "https://api.openai.com/v1",
"timeout": 30000,
"retries": 3
}
}| 配置项 | 说明 | 默认值 |
|---|---|---|
api.key | API 密钥 | - |
api.base | API 基础 URL | https://api.openai.com/v1 |
api.timeout | 请求超时(毫秒) | 30000 |
api.retries | 重试次数 | 3 |
模型配置
json
{
"model": {
"default": "gpt-4",
"fallback": "gpt-3.5-turbo",
"chat": "gpt-4",
"code": "gpt-4",
"completion": "gpt-3.5-turbo"
}
}参数配置
json
{
"parameters": {
"temperature": 0.7,
"max_tokens": 2000,
"top_p": 1.0,
"frequency_penalty": 0,
"presence_penalty": 0
}
}| 参数 | 说明 | 范围 | 默认值 |
|---|---|---|---|
temperature | 创造性程度 | 0.0-2.0 | 0.7 |
max_tokens | 最大 tokens | 1-128000 | 2000 |
top_p | 核采样 | 0.0-1.0 | 1.0 |
frequency_penalty | 频率惩罚 | -2.0-2.0 | 0 |
presence_penalty | 存在惩罚 | -2.0-2.0 | 0 |
代理配置
json
{
"proxy": {
"enabled": true,
"http": "http://127.0.0.1:7890",
"https": "https://127.0.0.1:7890",
"bypass": ["localhost", "127.0.0.1"]
}
}索引配置
json
{
"indexing": {
"enabled": true,
"include_patterns": ["src/**/*.{ts,js,py}"],
"exclude_patterns": ["node_modules/**", "dist/**"],
"max_files": 5000,
"max_file_size_mb": 2
}
}Chat 配置
json
{
"chat": {
"model": "gpt-4",
"temperature": 0.7,
"system_prompt": "你是一个有帮助的 AI 助手",
"auto_save": true,
"save_path": "~/.mydeskbot/chat_history",
"max_history": 100
}
}环境变量
可以使用环境变量覆盖配置:
| 环境变量 | 对应配置项 |
|---|---|
MYDESKBOT_API_KEY | api.key |
MYDESKBOT_API_BASE | api.base |
MYDESKBOT_MODEL | model.default |
MYDESKBOT_TEMPERATURE | parameters.temperature |
MYDESKBOT_MAX_TOKENS | parameters.max_tokens |
HTTP_PROXY | proxy.http |
HTTPS_PROXY | proxy.https |
bash
# 使用环境变量
export MYDESKBOT_API_KEY="sk-your-key"
export MYDESKBOT_MODEL="gpt-3.5-turbo"
mydeskbot ask "你的问题"配置文件位置
| 平台 | 配置文件路径 |
|---|---|
| macOS/Linux | ~/.mydeskbot/config.json |
| Windows | %APPDATA%\MyDeskBot\config.json |
配置文件示例
完整配置示例
json
{
"version": "1.0.0",
"api": {
"key": "sk-your-api-key",
"base": "https://api.openai.com/v1",
"timeout": 30000,
"retries": 3
},
"model": {
"default": "gpt-4",
"fallback": "gpt-3.5-turbo",
"chat": "gpt-4",
"code": "gpt-4"
},
"parameters": {
"temperature": 0.7,
"max_tokens": 2000,
"top_p": 1.0,
"frequency_penalty": 0,
"presence_penalty": 0
},
"proxy": {
"enabled": false,
"http": "http://127.0.0.1:7890",
"https": "https://127.0.0.1:7890"
},
"indexing": {
"enabled": true,
"include_patterns": ["src/**/*.{ts,tsx,js,jsx,py,java,go}"],
"exclude_patterns": ["node_modules/**", "dist/**", "build/**", ".git/**"],
"max_files": 5000,
"max_file_size_mb": 2
},
"chat": {
"model": "gpt-4",
"temperature": 0.7,
"system_prompt": "你是一个有帮助的 AI 助手",
"auto_save": true,
"save_path": "~/.mydeskbot/chat_history",
"max_history": 100
},
"ui": {
"theme": "dark",
"emoji": true,
"markdown": true
},
"privacy": {
"anonymous_stats": true,
"crash_reports": true
}
}开发配置示例
json
{
"model": {
"default": "gpt-3.5-turbo"
},
"parameters": {
"temperature": 0.8,
"max_tokens": 1000
},
"indexing": {
"max_files": 1000
}
}生产配置示例
json
{
"model": {
"default": "gpt-4",
"fallback": "gpt-3.5-turbo"
},
"parameters": {
"temperature": 0.3,
"max_tokens": 4000
},
"proxy": {
"enabled": true,
"http": "http://proxy.company.com:8080",
"https": "https://proxy.company.com:8080"
}
}配置管理
导出配置
bash
# 导出为 JSON
mydeskbot config show > my-config.json
# 导出特定配置
mydeskbot config get api.key > api-key.txt导入配置
bash
# 从文件导入
mydeskbot config import my-config.json配置验证
bash
# 验证配置
mydeskbot config validate
# 输出示例
✓ 配置文件有效
✓ API 密钥已设置
✓ 模型配置正确配置模板
自定义配置模板
创建配置模板文件:
bash
# ~/.mydeskbot/templates/dev.json
{
"model": {
"default": "gpt-3.5-turbo"
},
"parameters": {
"temperature": 0.8
}
}
# 使用模板
mydeskbot config use-template dev配置切换
bash
# 保存当前配置
mydeskbot config save dev
# 切换配置
mydeskbot config switch dev
# 列出保存的配置
mydeskbot config list-saved故障排除
问题 1: 配置文件损坏
bash
# 重置配置
mydeskbot config reset
# 或删除配置文件
rm ~/.mydeskbot/config.json
mydeskbot config init问题 2: 配置不生效
bash
# 检查配置
mydeskbot config show
# 验证配置
mydeskbot config validate
# 检查环境变量
echo $MYDESKBOT_API_KEY问题 3: 配置文件权限问题
bash
# 检查文件权限
ls -la ~/.mydeskbot/config.json
# 修复权限
chmod 600 ~/.mydeskbot/config.json最佳实践
1. 使用环境变量存储敏感信息
bash
# ❌ 不推荐:配置文件中存储 API 密钥
{
"api": {
"key": "sk-sensitive-key"
}
}
# ✅ 推荐:使用环境变量
{
"api": {
"key": "$MYDESKBOT_API_KEY"
}
}
export MYDESKBOT_API_KEY="sk-sensitive-key"2. 使用配置文件管理不同环境
bash
# 开发环境
mydeskbot config set model gpt-3.5-turbo
mydeskbot config save dev
# 生产环境
mydeskbot config set model gpt-4
mydeskbot config save prod3. 定期备份配置
bash
# 备份配置
cp ~/.mydeskbot/config.json ~/.mydeskbot/config.json.backup
# 或导出配置
mydeskbot config show > backup-config.json