Skip to content

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.keyAPI 密钥-
api.baseAPI 基础 URLhttps://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.00.7
max_tokens最大 tokens1-1280002000
top_p核采样0.0-1.01.0
frequency_penalty频率惩罚-2.0-2.00
presence_penalty存在惩罚-2.0-2.00

代理配置

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_KEYapi.key
MYDESKBOT_API_BASEapi.base
MYDESKBOT_MODELmodel.default
MYDESKBOT_TEMPERATUREparameters.temperature
MYDESKBOT_MAX_TOKENSparameters.max_tokens
HTTP_PROXYproxy.http
HTTPS_PROXYproxy.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 prod

3. 定期备份配置

bash
# 备份配置
cp ~/.mydeskbot/config.json ~/.mydeskbot/config.json.backup

# 或导出配置
mydeskbot config show > backup-config.json

相关命令

  • ask - 单次提问
  • chat - 交互式对话
  • init - 初始化 CLI