feat: 配置独立到 ~/kimi-eyes/,向导支持目标工具选择与协议联动
配置从 ~/.kimi-code/kimi-eyes 移到 ~/kimi-eyes/config.json(KIMI_EYES_HOME 可覆盖),KimiCode/Claude Code/Codex 三工具共用;setup.mjs 向导新增目标工具选择(ClaudeCode 固定 Anthropic、Codex 固定 OpenAI、KimiCode 手动选协议)并写入 tool 字段;uninstall/SYSTEM/README/网页同步。1.0.9 → 1.0.10。
This commit is contained in:
1 parent
e689b43cd8
commit
711b978240
8 files changed
+59
-17
No files matched your search
@@ -129,6 +129,20 @@ async function fetchModels(protocol, baseUrl, apiKey) {
|
||||
return [...new Set(list)];
|
||||
}
|
||||
|
||||
async function chooseTool() {
|
||||
console.log(' 选择目标工具:');
|
||||
console.log(' [1] KimiCode(插件方式,需手动选协议)');
|
||||
console.log(' [2] Claude Code(MCP 方式,协议固定 Anthropic)');
|
||||
console.log(' [3] Codex(MCP 方式,协议固定 OpenAI)');
|
||||
for (;;) {
|
||||
const v = (await ask(' 输入序号 [1/2/3]: ')).trim();
|
||||
if (v === '1') return 'kimicode';
|
||||
if (v === '2') return 'claudecode';
|
||||
if (v === '3') return 'codex';
|
||||
console.log(' 无效输入,请输入 1、2 或 3。');
|
||||
}
|
||||
}
|
||||
|
||||
async function chooseProtocol() {
|
||||
console.log(' 选择视觉 API 协议:');
|
||||
console.log(' [1] OpenAI 兼容 (Chat Completions)');
|
||||
@@ -194,20 +208,33 @@ async function verifyModel(cfg) {
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
async function main() {
|
||||
const home = process.env.KIMI_CODE_HOME || path.join(os.homedir(), '.kimi-code');
|
||||
const configPath = path.join(home, 'kimi-eyes', 'config.json');
|
||||
const configPath = path.join(
|
||||
process.env.KIMI_EYES_HOME || path.join(os.homedir(), 'kimi-eyes'),
|
||||
'config.json'
|
||||
);
|
||||
|
||||
console.log('=== Kimi Eyes 配置向导 ===');
|
||||
console.log(`配置将写入: ${configPath}\n`);
|
||||
|
||||
const protocol = await chooseProtocol();
|
||||
const tool = await chooseTool();
|
||||
let protocol;
|
||||
if (tool === 'claudecode') {
|
||||
console.log(' Claude Code 目标:协议固定为 Anthropic (Messages API)\n');
|
||||
protocol = 'anthropic';
|
||||
} else if (tool === 'codex') {
|
||||
console.log(' Codex 目标:协议固定为 OpenAI (Chat Completions)\n');
|
||||
protocol = 'openai';
|
||||
} else {
|
||||
protocol = await chooseProtocol();
|
||||
}
|
||||
|
||||
const baseUrl = await askRequired(' 视觉 API BaseUrl (如 https://api.openai.com/v1): ', {
|
||||
validate: (v) => (/^https?:\/\//i.test(v) ? null : 'BaseUrl 必须以 http:// 或 https:// 开头。'),
|
||||
});
|
||||
const apiKey = await askRequired(' API Key: ', { hidden: true });
|
||||
const model = await chooseModel(protocol, baseUrl, apiKey);
|
||||
|
||||
const cfg = { protocol, baseUrl, apiKey, model };
|
||||
const cfg = { protocol, baseUrl, apiKey, model, tool };
|
||||
|
||||
console.log('');
|
||||
for (let attempt = 0; attempt < 3; attempt++) {
|
||||
@@ -235,14 +262,26 @@ async function main() {
|
||||
|
||||
console.log('');
|
||||
console.log(`✓ 配置已写入: ${configPath}`);
|
||||
console.log(` tool : ${cfg.tool}`);
|
||||
console.log(` protocol: ${cfg.protocol}`);
|
||||
console.log(` baseUrl : ${cfg.baseUrl}`);
|
||||
console.log(` model : ${cfg.model}`);
|
||||
if (cfg.mainModel) console.log(` mainModel: ${cfg.mainModel} (触发判断用)`);
|
||||
console.log('');
|
||||
console.log('下一步:');
|
||||
console.log(` 1. 安装插件: /plugins install ${__dirname}`);
|
||||
console.log(' 2. 启用插件: /reload');
|
||||
if (tool === 'kimicode') {
|
||||
console.log(` 1. 安装插件: /plugins install ${__dirname}`);
|
||||
console.log(' (国内镜像: /plugins install https://git.codingplan.site/admin/kimi-eyes/archive/main.zip)');
|
||||
console.log(' 2. 启用插件: /reload');
|
||||
} else if (tool === 'claudecode') {
|
||||
console.log(' 1. 挂载 MCP(全局): claude mcp add --scope user kimi-eyes -- node <插件目录>/mcp/server.mjs');
|
||||
console.log(' npx 通用版: claude mcp add --scope user kimi-eyes -- npx --prefer-online -y -p kimi-eyes kimi-eyes-mcp');
|
||||
console.log(' 2. 验证: claude mcp list');
|
||||
} else {
|
||||
console.log(' 1. 挂载 MCP: codex mcp add kimi-eyes -- node <插件目录>/mcp/server.mjs');
|
||||
console.log(' npx 通用版: codex mcp add kimi-eyes -- npx --prefer-online -y -p kimi-eyes kimi-eyes-mcp');
|
||||
console.log(' 2. 验证: codex mcp list');
|
||||
}
|
||||
console.log(' 3. 开始使用: 非多模态模型下 @图片路径 或 截图后提问');
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user