diff --git a/README.md b/README.md index ce27430..b2800ea 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ telegram-bot start # 重新 start 一次,bot 程序會自動切到新版 1. 填名稱、**選 AI 引擎(Codex 或 Claude)**、Telegram token(儲存時自動驗證) 2. 工作目錄按「📂 瀏覽」用原生視窗選資料夾(AI 可讀寫的專案路徑;Codex 讀裡面的 `AGENTS.md`、Claude 讀 `CLAUDE.md` 當專案規範) -3. 模型/推理強度用下拉選(Codex 清單來自本機 codex 的模型快取;Claude 用 opus/sonnet/haiku 別名永遠指向最新版) +3. 模型/推理強度用下拉選,清單依引擎不同(Codex 來自本機 codex 的模型快取,如 GPT-5.6 Sol/Terra/Luna;Claude 為 Fable 5 / Opus 5 / Sonnet 5) 4. 沙盒模式預設 `workspace-write` → 勾「建立後立即啟動」→ 儲存,完成 之後對 bot 私訊即可;群組中要 `@bot` 或回覆 bot 的訊息。 @@ -55,7 +55,7 @@ telegram-bot start # 重新 start 一次,bot 程序會自動切到新版 |---|---|---| | 底層指令 | `codex exec --json` | `claude -p --output-format stream-json` | | 專案規範檔 | `AGENTS.md` | `CLAUDE.md` | -| 模型 | 本機 codex 模型快取(GPT-5.6 Sol/Terra/Luna…) | `opus` / `sonnet` / `haiku` 別名或任何模型 id | +| 模型 | 本機 codex 模型快取(GPT-5.6 Sol/Terra/Luna…) | Fable 5 / Opus 5 / Sonnet 5(設定檔可手填其他模型 id) | | 推理強度 | low ~ ultra(依模型) | low / medium / high / max | | 速度 | 固定 Fast(priority 1.5x) | — | | `read-only` | codex 唯讀沙盒 | 禁用 Write/Edit/Bash 等工具 | diff --git a/docs/01-bots.png b/docs/01-bots.png index 971f805..1a8c966 100644 Binary files a/docs/01-bots.png and b/docs/01-bots.png differ diff --git a/docs/02-create.png b/docs/02-create.png index 77a9b3f..d7cf18a 100644 Binary files a/docs/02-create.png and b/docs/02-create.png differ diff --git a/docs/02b-create-claude.png b/docs/02b-create-claude.png index c34cb68..4b912a8 100644 Binary files a/docs/02b-create-claude.png and b/docs/02b-create-claude.png differ diff --git a/docs/03-pm2.png b/docs/03-pm2.png index 88bcd6d..5971d21 100644 Binary files a/docs/03-pm2.png and b/docs/03-pm2.png differ diff --git a/docs/04-log.png b/docs/04-log.png index 8406d96..2599c19 100644 Binary files a/docs/04-log.png and b/docs/04-log.png differ diff --git a/src/web/public/index.html b/src/web/public/index.html index afaace2..63024f8 100644 --- a/src/web/public/index.html +++ b/src/web/public/index.html @@ -335,7 +335,7 @@ const ENGINE_UI = { claude: { hint: '本機 Claude Code CLI(claude -p)。專案規範讀工作目錄的 CLAUDE.md', workdir: '規範檔:CLAUDE.md', - modelHint: '別名 opus / sonnet / haiku 永遠指向最新版;也可在編輯時手動改成任何模型 id', + modelHint: 'Claude 5 家族:Fable 5 / Opus 5 / Sonnet 5(設定檔可手填其他模型 id)', effortHint: 'Claude 的 effort 對應 --effort 參數', sandbox: { 'workspace-write': 'workspace-write(自動接受檔案編輯;不執行指令,預設)', diff --git a/src/web/server.js b/src/web/server.js index 0401862..1c6a7db 100644 --- a/src/web/server.js +++ b/src/web/server.js @@ -97,7 +97,7 @@ async function apiPm2Log(pmId, type, lines) { // ---------- 模型清單 ---------- // codex:直接讀它自己的 models cache(~/.codex/models_cache.json),新模型上線後下拉選單自動跟上; // 讀不到就退回內建清單。 -// claude:CLI 沒有模型清單可查,用內建清單(別名 opus/sonnet/haiku 永遠指向最新版)。 +// claude:CLI 沒有模型清單可查,用內建清單(Claude 5 家族:Fable / Opus / Sonnet;編輯時也可手填任何模型 id)。 const CODEX_FALLBACK_MODELS = [ { slug: 'gpt-5.6-sol', label: 'GPT-5.6-Sol', efforts: ['low', 'medium', 'high', 'xhigh', 'max', 'ultra'], defaultEffort: 'medium' }, { slug: 'gpt-5.6-terra', label: 'GPT-5.6-Terra', efforts: ['low', 'medium', 'high', 'xhigh', 'max', 'ultra'], defaultEffort: 'medium' }, @@ -106,11 +106,9 @@ const CODEX_FALLBACK_MODELS = [ const CLAUDE_EFFORTS = ['low', 'medium', 'high', 'max']; const CLAUDE_MODELS = [ - { slug: 'opus', label: 'Opus(最新版,目前 Opus 5)', efforts: CLAUDE_EFFORTS, defaultEffort: 'high' }, - { slug: 'sonnet', label: 'Sonnet(最新版,較快)', efforts: CLAUDE_EFFORTS, defaultEffort: 'high' }, - { slug: 'haiku', label: 'Haiku(最快、最省)', efforts: ['low', 'medium', 'high'], defaultEffort: 'medium' }, - { slug: 'claude-opus-5', label: 'claude-opus-5(鎖定版本)', efforts: CLAUDE_EFFORTS, defaultEffort: 'high' }, - { slug: 'claude-sonnet-5', label: 'claude-sonnet-5(鎖定版本)', efforts: CLAUDE_EFFORTS, defaultEffort: 'high' }, + { slug: 'claude-fable-5', label: 'Fable 5(最強,Mythos 級)', efforts: CLAUDE_EFFORTS, defaultEffort: 'high' }, + { slug: 'claude-opus-5', label: 'Opus 5', efforts: CLAUDE_EFFORTS, defaultEffort: 'high' }, + { slug: 'claude-sonnet-5', label: 'Sonnet 5(較快)', efforts: CLAUDE_EFFORTS, defaultEffort: 'high' }, ]; // codex 全域預設(~/.codex/config.toml),前端用來當下拉選單的預選值 @@ -143,14 +141,14 @@ function codexModels() { return { models: CODEX_FALLBACK_MODELS, defaults, source: 'fallback' }; } -// claude 全域預設(~/.claude/settings.json 的 model;沒有就 opus) +// claude 全域預設(~/.claude/settings.json 的 model 若在清單內就用它;沒有就 Opus 5) function claudeModels() { let model = ''; try { const s = JSON.parse(fs.readFileSync(path.join(os.homedir(), '.claude', 'settings.json'), 'utf-8')); - if (typeof s.model === 'string') model = s.model; + if (typeof s.model === 'string' && CLAUDE_MODELS.some((m) => m.slug === s.model)) model = s.model; } catch { /* ignore */ } - return { models: CLAUDE_MODELS, defaults: { model: model || 'opus', effort: '' }, source: 'builtin' }; + return { models: CLAUDE_MODELS, defaults: { model: model || 'claude-opus-5', effort: '' }, source: 'builtin' }; } // 引擎是否裝了(開控制台時查一次就好,之後不變)