jinzd-ai-cli 0.1.82 → 0.1.83

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.
@@ -16,7 +16,7 @@ import {
16
16
  SUBAGENT_MAX_ROUNDS_LIMIT,
17
17
  VERSION,
18
18
  runTestsTool
19
- } from "./chunk-FT3ADEOO.js";
19
+ } from "./chunk-VLVLY5YV.js";
20
20
 
21
21
  // src/config/config-manager.ts
22
22
  import { readFileSync, writeFileSync, existsSync, mkdirSync } from "fs";
@@ -161,6 +161,7 @@ var ENV_KEY_MAP = {
161
161
  zhipu: "AICLI_API_KEY_ZHIPU",
162
162
  kimi: "AICLI_API_KEY_KIMI",
163
163
  openai: "AICLI_API_KEY_OPENAI",
164
+ openrouter: "AICLI_API_KEY_OPENROUTER",
164
165
  "google-search": "AICLI_API_KEY_GOOGLESEARCH"
165
166
  };
166
167
  var EnvLoader = class {
@@ -1890,6 +1891,124 @@ var OpenAIProvider = class extends OpenAICompatibleProvider {
1890
1891
  };
1891
1892
  };
1892
1893
 
1894
+ // src/providers/openrouter.ts
1895
+ var OpenRouterProvider = class extends OpenAICompatibleProvider {
1896
+ defaultBaseUrl = "https://openrouter.ai/api/v1";
1897
+ info = {
1898
+ id: "openrouter",
1899
+ displayName: "OpenRouter",
1900
+ defaultModel: "anthropic/claude-sonnet-4",
1901
+ apiKeyEnvVar: "AICLI_API_KEY_OPENROUTER",
1902
+ requiresApiKey: true,
1903
+ baseUrl: this.defaultBaseUrl,
1904
+ models: [
1905
+ // Anthropic Claude 系列
1906
+ {
1907
+ id: "anthropic/claude-opus-4",
1908
+ displayName: "Claude Opus 4",
1909
+ contextWindow: 2e5,
1910
+ supportsStreaming: true
1911
+ },
1912
+ {
1913
+ id: "anthropic/claude-sonnet-4",
1914
+ displayName: "Claude Sonnet 4",
1915
+ contextWindow: 2e5,
1916
+ supportsStreaming: true
1917
+ },
1918
+ {
1919
+ id: "anthropic/claude-haiku-4",
1920
+ displayName: "Claude Haiku 4",
1921
+ contextWindow: 2e5,
1922
+ supportsStreaming: true
1923
+ },
1924
+ // OpenAI 系列
1925
+ {
1926
+ id: "openai/gpt-5.4",
1927
+ displayName: "GPT-5.4",
1928
+ contextWindow: 105e4,
1929
+ supportsStreaming: true
1930
+ },
1931
+ {
1932
+ id: "openai/gpt-4o",
1933
+ displayName: "GPT-4o",
1934
+ contextWindow: 128e3,
1935
+ supportsStreaming: true
1936
+ },
1937
+ {
1938
+ id: "openai/gpt-4o-mini",
1939
+ displayName: "GPT-4o Mini",
1940
+ contextWindow: 128e3,
1941
+ supportsStreaming: true
1942
+ },
1943
+ // Google Gemini 系列
1944
+ {
1945
+ id: "google/gemini-2.5-pro",
1946
+ displayName: "Gemini 2.5 Pro",
1947
+ contextWindow: 1048576,
1948
+ supportsStreaming: true
1949
+ },
1950
+ {
1951
+ id: "google/gemini-2.5-flash",
1952
+ displayName: "Gemini 2.5 Flash",
1953
+ contextWindow: 1048576,
1954
+ supportsStreaming: true
1955
+ },
1956
+ // Meta Llama 系列
1957
+ {
1958
+ id: "meta-llama/llama-4-maverick",
1959
+ displayName: "Llama 4 Maverick",
1960
+ contextWindow: 1048576,
1961
+ supportsStreaming: true
1962
+ },
1963
+ {
1964
+ id: "meta-llama/llama-4-scout",
1965
+ displayName: "Llama 4 Scout",
1966
+ contextWindow: 512e3,
1967
+ supportsStreaming: true
1968
+ },
1969
+ // DeepSeek 系列
1970
+ {
1971
+ id: "deepseek/deepseek-chat-v3-0324",
1972
+ displayName: "DeepSeek V3 0324",
1973
+ contextWindow: 131072,
1974
+ supportsStreaming: true
1975
+ },
1976
+ {
1977
+ id: "deepseek/deepseek-r1",
1978
+ displayName: "DeepSeek R1",
1979
+ contextWindow: 163840,
1980
+ supportsStreaming: true
1981
+ },
1982
+ // Qwen 系列
1983
+ {
1984
+ id: "qwen/qwen3-coder",
1985
+ displayName: "Qwen3 Coder",
1986
+ contextWindow: 262144,
1987
+ supportsStreaming: true
1988
+ },
1989
+ {
1990
+ id: "qwen/qwen-2.5-72b-instruct",
1991
+ displayName: "Qwen 2.5 72B",
1992
+ contextWindow: 131072,
1993
+ supportsStreaming: true
1994
+ },
1995
+ // Mistral 系列
1996
+ {
1997
+ id: "mistralai/mistral-large",
1998
+ displayName: "Mistral Large",
1999
+ contextWindow: 131072,
2000
+ supportsStreaming: true
2001
+ },
2002
+ {
2003
+ id: "mistralai/mistral-small-3.1-24b-instruct",
2004
+ displayName: "Mistral Small 3.1 24B",
2005
+ contextWindow: 128e3,
2006
+ supportsStreaming: true
2007
+ }
2008
+ ]
2009
+ };
2010
+ };
2011
+
1893
2012
  // src/providers/custom.ts
1894
2013
  var CustomProvider = class extends OpenAICompatibleProvider {
1895
2014
  defaultBaseUrl;
@@ -1931,7 +2050,8 @@ var BUILT_IN_PROVIDERS = [
1931
2050
  DeepSeekProvider,
1932
2051
  ZhipuProvider,
1933
2052
  KimiProvider,
1934
- OpenAIProvider
2053
+ OpenAIProvider,
2054
+ OpenRouterProvider
1935
2055
  ];
1936
2056
  var ProviderRegistry = class {
1937
2057
  providers = /* @__PURE__ */ new Map();
@@ -14,7 +14,7 @@ import { platform } from "os";
14
14
  import chalk from "chalk";
15
15
 
16
16
  // src/core/constants.ts
17
- var VERSION = "0.1.82";
17
+ var VERSION = "0.1.83";
18
18
  var APP_NAME = "ai-cli";
19
19
  var CONFIG_DIR_NAME = ".aicli";
20
20
  var CONFIG_FILE_NAME = "config.json";
package/dist/index.js CHANGED
@@ -35,7 +35,7 @@ import {
35
35
  theme,
36
36
  truncateOutput,
37
37
  undoStack
38
- } from "./chunk-53QOLO5G.js";
38
+ } from "./chunk-F24DAC6L.js";
39
39
  import {
40
40
  AGENTIC_BEHAVIOR_GUIDELINE,
41
41
  AUTHOR,
@@ -55,7 +55,7 @@ import {
55
55
  REPO_URL,
56
56
  SKILLS_DIR_NAME,
57
57
  VERSION
58
- } from "./chunk-FT3ADEOO.js";
58
+ } from "./chunk-VLVLY5YV.js";
59
59
 
60
60
  // src/index.ts
61
61
  import { program } from "commander";
@@ -1904,7 +1904,7 @@ ${hint}` : "")
1904
1904
  description: "Run project tests and show structured report",
1905
1905
  usage: "/test [command|filter]",
1906
1906
  async execute(args, _ctx) {
1907
- const { executeTests } = await import("./run-tests-UZ7FHZMQ.js");
1907
+ const { executeTests } = await import("./run-tests-QYSZ27IZ.js");
1908
1908
  const argStr = args.join(" ").trim();
1909
1909
  let testArgs = {};
1910
1910
  if (argStr) {
@@ -2894,7 +2894,8 @@ var PROVIDERS = [
2894
2894
  { value: "deepseek", name: "DeepSeek" },
2895
2895
  { value: "zhipu", name: "Zhipu (GLM)" },
2896
2896
  { value: "kimi", name: "Kimi (Moonshot AI)" },
2897
- { value: "openai", name: "OpenAI" }
2897
+ { value: "openai", name: "OpenAI" },
2898
+ { value: "openrouter", name: "OpenRouter" }
2898
2899
  ];
2899
2900
  function maskKey(key) {
2900
2901
  if (key.length <= 10) return "****";
@@ -5291,7 +5292,7 @@ program.command("web").description("Start Web UI server with browser-based chat
5291
5292
  console.error("Error: Invalid port number. Must be between 1 and 65535.");
5292
5293
  process.exit(1);
5293
5294
  }
5294
- const { startWebServer } = await import("./server-XNXTXMUH.js");
5295
+ const { startWebServer } = await import("./server-ZFMNC6PH.js");
5295
5296
  await startWebServer({ port, host: options.host });
5296
5297
  });
5297
5298
  program.command("sessions").description("List recent conversation sessions").action(async () => {
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  executeTests,
4
4
  runTestsTool
5
- } from "./chunk-FT3ADEOO.js";
5
+ } from "./chunk-VLVLY5YV.js";
6
6
  export {
7
7
  executeTests,
8
8
  runTestsTool
@@ -23,7 +23,7 @@ import {
23
23
  setupProxy,
24
24
  spawnAgentContext,
25
25
  truncateOutput
26
- } from "./chunk-53QOLO5G.js";
26
+ } from "./chunk-F24DAC6L.js";
27
27
  import {
28
28
  AGENTIC_BEHAVIOR_GUIDELINE,
29
29
  CONTEXT_FILE_CANDIDATES,
@@ -36,7 +36,7 @@ import {
36
36
  SKILLS_DIR_NAME,
37
37
  VERSION,
38
38
  __require
39
- } from "./chunk-FT3ADEOO.js";
39
+ } from "./chunk-VLVLY5YV.js";
40
40
 
41
41
  // src/web/server.ts
42
42
  import express from "express";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jinzd-ai-cli",
3
- "version": "0.1.82",
3
+ "version": "0.1.83",
4
4
  "description": "Cross-platform REPL-style AI CLI with multi-provider support",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",