@leviyuan/lodestar 0.18.20 → 0.18.21
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/dist/lodestar.js +177 -177
- package/docs/claude-agent-backend.md +5 -5
- package/docs/models.md +10 -5
- package/package.json +1 -1
|
@@ -29,15 +29,15 @@ Token Source 管理账号凭据、模型目录、启动环境、默认模型、e
|
|
|
29
29
|
| Claude Code 订阅 | `claude-sub` 复用本机原生订阅登录态;通过 SDK `accountInfo()` 确认账号,`supportedModels()` 读取模型和 effort,与第三方来源独立共存 |
|
|
30
30
|
| GLM Coding Plan | `[token_source.glm]` 或本机 Claude settings;模型来自兼容端点,可补录已验证模型 |
|
|
31
31
|
| DeepSeek | `[token_source.deepseek]` 或本机 Claude settings;模型来自兼容端点,可补录已验证模型 |
|
|
32
|
-
| OpenRouter | `[token_source.openrouter]` 或本机 Claude settings
|
|
33
|
-
| PackyAPI | `[token_source.packy]`、`[token_source.packy-secondary]
|
|
32
|
+
| OpenRouter | `[token_source.openrouter]` 或本机 Claude settings;默认保留六款模型(含 Gemini、MiMo),账号目录验证能力,MD 面板维护增删 |
|
|
33
|
+
| PackyAPI | `[token_source.packy]`、`[token_source.packy-secondary]`;按令牌目录筛选模型,Claude 入口默认展示 MiniMax、Opus、Fable 5.1(claude-fable-5-1)、Qwen;Codex 入口展示 Kimi、Grok 4.6,主令牌与 `packy-codex` 共用凭据 |
|
|
34
34
|
| DeepSeek Harness | `[token_source.deepseek-harness]`;模型、effort 与上下文容量来自当前安装的 DSH 原生目录 |
|
|
35
35
|
| DSH GLM Coding Plan | `[token_source.dsh-glm]` 或复用 `glm`;账号接口返回模型,DSH 原生适配器提供能力和推理档位 |
|
|
36
36
|
| Claude native | 沿用本机 Claude 配置,目录来自 SDK `supportedModels()`;有已启用的第三方 Claude 侧来源时让位 |
|
|
37
37
|
|
|
38
38
|
`model` 按 Claude Code、Codex、DeepSeek Harness 分组,组 ID 由 `ELEMENTS.modelAgentGroup` 生成。两个 Agent 下的 DeepSeek 来源都显示为 DeepSeek,协议 id 保持不变。选账号后进入模型列表;多个档位才展示 effort 卡,只有一个档位时直接应用,获取失败显示 `MISS`。同 provider/source 的切换调用 `setModelSettings`:Claude 和 DSH 从后续 turn 使用,Codex 保存选择并在重启进程后应用。跨 provider/source 或需要变更项目启动配置时,只能在空闲状态更换进程。
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
OpenRouter 和 PackyAPI 使用各自不重叠的显式精选列表,其余来源由 `withModelVisibility` 在真实接口目录上应用 `hidden_models`。接口项通过显示/隐藏调整可见性,新增上游模型自动进入列表。所有来源都支持用 `custom_models` 补录列表外模型,`origin` 区分接口项和补录项;GLM / DeepSeek 会先做端点验证,补录模型可直接选择请求档位使用,DSH 原生解析目录外模型,其余来源使用 Agent 请求档位;不能用目录白名单挡住用户补录。接口收录同名模型后按接口项管理,不重复展示。
|
|
41
41
|
|
|
42
42
|
`tokenSourceRuntimeModel(s)` 使用完整能力目录,隐藏不修改会话、`model`、`effort`、slots 或启动配置指纹。`model_custom_remove` 只删除补录项,拒绝删接口项;删除前要求会话不再选用该项,并清理默认模型和 slots 的悬空引用。补录/删除和显示/隐藏均串行写配置,旧面板失效。
|
|
43
43
|
|
|
@@ -65,9 +65,9 @@ Lodestar 每次启动 Claude SDK 子进程时自动设置 `CLAUDE_CODE_ENABLE_TO
|
|
|
65
65
|
|
|
66
66
|
- 来源 id 为 `openrouter`,通过 factory 注册 `openrouter-setup`。默认根地址 `https://openrouter.ai/api`,粘贴的 `/api/v1` 会规范成 SDK 根地址。API key 注入 `ANTHROPIC_AUTH_TOKEN`,`ANTHROPIC_API_KEY` 显式置空,模型 slug 完整透传,不自动追加 `[1m]`。
|
|
67
67
|
- 主会话和委派共用 `agent-launch.ts`,将所选模型传给 `spawnEnv`。辅助角色在进程启动时绑定所选模型,可用 `slots` 配置 opus/sonnet/haiku;主模型后续切换不改动进程启动时的辅助角色。
|
|
68
|
-
- 默认列表由 `src/openrouter-defaults.ts`
|
|
68
|
+
- 默认列表由 `src/openrouter-defaults.ts` 定义,共六项,详见[账号与模型](models.md#openrouter)。账号目录来自 `GET /api/v1/models/user`,遵循账号供应商、隐私和 guardrail 设置;过滤 OpenAI、GLM、DeepSeek 等被排除厂商、自动路由、非文本输出、无 tools 和 `:batch` 模型。厂商排除也在启动路由和 slot 校验中执行。
|
|
69
69
|
- `modelSelection` 保存可见模型 id 和完整允许候选;`models` 只暴露面板可见项。`model_list_open` / `model_add` / `model_remove` 对应接口项显示/隐藏,服务端校验当前页、模式与配置版本。`model_custom_remove` 删除补录记录,不能用于接口项;厂商排除也应用于手动补录。
|
|
70
|
-
- `models`
|
|
70
|
+
- `models` 未配置时使用默认六项,空字符串表示用户主动清空,不能当作未配置。默认模型、effort、slots、Key 及相邻配置节保留;启动和 slots 按完整允许目录验证。上游不再返回的已选项显示 `unavailableReason`,不能启动,但可以删除。
|
|
71
71
|
- effort 来自 `reasoning.supported_efforts`,仅暴露 Claude SDK 支持的档位;显式 `null` 表示全部网关档位。没有 effort 选择器的模型使用 `default`,含义是请求不携带 `output_config.effort`,不代表关闭推理,选择模型后直接应用并跳过 effort 卡。其他缺失的默认档位保留 `null`,要求用户明确选择。已选榜单代表模型使用榜单明确的档位或账号目录的默认档位。
|
|
72
72
|
- `default` 用显式启动档位配合子进程环境中的 `CLAUDE_CODE_EFFORT_LEVEL=unset`,避免 CLI 为请求补上 effort。`settings.env` 不能替代真实环境,单纯省略 SDK 选项也不成立。显式 `max` 通过 `effortLevel: 'max'` 下发,不能映射成 `ultracode`。
|
|
73
73
|
- `modelEnvironmentRevision` 参与进程配置比较。`default` 与显式档位之间切换需要新进程环境,Session 在空闲时保存并恢复原生 session;相同模式继续走 `setModelSettings`。slots 不能混合两种参数模式,避免辅助任务继承不适用的环境。模型切换不触发 daemon 重启。
|
package/docs/models.md
CHANGED
|
@@ -37,7 +37,7 @@ GLM Key 可在首次安装时跳过,之后用群命令添加或更换。以下
|
|
|
37
37
|
| 补录模型 | 添加接口目录外的模型,可选择推理档位并使用 |
|
|
38
38
|
| 删 | 删除补录记录;仍有会话选用时需先切换模型 |
|
|
39
39
|
|
|
40
|
-
除 OpenRouter
|
|
40
|
+
除 OpenRouter 和 PackyAPI 使用内置精选列表外,各来源默认显示接口目录中的模型,新模型会随目录刷新出现。所有来源都支持补录,记录保存在 `custom_models`;支持端点验证的来源会先验证。目录未收录不会阻止选择,实际不支持的请求由后端报告错误。接口后来收录同名模型时自动转为接口项,不重复显示。删除补录记录也会清理默认模型和辅助模型中的相关引用。
|
|
41
41
|
|
|
42
42
|
同账号切换 Claude 或 DSH 模型从后续回复生效;Codex 的持久设置需重启会话生效。跨账号或后端切换只允许在空闲时进行。来源禁用或目录获取失败显示 `MISS`。
|
|
43
43
|
|
|
@@ -78,17 +78,18 @@ api_key = "填写自己的 OpenRouter API key"
|
|
|
78
78
|
# slots = "haiku=moonshotai/kimi-k3" # 可选:辅助任务模型,须获账号目录确认且使用相同的 effort 参数模式
|
|
79
79
|
```
|
|
80
80
|
|
|
81
|
-
内置默认列表保留以下 **
|
|
81
|
+
内置默认列表保留以下 **6 项**,定义见[默认模型配置](../src/openrouter-defaults.ts)。Gemini 和 MiMo 使用 OpenRouter;这是项目提供的初始列表,可在面板中自行调整,其他兼容模型仍可从账号目录显示或补录。
|
|
82
82
|
|
|
83
83
|
| 厂商 | 模型 ID | 默认档位 |
|
|
84
84
|
| --- | --- | --- |
|
|
85
85
|
| Tencent | `tencent/hy4-preview` | high |
|
|
86
|
+
| Google | `google/gemini-3.8-flash` | high |
|
|
86
87
|
| Meta | `meta/muse-spark-1.2` | xhigh |
|
|
87
88
|
| Xiaomi | `xiaomi/mimo-v2.5-pro` | 模型默认 |
|
|
88
89
|
| 字节跳动 | `bytedance-seed/seed-2-1-turbo` | 模型默认 |
|
|
89
90
|
| 美团 | `meituan/longcat-2.0` | 模型默认 |
|
|
90
91
|
|
|
91
|
-
在 `md` → Claude Code → OpenRouter 中,点「显示模型」进入账号目录,再点「显」加入列表,点「隐」移出面板列表。可见性自动保存,不改当前运行模型;全部隐藏后也能继续显示或补录。未配置 `models`
|
|
92
|
+
在 `md` → Claude Code → OpenRouter 中,点「显示模型」进入账号目录,再点「显」加入列表,点「隐」移出面板列表。可见性自动保存,不改当前运行模型;全部隐藏后也能继续显示或补录。未配置 `models` 时才使用上述六项;`models = ""` 表示没有已显示的接口模型,刷新或重启不会补回默认项。内置列表更新不会覆盖用户维护的列表。
|
|
92
93
|
|
|
93
94
|
候选目录来自 `/api/v1/models/user`,按账号供应商和隐私设置筛选,仅纳入支持文本和工具调用的交互模型;OpenAI、GLM、DeepSeek 及无法保证厂商范围的自动路由不会出现在添加候选中。目录刷新失败显示 `MISS`。显式配置但已下线的模型保留为可删除的 `MISS` 项。
|
|
94
95
|
|
|
@@ -100,13 +101,15 @@ OpenRouter 余额来自 `/api/v1/credits`,按 `total_credits - total_usage`
|
|
|
100
101
|
|
|
101
102
|
PackyAPI 提供三个来源入口:Claude Code 下的 `PackyAPI`、`PackyAPI · 令牌2`,以及 Codex 下的 `PackyAPI`。第二令牌独立保存;Codex 与主令牌共用一次存储的 Key 和平台地址,模型、effort、可见性分别维护。
|
|
102
103
|
|
|
104
|
+
Packy 的 Claude 入口默认展示 MiniMax-M3、claude-opus-5、claude-fable-5-1、qwen3.8-max-0902;Codex 入口默认展示 kimi-k3 和 grok-4.6。Fable 5.1 的 API ID 使用连字符 `claude-fable-5-1`;Grok 4.6 通过 Responses 接口调用。Packy 目录中其余兼容模型只放在「显示模型」目录,不会自动出现在选择面板;已配置的 `model`、`models` 或 `custom_models` 仍按显式配置保留。
|
|
105
|
+
|
|
103
106
|
```toml
|
|
104
107
|
[token_source.packy]
|
|
105
108
|
api_key = "填写主令牌"
|
|
106
109
|
base_url = "https://cf.api.fan"
|
|
107
110
|
model = "MiniMax-M3"
|
|
108
111
|
effort = "default"
|
|
109
|
-
|
|
112
|
+
# models = "MiniMax-M3,qwen3.8-max-0902" # 可选:显式覆盖默认精选列表
|
|
110
113
|
management_token = "填写个人设置中的系统访问令牌"
|
|
111
114
|
management_user_id = "填写该账号用户 ID"
|
|
112
115
|
management_url = "https://www.packyapi.ai"
|
|
@@ -122,12 +125,14 @@ model = "kimi-k3"
|
|
|
122
125
|
effort = "medium"
|
|
123
126
|
```
|
|
124
127
|
|
|
125
|
-
目录由各令牌的 `GET /v1/models`
|
|
128
|
+
目录由各令牌的 `GET /v1/models` 实时返回,保留原始 ID 和大小写。预设只筛选真实目录项;目录外模型须显式补录,不把预设伪装成上游模型。Claude Code 默认列声明 `anthropic` 的模型,Codex 默认列声明 `openai-response` 的模型。目录声明可能不完整:确认某个模型实际兼容后,可以通过补录或 `custom_models` 显式启用;条目仍标记为补录项,不改写上游协议声明。隐藏/显示、补录/删除与其他来源一致;目录失败显示 MISS,不更换令牌或模型。
|
|
126
129
|
|
|
127
130
|
有推理档位声明时沿用声明。目录只给模型 ID 和协议、未声明推理档位时,面板提供 Agent 的请求选项:Claude Code 默认 `default`(不发送 effort),Codex 默认请求 `medium`;这些请求选项不保证所有上游模型接受,拒绝会如实报错。`effort` 可覆盖本来源默认请求档位。
|
|
128
131
|
|
|
129
132
|
Claude Code 使用官方 SDK 和 `/v1/messages`,辅助角色也使用当前令牌与所选模型,保留项目 MCP、Skill 和原生 resume。Codex 使用独立 Responses provider 和进程环境变量注入 Key;不要求 ChatGPT 登录,不参与 Codex 订阅自动选号、重置卡或订阅额度查询,也不加载需要订阅认证的 ChatGPT 连接器。模型目录由 Lodestar 直接读取;上游 Codex 自身的模型元数据刷新若遇到 New API 的 `data` / `models` 格式差异,仍保留原始诊断,不伪造原生元数据。
|
|
130
133
|
|
|
134
|
+
Gemini 3.8 Flash 默认使用 OpenRouter 的 `google/gemini-3.8-flash`,Packy 默认隐藏。Packy 的 Messages 转换可能拒绝 Claude 工具 schema 中的 `propertyNames`、`const`;显式使用该路由时会显示真实 HTTP 400 错误。
|
|
135
|
+
|
|
131
136
|
Gemini 3.8 Flash 使用 Claude Code 原生重试:请求超时 `API_TIMEOUT_MS=60000`、字节流空闲超时 `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS=45000`、请求重试预算 `CLAUDE_CODE_MAX_RETRIES=2`,关闭无限重试看门狗。该策略只在选择 Gemini 3.8 Flash 为 Claude 主模型时注入;切换请求策略会替换空闲进程并保留原生会话。宿主不重放整轮用户输入或已完成的工具,不更换 Key、模型或来源;SDK 判定的最终失败仍会显示。
|
|
132
137
|
|
|
133
138
|
官方推理入口为 `https://cf.api.fan`,管理入口为 `https://www.packyapi.ai`。真实余额使用系统访问令牌及 `New-Api-User` 用户 ID 请求 `/api/user/self`,读取账户剩余 `quota`,按 `/api/status` 声明的 `quota_per_unit` 换算 USD。`hi` 与回复页脚显示同一余额;不会使用 API Key 的令牌配额或无限额度占位值代替。
|