@leviyuan/lodestar 0.18.15 → 0.18.17

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.
@@ -54,7 +54,7 @@ Codex、Claude、DSH 在 `[runtime.agent_auto_update]` 下分别设置 `codex`
54
54
 
55
55
  清单还包括原生附件的 `im:resource`、机器人发消息的 `im:message:send_as_bot`、Card Kit 权限,以及排障时读取租户和认证信息的权限。需要审批的权限应完成审批,再创建并发布飞书应用版本。取得应用访问凭据不代表业务权限已生效。
56
56
 
57
- 升级已有应用时也应补齐清单并发布应用版本。开通权限不会改变群设置:文件默认直接作为聊天附件发送,只有群内执行 `files on` 才启用云空间,`files off` 恢复附件。文件夹权限与实际文件的分享入口会分别处理,具体行为见[文件与生图](usage.md#文件与生图)。
57
+ 升级已有应用时也应补齐清单并发布应用版本。开通权限不会改变工作目录设置:文件默认直接作为聊天附件发送,只有在同目录任一群执行 `files on` 才启用云空间,`files off` 恢复附件。文件夹权限与实际文件的分享入口会分别处理,具体行为见[文件与生图](usage.md#文件与生图)。
58
58
 
59
59
  ## 本机配置
60
60
 
@@ -81,6 +81,8 @@ tools = "Read,Write,Edit,Bash,Glob,Grep" # Claude / DSH 主会话
81
81
  bin = "/abs/path/to/claude-wrapper" # 可选的 Claude 可执行文件
82
82
  ```
83
83
 
84
+ 项目名用于定位工作目录;工具、MCP 等启动配置按实际目录匹配。同目录的 BTW/FK 与项目别名共享配置,别名配置冲突时明确报错。WT 的目录独立,不自动套用主目录的启动配置;需要配置某个 WT 时,可新增一个项目配置项,将 `cwd` 指向该 WT 的实际路径。工作目录内的 Agent 原生配置仍由相应后端读取。
85
+
84
86
  账号配置、OpenRouter 默认模型和 DSH 接入见[模型与账号](models.md)。手动修改配置后需重启 daemon;群内设置自行保存。
85
87
 
86
88
  ## HTTP 代理
package/docs/models.md CHANGED
@@ -10,12 +10,12 @@ GLM Key 可在首次安装时跳过,之后用群命令添加或更换。以下
10
10
 
11
11
  | 账号 | 群命令 |
12
12
  | --- | --- |
13
- | 智谱 GLM(Claude Code) | `glm-setup <api_key>` |
14
- | Z.ai GLM(Claude Code) | `glm-setup https://api.z.ai/api/anthropic <api_key>` |
15
- | DeepSeek(Claude Code) | `deepseek-setup [base_url] <api_key>` |
13
+ | 智谱 GLM(两个 Agent 共用) | `glm-setup <api_key>` |
14
+ | Z.ai GLM(两个 Agent 共用) | `glm-setup https://api.z.ai/api/anthropic <api_key>` |
15
+ | DeepSeek(两个 Agent 共用) | `deepseek-setup [base_url] <api_key>` |
16
16
  | OpenRouter | `openrouter-setup [base_url] <api_key>` |
17
- | DeepSeek(DeepSeek Harness) | `deepseek-harness-setup [base_url] <api_key>` |
18
- | 独立 GLM 账号(DeepSeek Harness) | `dsh-glm-setup [base_url] <api_key>` |
17
+ | DeepSeek 旧命令,同样更新共享账号 | `deepseek-harness-setup [base_url] <api_key>` |
18
+ | GLM 旧命令,同样更新共享账号 | `dsh-glm-setup [base_url] <api_key>` |
19
19
 
20
20
  `[base_url]` 表示可选参数,命令中不输入方括号;API Key 只填原值,不加 `Bearer`。`glm-setup <base_url> <api_key>` 的原有格式仍可使用,GLM 的 Key 与平台地址必须对应。保存后发送 `md` 选择模型。账号配置由本机所有群共用,更新 Key 保留已有模型、档位和可见性设置。
21
21
 
@@ -40,9 +40,11 @@ GLM Key 可在首次安装时跳过,之后用群命令添加或更换。以下
40
40
 
41
41
  ## 额度
42
42
 
43
- 发送 `hi` 查看会话和账号额度。GLM 展示套餐与各窗口用量;Codex 展示额度窗口和账号可用的重置卡次数。
43
+ 发送 `hi` 查看全部已配置账号的额度,一账号一行。Codex 按备注展示主额度窗口及“重置”次数,不展示 Spark、gpt-reserve;Claude 订阅保留主窗口和模型专属周额度;GLM 月工具仅显示已用百分比,DeepSeek、OpenRouter 显示余额。DeepSeek、GLM 的两个 Agent 入口各合并为一行。
44
44
 
45
- 回复底部显示 `agent · 模型名/effort`,其中 Agent 为 `claude`、`codex` 或 `dsh`。窗口额度如 `4.1h·7%·[6.9d·17%]`,分别表示重置倒计时与已用百分比,方括号内为周窗口;余额显示 `余额 $12.34` 或 `余额 ¥12.34`。Codex 的短暂网络失败会有限重试;最终刷新失败或进程已退出时,回复底部按原格式保留同账号上次成功的额度。没有成功缓存、登录认证失败或缓存已被重新登录、删除账号、额度重置操作清除时显示 `MISS`。`hi`、`codex-accounts` 和其他来源的查询失败仍显示 `MISS`。
45
+ 所有群、Agent、`hi`、账号列表、页脚和自动选号共用账号级惰性缓存:一分钟内直接复用,过期后有查询需求才请求,并发查询只发送一次。失败后冷却 1 分钟,连续失败依次延长为 2、4、5 分钟;上游提供更长的 `Retry-After` 时遵守其等待时间。额度请求不在一次失败后紧接着重试,冷却期间返回已有错误。重新登录、删除 Codex 账号或显式使用重置卡会使对应缓存失效;使用重置卡后重新查询实际额度。
46
+
47
+ 回复底部显示 `agent · 模型名/effort`,其中 Agent 为 `claude`、`codex` 或 `dsh`。窗口额度如 `4.1h·7%·[6.9d·17%]`,分别表示重置倒计时与已用百分比,方括号内为周窗口;余额显示 `余额 $12.34` 或 `余额 ¥12.34`。Codex 刷新失败或进程已退出时,回复底部按原格式保留同账号上次成功的额度。没有成功缓存、登录认证失败或缓存已被重新登录、删除账号、额度重置操作清除时显示 `MISS`。`hi`、`codex-accounts` 和其他来源的过期刷新失败仍显示 `MISS`。
46
48
 
47
49
  ## Claude Code 订阅
48
50
 
@@ -98,12 +100,13 @@ OpenRouter 余额来自 `/api/v1/credits`,按 `total_credits - total_usage`
98
100
 
99
101
  ## DeepSeek Harness
100
102
 
101
- DeepSeek Harness 使用独立的 `[token_source.deepseek-harness]` 账号与原生会话。在群内发送 `deepseek-harness-setup <api_key>`,再通过 `model` 面板选择该来源即可启用。自建端点用 `deepseek-harness-setup <base_url> <api_key>`;这里使用原生 API 根地址,不带 `/anthropic`。
103
+ DeepSeek Harness 与 Claude Code 共用 `[token_source.deepseek]` 中的 DeepSeek Key 和平台地址。发送 `deepseek-setup <api_key>` 后,两边都可在 `model` 面板中选择;旧命令 `deepseek-harness-setup` 也更新同一共享账号。两个 Agent 保留各自的原生会话、默认模型、effort 和模型可见性。
102
104
 
103
105
  ```toml
106
+ [token_source.deepseek]
107
+ api_key = "填写自己的 API key"
104
108
  [token_source.deepseek-harness]
105
109
  agent = "dsh"
106
- api_key = "填写自己的 API key"
107
110
  # bin = "/abs/path/to/node" # 可选:运行 DSH 的 Node 可执行文件
108
111
  # model = "deepseek-v4-pro" # 可选:默认模型
109
112
  # effort = "high" # 可选:默认请求档位
@@ -111,6 +114,8 @@ api_key = "填写自己的 API key"
111
114
 
112
115
  ### GLM Coding Plan
113
116
 
114
- DSH 也支持 GLM Coding Plan:已有 `[token_source.glm]` 时自动复用该账号,在 `md` → DeepSeek Harness → GLM Coding Plan 中选择模型。独立凭据用 `dsh-glm-setup [base_url] <api_key>`,配置节为 `[token_source.dsh-glm]`。它调用 Coding Plan 的 OpenAI 端点,复用 GLM 额度查询;不经过 OpenRouter 或 Claude SDK。账号接口模型和补录模型一起交给原生适配器,均可选择请求档位;接口项用「隐 / 显」,补录项用「删」。
117
+ DSH 与 Claude Code 共用 `[token_source.glm]` 中的 GLM Coding Plan Key 和平台地址,在 `md` → DeepSeek Harness → GLM Coding Plan 中选择模型。`glm-setup` 与旧命令 `dsh-glm-setup` 都会更新两边,`[token_source.dsh-glm]` 只保留 DSH 的模型、effort、可见性等设置。两边分别使用 Anthropic 与 Coding Plan OpenAI 端点,并共享同一额度缓存。账号接口模型和补录模型一起交给原生适配器,均可选择请求档位;接口项用「隐 / 显」,补录项用「删」。
118
+
119
+ 只有旧 Harness 配置时,会读取它的账号供两边共用;下次保存该来源配置时,凭据归并到上述共享配置节。两边旧配置的 Key 或平台不一致时明确报配置冲突,不自动挑选账号;重新执行对应 `setup` 命令可统一为指定的新配置。
115
120
 
116
121
  手动修改配置后需重启 daemon;群内账号启用和模型补录会自行重载相关配置。模型路由、配置优先级和后端差异见 [后端说明](claude-agent-backend.md)。
package/docs/usage.md CHANGED
@@ -28,9 +28,9 @@
28
28
  | `codex-account-delete 备注` | — | 删除额外账号的本地记录与独立凭据,清除各群对它的指定 |
29
29
  | `codex-auto` | — | 清除本群手动指定,恢复自动选择最高分账号 |
30
30
  | `task` | — | 创建、查看或删除绑定的飞书任务清单 |
31
- | `files` | — | 查看本群文件交付模式及群文件夹入口 |
32
- | `files on` | — | 开启本群云空间交付,创建或复用与群名一致的文件夹 |
33
- | `files off` | — | 恢复直接发送聊天附件,保留云空间文件和目录绑定 |
31
+ | `files` | — | 查看当前工作目录的交付模式及本群文件夹入口 |
32
+ | `files on` | — | 开启当前工作目录的云空间交付,创建或复用本群文件夹 |
33
+ | `files off` | — | 当前工作目录恢复聊天附件,保留云空间文件和群目录绑定 |
34
34
 
35
35
  模型列表来自各账号的模型目录,获取失败显示 `MISS`。同账号切换 Claude 或 DSH 模型从后续回复生效,Codex 的持久模型设置需重启会话生效;跨账号或后端切换只允许在空闲时进行。账号接入、模型补录与额度说明见[账号与模型](models.md)。
36
36
 
@@ -48,7 +48,7 @@
48
48
 
49
49
  新会话和委派任务启动时默认自动选号。Plus、Pro 5×、Pro 20× 的周额度分别按 1、5、20 份折算(原生套餐标识为 `plus`、`prolite`、`pro`),周分数为 **周剩余份额 ÷ 距周重置小时数**。Plus 的满 5h 窗口按 0.15 份计算,短窗分数为 **5h 剩余份额 ÷ 距5h重置小时数**,最终取周分数和短窗分数的较小值;Pro 使用周分数。所有模式都选择最高分,同分优先当前可连续使用额度更多的账号。两种窗口约束同一份消耗,不相加。
50
50
 
51
- 启动和换号优先使用 daemon 内上次成功的额度缓存,能选出账号就直接启动,不等待实时额度查询或其他账号补缓存。网络刷新失败会保留这份缓存;没有可用缓存时才重新查询。`hi`、`codex-accounts` 展示实时查询结果,失败显示 `MISS`。回复底部刷新失败或进程已退出时,按原格式显示本条回复所属账号的成功缓存,没有缓存仍显示 `MISS`。重新登录、删除账号及额度重置会清空对应缓存,认证失败也不会继续显示旧额度;已由实际请求确认耗尽的账号,必须通过实时查询确认恢复,不能用旧缓存解除耗尽记录。
51
+ 启动和换号优先使用一分钟内的成功额度缓存,能选出账号就直接启动,不等待额外查询。所有来源、群和 Agent 的额度查询共用一分钟惰性缓存,并合并同账号并发请求;过期后按需查询,失败冷却依次为 1、2、4、5 分钟,并遵守上游更长的等待时间。`hi`、`codex-accounts` 也遵守缓存与冷却,过期刷新失败显示 `MISS`。回复底部刷新失败或进程已退出时,按原格式显示本条回复所属账号的成功缓存,没有缓存仍显示 `MISS`。重新登录、删除账号及额度重置会清空对应缓存,认证失败也不会继续显示旧额度;已由实际请求确认耗尽的账号,必须通过实时查询确认恢复,不能用旧缓存解除耗尽记录。
52
52
 
53
53
  成功读取 Plus 额度但未返回 5h 窗口时,按满额 0.15 份、完整 5 小时计算短窗分数;界面显示满额,但不编造具体重置时刻。整个请求失败、已返回窗口缺百分比或缺重置时间仍显示 MISS。自动 Ultra 只用 Pro,且启动或换号时周余量至少 0.5 份(Pro 5× 剩 10%,Pro 20× 剩 2.5%);运行中跌破该门槛不立即切号。没有合格 Pro 时等待周额度恢复,不自动用 Plus。其他实际限额、登录状态、目标模型与 effort、账号身份和查询错误仍参与自动选择。
54
54
 
@@ -60,7 +60,7 @@ Linux/macOS 下,额外账号通过软链接共用默认账号的配置、会
60
60
 
61
61
  账号命令统一回复简洁卡片:长错误可展开查看;`codex-accounts` 仅展示主额度,进度条为六格,每页显示 4 个记录,同时标出当前模式下的顺序和 `份/h` 分数,后续页用 `codex-accounts 2` 等命令查看。每页底部列出全部 Codex 账号命令,包括登录、取消登录、查看、使用重置卡、指定、自动选择、删除及 `hi` 用法。列表按账号身份去重,未知身份或查询失败显示 `MISS`。
62
62
 
63
- `hi` 的额度区使用同款六格彩色进度条和重置倒计时,各窗口纵向排列,重置卡次数独占一行。活跃项目中的 Codex 会话在行尾标注进程实际使用的账号备注,账号尚未确定时省略该备注,自动换号后再次查看会显示新账号;待下次启动生效的指定不会提前改变该标注。`hi` 与回复 footer 只显示实际使用账号的主额度,保留主额度自身的短时窗口和周窗口,不展示 GPT-5.3-Codex-Spark 等模型的附加额度;footer 保留 `4.1h·7%·[6.9d·17%]` 紧凑格式,自动换号后跟随新账号。重置卡次数出现在账号明细、`hi` 和 `codex-reset` 回执中。
63
+ `hi` 的额度区紧凑展示全部账号,一账号一行;DeepSeek、GLM 的跨 Agent 入口不重复展示。Codex 使用账号备注,重置卡显示为“重置 N”,GLM 月工具只显示百分比,不显示次数与重置时间。活跃项目中的 Codex 会话在行尾标注进程实际使用的账号备注,账号尚未确定时省略该备注,自动换号后再次查看会显示新账号;待下次启动生效的指定不会提前改变该标注。`hi` 的各 Codex 账号与回复 footer 都只显示主额度自身的短时窗口和周窗口,不展示 Spark、gpt-reserve 等附加额度;footer 只显示当前实际使用账号,footer 保留 `4.1h·7%·[6.9d·17%]` 紧凑格式,自动换号后跟随新账号。重置卡次数出现在账号明细、`hi` 和 `codex-reset` 回执中。
64
64
 
65
65
  ## 独立工作区
66
66
 
@@ -71,6 +71,8 @@ Linux/macOS 下,额外账号通过软链接共用默认账号的配置、会
71
71
  | `worktree` | `wt` | 列出项目的 `work/*` 分支和工作区状态 |
72
72
  | `worktree feature-x` | `wt feature-x` | 创建或加入 `<project>[feature-x]` 群和同级 worktree 目录,使用 `work/feature-x` 分支 |
73
73
 
74
+ WT 使用独立工作目录,其文件交付、项目工具/MCP 配置与主目录分开。BTW/FK 始终共享来源目录的这些配置,包括从 WT 创建的临时群。任务清单属于项目级,主群、所有 WT 及其临时群共用。临时群的模型、账号在创建时继承,之后各自切换、互不影响。
75
+
74
76
  已合并且未挂载的分支会折叠隐藏,再次启用时更新到主线。卡片上的“删”会检查对应群没有运行中的会话、工作区没有未提交变更,再解散群并删除 worktree;Git 分支保留。
75
77
 
76
78
  ## 临时会话与对话分支
@@ -79,7 +81,7 @@ Linux/macOS 下,额外账号通过软链接共用默认账号的配置、会
79
81
 
80
82
  | 完整指令 | 缩写 / 别名 | 行为 |
81
83
  | --- | --- | --- |
82
- | `btw` | — | 创建 `<session>*MMDD-HHMM` 临时群,继承账号、模型和工作目录,启动新会话 |
84
+ | `btw` | — | 创建 `<session>*MMDD-HHMM` 临时群,继承账号、模型并共享原工作目录配置,启动新会话 |
83
85
  | `fork` | `fk` | 选择一条用户输入,在临时群里从这条输入之前分叉 |
84
86
  | `back` | `bk` | 选择一条用户输入,让本群接到这条输入之前的新分支 |
85
87
  | `bye` | — | 停止并解散当前临时群,仅适用于 Lodestar 创建的临时群 |
@@ -125,7 +127,7 @@ lodestar-agent run --session '<session-id>' --description '继续第二步' --pr
125
127
 
126
128
  ## 飞书任务清单
127
129
 
128
- 发 `task`,点“启用”可创建并绑定 `<project>[lodestar]` 任务清单。删除需要在卡片上再次确认,会删除整个清单及其中任务。该面板管理清单绑定,任务执行由用户和 Agent 安排。
130
+ 发 `task`,点“启用”可为当前项目创建并绑定 `<project>[lodestar]` 任务清单。主群、同一项目的所有 WT 及其 BTW/FK 临时群共用清单。在其中任一群删除清单,都作用于整个项目;删除需要在卡片上再次确认,会删除整个清单及其中任务。该面板管理清单绑定,任务执行由用户和 Agent 安排。
129
131
 
130
132
  ## 本机通知
131
133
 
@@ -147,11 +149,11 @@ Lodestar 启动 Agent 时按本群设置直接注入文件交付约定:云空
147
149
 
148
150
  安装或更新时会自动删除旧 `lodestar-files` Skill 在 Codex、Claude 和共享插件目录中的受管副本;新版 daemon 启动时也会清理。清理沿用本机数据目录设置,失败会明确报错;显式设置 `LODESTAR_DISABLE_SKILL_SYNC=1` 时保留手工管理的 Skill。
149
151
 
150
- 在需要的群中发送 `files on`,开启该群的云空间交付。每个群按 `chat_id` 绑定一个固定文件夹,文件夹名与实际群名一致;之后该群各轮交付都直接放入这个文件夹,不再按轮次创建目录。重启后继续复用原目录,同名群之间独立。群改名后,下次云空间交付或再次执行 `files on` 会同步文件夹名称;目录丢失或不可访问时明确报错,不自动新建空目录掩盖问题。
152
+ 在需要的群中发送 `files on`,开启当前工作目录的云空间交付。同一目录下的主群、BTW/FK 临时群及目录别名共享此开关;WT 使用自己的独立设置,默认聊天附件。在任一同目录群执行 `files off` 会一起切回附件。每个群的云空间文件夹和权限仍各自独立,继承云空间模式的临时群在首次交付时创建自己的文件夹。每个群按 `chat_id` 绑定一个固定文件夹,文件夹名与实际群名一致;之后该群各轮交付都直接放入这个文件夹,不再按轮次创建目录。重启后继续复用原目录,同名群之间独立。群改名后,下次云空间交付或再次执行 `files on` 会同步文件夹名称;目录丢失或不可访问时明确报错,不自动新建空目录掩盖问题。
151
153
 
152
154
  云空间模式下,每轮结束后发送独立“交付文件”卡片,**只列本轮新交付文件**的名称、大小和访问链接。点击文件名打开文件;点击“管理群文件”打开飞书原生文件夹,查看该群所有历史云空间交付文件,并使用重命名、移动和删除等功能。开启者和后续交付发起人会获得群文件夹管理权限,群成员可查看。文件不自动清理;历史卡片是交付时的记录,文件夹展示当前状态,已删除文件的旧链接会失效。
153
155
 
154
- `files` 查看本群设置,`files off` 恢复直接发送聊天附件。开关与目录绑定保存在私有 `file-delivery-groups.json`,关闭不会删除云空间文件,重新开启继续复用原目录。每轮在输入交给 Agent 时固定交付方式,避免文件生成后规则改变。切换开关从下一轮用户任务生效,已有进程会收到一次完整的交付约定更新,无需重启;普通输入不重复附加规则,后台续跑沿用进程已收到的约定。之前发送到聊天的附件不删除,也不自动迁移至云空间。
156
+ `files` 显示当前工作目录、交付模式和本群文件夹入口,`files off` 将同目录各群恢复为聊天附件。目录开关与群文件夹绑定分开保存在私有 `file-delivery-groups.json`,关闭不会删除云空间文件,重新开启继续复用原目录。每轮在输入交给 Agent 时固定交付方式,避免文件生成后规则改变。切换开关在同目录各会话的下一轮用户任务生效,已有进程会收到一次完整的交付约定更新,无需重启;普通输入不重复附加规则,后台续跑沿用进程已收到的约定。之前发送到聊天的附件不删除,也不自动迁移至云空间。旧版按群保存的开关会按已知工作目录迁移,已有文件夹继续保留;同目录旧开关冲突时明确报错,发送 `files on` 或 `files off` 统一即可。
155
157
 
156
158
  **云空间需要同时开通应用身份权限 `drive:drive`、`drive:file:upload`**;后者是文件夹自动改名接口单独要求的权限,前者不能替代。安装向导的[完整权限清单](feishu-permissions.json)已包含这两项,升级用户可补齐后发布飞书应用版本。权限开通不自动开启云空间功能。整个过程不依赖飞书 CLI,也不需要用户授权登录。云空间交付须有可识别的发起人,缺少身份或权限时明确报错。不超过 20 MB 的文件整文件上传,更大的文件按飞书策略分片;实际大小上限与容量由账号决定,不能把企业基础版的认证限额直接套用于飞书个人版。云空间失败不会自动切回聊天附件。自动生图仍沿用下面的图片展示规则。
157
159
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leviyuan/lodestar",
3
- "version": "0.18.15",
3
+ "version": "0.18.17",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },