@raolin2025/claude-code-node 2.6.17 → 2.6.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/core/cli.js +28 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@raolin2025/claude-code-node",
|
|
3
|
-
"version": "2.6.
|
|
3
|
+
"version": "2.6.18",
|
|
4
4
|
"description": "Node.js AI Code Agent CLI - Zero dependencies, pure JavaScript, security hardened, multi-channel notifications, Telegram & QQ Bot remote programming, rich media upload, multi-account management",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/core/index.js",
|
package/src/core/cli.js
CHANGED
|
@@ -601,6 +601,8 @@ const systemPrompt = cliArgs.systemPrompt || DEFAULT_SYSTEM_PROMPT
|
|
|
601
601
|
let pendingConfirm = null
|
|
602
602
|
// 最近一次 /models 拉取的模型列表(供 /model <编号> 选择)
|
|
603
603
|
let modelList = []
|
|
604
|
+
// /models 从 Telegram 发出后,等待用户回复编号/名字来选择模型
|
|
605
|
+
let pendingModelSelect = false
|
|
604
606
|
|
|
605
607
|
// 处理输入行
|
|
606
608
|
// source: 'cli' 来自终端输入, 'telegram' 来自 Telegram
|
|
@@ -635,7 +637,31 @@ const systemPrompt = cliArgs.systemPrompt || DEFAULT_SYSTEM_PROMPT
|
|
|
635
637
|
return
|
|
636
638
|
}
|
|
637
639
|
|
|
640
|
+
// /models 从 Telegram 发出后,用户回复编号或名字来选择模型
|
|
641
|
+
if (source === 'telegram' && pendingModelSelect && !trimmed.startsWith('/')) {
|
|
642
|
+
const num = parseInt(trimmed, 10)
|
|
643
|
+
let selected = ''
|
|
644
|
+
if (!isNaN(num) && num >= 1 && num <= modelList.length) {
|
|
645
|
+
selected = modelList[num - 1]
|
|
646
|
+
} else if (modelList.includes(trimmed)) {
|
|
647
|
+
selected = trimmed
|
|
648
|
+
}
|
|
649
|
+
// 无论是否是有效选择,都结束"等待选择"状态
|
|
650
|
+
pendingModelSelect = false
|
|
651
|
+
if (selected) {
|
|
652
|
+
engine.config.model = selected
|
|
653
|
+
console.log(`Model → ${selected}`)
|
|
654
|
+
if (tgListener?.bot) {
|
|
655
|
+
await sendTelegram(`✅ 已切换模型 → ${selected}`, tgChatId || null).catch(() => {})
|
|
656
|
+
}
|
|
657
|
+
return
|
|
658
|
+
}
|
|
659
|
+
// 不是有效选择 → 当作普通消息继续处理
|
|
660
|
+
}
|
|
661
|
+
|
|
638
662
|
if (trimmed.startsWith('/')) {
|
|
663
|
+
// 用户输入了命令,取消可能存在的"等待模型选择"状态
|
|
664
|
+
pendingModelSelect = false
|
|
639
665
|
// 来自 Telegram 的命令:捕获 console 输出并回发到 Telegram
|
|
640
666
|
const isTgCmd = source === 'telegram' && tgListener?.bot
|
|
641
667
|
let tgOut = ''
|
|
@@ -696,7 +722,8 @@ const systemPrompt = cliArgs.systemPrompt || DEFAULT_SYSTEM_PROMPT
|
|
|
696
722
|
})
|
|
697
723
|
// 来自 Telegram:直接列出,不等待 CLI 交互(用 /model 名字或编号 切换)
|
|
698
724
|
if (source === 'telegram') {
|
|
699
|
-
console.log('\nℹ️
|
|
725
|
+
console.log('\nℹ️ 直接回复编号或模型名即可切换')
|
|
726
|
+
pendingModelSelect = true // 等待用户回复编号/名字来选择模型
|
|
700
727
|
break
|
|
701
728
|
}
|
|
702
729
|
console.log('\nType a number to select, or model name directly:')
|