配置
推荐通过 giclaw init 交互式引导完成模型配置。也可以手动编辑配置文件。
两层覆盖优先级:config.json < CLI 参数。
配置文件路径
所有配置统一在 ~/.giclaw/config.json 中管理。giclaw init 交互式引导会自动写入该文件。也可以在项目根目录放置 config.json,程序启动时优先加载。
完整示例
{
"locale": "zh",
"model": {
"name": "gemini-2.5-flash",
"baseUrl": "https://generativelanguage.googleapis.com/v1beta/openai",
"apiKey": "sk-xxx"
},
"tasks": {
"enabled": ["welkin-moon", "claim-mail", "expedition-collect", "battle-pass-claim"],
"skillsDirs": ["./skills"]
},
"schedule": { "cron": "0 6 * * *", "timezone": "Asia/Shanghai" },
"browser": {
"headless": true,
"startupUrl": "https://ys.mihoyo.com/cloud/",
"viewport": { "width": 1280, "height": 720 },
"dialogAutoDismissMs": 10000
},
"login": {
"successSelector": ".wel-card__content--start",
"timeoutMs": 300000,
"pollIntervalMs": 500
},
"startGame": {
"startSelector": ".wel-card__content--start",
"dismissSelectors": [".guide-close-btn"]
},
"web": { "port": 3000, "enabled": true },
"memory": { "dataDir": "~/.giclaw/data", "maxHistory": 100 },
"queue": { "maxDepth": 10 },
"logLevel": "info"
}
配置项参考
基础
| 配置项 | 说明 | 默认值 |
|---|---|---|
locale | AI 提示词语言("zh" 中文、"en" English) | "zh" |
logLevel | 日志级别:debug、info、warn、error | "info" |
模型
| 配置项 | 说明 | 默认值 |
|---|---|---|
model.name | 模型名称(如 gemini-2.5-flash、gpt-4o) | "" |
model.baseUrl | OpenAI 兼容 API 地址 | "" |
model.apiKey | API 密钥 | "" |
详细的模型配置示例请参考模型配置指南。
任务
| 配置项 | 说明 | 默认值 |
|---|---|---|
tasks.enabled | 启用的技能 ID 列表 | ["welkin-moon", "claim-mail", "expedition-collect", "battle-pass-claim"] |
tasks.skillsDirs | 技能目录搜索路径 | ["<内置技能目录>", "./skills", "~/.giclaw/skills"] |
调度
| 配置项 | 说明 | 默认值 |
|---|---|---|
schedule.cron | Cron 表达式(Daemon 模式定时触发) | "0 6 * * *" |
schedule.timezone | 时区 | "Asia/Shanghai" |
浏览器
| 配置项 | 说明 | 默认值 |
|---|---|---|
browser.headless | 是否无头模式运行 | true |
browser.startupUrl | 云原神启动页 URL | "https://ys.mihoyo.com/cloud/" |
browser.viewport.width | 浏览器视口宽度(像素) | 1280 |
browser.viewport.height | 浏览器视口高度(像素) | 720 |
browser.cookieFilePath | Cookie 持久化文件路径 | "~/.giclaw/cookies.json" |
browser.dialogAutoDismissMs | 浏览器弹窗自动关闭等待时间(毫秒) | 10000 |
登录
| 配置项 | 说明 | 默认值 |
|---|---|---|
login.successSelector | 登录成功后检测的 CSS 选择器 | ".wel-card__content--start" |
login.timeoutMs | 等待手动登录的超时时间(毫秒) | 300000(5 分钟) |
login.pollIntervalMs | 检测登录状态的轮询间隔(毫秒) | 500 |
启动游戏
| 配置项 | 说明 | 默认值 |
|---|---|---|
startGame.startSelector | "开始游戏"按钮的 CSS 选择器 | ".wel-card__content--start" |
startGame.dismissSelectors | 启动后需要关闭的引导弹窗选择器列表 | [".guide-close-btn"] |
Web 面板
| 配置项 | 说明 | 默认值 |
|---|---|---|
web.enabled | 是否启用 Web 面板(Daemon 模式) | true |
web.port | Web 面板监听端口 | 3000 |
内存 / 持久化
| 配置项 | 说明 | 默认值 |
|---|---|---|
memory.dataDir | 数据存储目录(transcript、截图等) | "~/.giclaw/data" |
memory.maxHistory | 保留的运行历史记录条数 | 100 |
队列
| 配置项 | 说明 | 默认值 |
|---|---|---|
queue.maxDepth | 任务队列最大深度(防止堆积) | 10 |