dsh-llm-codebuddy-power 1.0.0 → 1.2.0

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/LICENSE CHANGED
@@ -1,22 +1,22 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 pgnqukezrdxmhjso
4
- Copyright (c) 2026 Shatyuka
5
-
6
- Permission is hereby granted, free of charge, to any person obtaining a copy
7
- of this software and associated documentation files (the "Software"), to deal
8
- in the Software without restriction, including without limitation the rights
9
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
- copies of the Software, and to permit persons to whom the Software is
11
- furnished to do so, subject to the following conditions:
12
-
13
- The above copyright notice and this permission notice shall be included in all
14
- copies or substantial portions of the Software.
15
-
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2026 pgnqukezrdxmhjso
4
+ Copyright (c) 2026 Shatyuka
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ of this software and associated documentation files (the "Software"), to deal
8
+ in the Software without restriction, including without limitation the rights
9
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the Software is
11
+ furnished to do so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in all
14
+ copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ SOFTWARE.
package/README.md CHANGED
@@ -1,66 +1,85 @@
1
- # dsh-llm-codebuddy-power
2
-
3
- ![AI-Crap](https://img.shields.io/badge/%F0%9F%92%A9-AI_crap_code-5C4033?style=flat-square) [![npm](https://img.shields.io/npm/v/dsh-llm-codebuddy-power)](https://www.npmjs.com/package/dsh-llm-codebuddy-power)
4
-
5
- [中文](./README.zh.md)
6
-
7
- dsh's CodeBuddy plugin — a complete set of CodeBuddy model capabilities.
8
-
9
- Design document: [design/en/current.md](design/en/current.md).
10
-
11
- ## Install
12
-
13
- ```bash
14
- dsh plugin --profile web add dsh-llm-codebuddy-power
15
- ```
16
-
17
- **Installing through GitHub is not supported.**
18
-
19
- ## Features
20
-
21
- - Registers the `codebuddy` LLM provider route with models from CodeBuddy's model catalog
22
- - Image input: image-capable models receive pasted or attached images
23
- - Image generation tool `codebuddy-draw` callable from chat, billed against CodeBuddy credits; click a generated image to open a full-size preview (under PTC mode the tool is folded into the `run_code` SDK, so the model may not call it on its own; remind it that `codebuddy-draw` exists)
24
- - Browser OAuth sign-in from the Web Settings → CodeBuddy page, no API key needed; several accounts can stay signed in, with each conversation choosing one
25
- - Settings-page account badges: a badge shows only the account and can be dragged to reorder the list (the order is also the CLI's numbering and the fallback account when no default is set); the top action row carries "Choose default", and the default badge's own "Default" marker removes it
26
- - Account control in the composer: a used-allowance ring (main and gifted allowances merged) plus an account button showing the current conversation's account
27
- - CodeBuddy model panel beside the model selector: promotion and subscription badges, credit multiplier, per-model details on hover or tap, and context-window / max-output overrides
28
- - Per-turn credit pill at the right end of the message tail action row (after other contributions), showing the credits spent that turn; hover it to see which accounts that turn was billed to
29
- - Settings page preferences stored in the harness user settings document: show the allowance ring, the low-allowance alert percentage, and whether minimal-mode (agent preset `minimal`) sessions see the draw tool
30
- - CLI account-management tool `codebuddy-power`
31
-
32
- ## Usage examples
33
-
34
- Web: open **Settings → CodeBuddy** and click **Sign in** to add an account; the copy button beside it puts the sign-in link on the clipboard instead of opening it, for completing sign-in in another browser or on another machine. Drag a badge to reorder the list, pick the default account with **Choose default** (the default badge's **Default** marker removes it), and sign an account out with **Multi-select**; the account button in the composer switches the current conversation's account.
35
-
36
- CLI:
37
-
38
- ```bash
39
- dsh plugin --profile web codebuddy-power # sign in through the browser and append an account
40
- ```
41
-
42
- ### CLI arguments
43
-
44
- | Argument | Description | Type | Required |
45
- |---|---|---|---|
46
- | `--status` | List every account by index with the default one marked, and show the model list | boolean | no |
47
- | `--default <account>` | Make the given account the default (`<account>` is a uid, index, or nickname) | string | no |
48
- | `--logout <account>` | Sign out the given account (`<account>` is a uid, index, or nickname) | string | no |
49
- | `--logout --all` | Sign out every account | boolean | no |
50
- | `--no-open` | Only print the sign-in link, do not open a browser | boolean | no |
51
- | `--help` / `-h` | Print usage | boolean | no |
52
-
53
- ## dsh version used for development
54
-
55
- - dsh version used for development: `0.1.5-rc.2`. `@deepseek-ai/dsh-*` dependencies use `workspace:^`.
56
-
57
- ## Secondary development
58
-
59
- - The plugin must stay at a `packages/<group>/` path inside the dsh checkout: its `tsconfig*.json` files extend the dsh repository's `tsconfig.base*.json`, so moving it outside the checkout breaks the build.
60
- - Local build: `pnpm --filter dsh-llm-codebuddy-power build` (`tsc -b` + `tsdown`, artifacts under `lib/`).
61
-
62
- -----
63
-
64
- ## Runtime invariant
65
-
66
- No runtime invariant companion is published. Every registration this plugin makes — the `codebuddy` LLM adapter route (`ctx.llm.registerAdapter`), the `codebuddy-draw` tool, the `/codebuddy` RPC prefix route (`webServer.register`), and the `agent/created` / `agent-preset/selected` / `session/event` listeners — is effect-owned and leaves with the plugin fiber, and each owning registry (`dsh-llm`, `dsh-tools`, `dsh-host-webserver`, `dsh-agent`, `dsh-session`) asserts that relationship in its own companion. The plugin owns no cross-event durable relation and no second data source to compare: the per-turn credit record is a write-only projection into the plugin's own file, and the model panel and account control live in the browser process, beyond the host invariant service.
1
+ # dsh-llm-codebuddy-power
2
+
3
+ ![AI-Crap](https://img.shields.io/badge/%F0%9F%92%A9-AI_crap_code-5C4033?style=flat-square) [![npm](https://img.shields.io/npm/v/dsh-llm-codebuddy-power)](https://www.npmjs.com/package/dsh-llm-codebuddy-power)
4
+
5
+ [中文](./README.zh.md)
6
+
7
+ A full-featured CodeBuddy (WorkBuddy) provider plugin.
8
+
9
+ Design document: [design/en/current.md](design/en/current.md).
10
+
11
+ ## Install
12
+
13
+ ```bash
14
+ dsh plugin --profile web add dsh-llm-codebuddy-power
15
+ ```
16
+
17
+ **Installing through GitHub is not supported.**
18
+
19
+ ## Features
20
+
21
+ **Models and chat**
22
+
23
+ - Every model CodeBuddy offers, ready to switch between at any time
24
+ - Model panel: each model's promotions, subscription, credit multiplier, and discounted price at a glance; hover or tap for details, set how hard the model thinks, and adjust the context window and maximum output
25
+ - Image input: models that accept images take a pasted or attached picture
26
+
27
+ **Image generation**
28
+
29
+ - Let the model draw from chat, and click a result to open it full size
30
+
31
+ **Accounts**
32
+
33
+ - Sign in through the browser, no API key needed
34
+ - Keep several accounts signed in at once, each conversation using its own
35
+ - Manage accounts on the Plugins page: drag to reorder, choose the default, and sign out one or many
36
+ - Switch the current conversation's account from the composer
37
+
38
+ **Usage**
39
+
40
+ - Allowance ring: this account's usage with main and gifted allowances pooled, and the remaining gift shown in the centre
41
+ - Per-turn credits at the end of every reply; hover to see which account paid
42
+
43
+ **Preferences**
44
+
45
+ - Whether to show the allowance ring, the low-allowance alert percentage, and whether minimal-mode sessions get the draw tool
46
+
47
+ **Command line**
48
+
49
+ - `codebuddy-power` manages accounts from a terminal
50
+
51
+ ## Usage examples
52
+
53
+ Web: open **Plugins** in the sidebar and open the **dsh-llm-codebuddy-power** card, then click **Sign in** to add an account; the copy button beside it puts the sign-in link on the clipboard instead of opening it, for completing sign-in in another browser or on another machine. Drag a badge to reorder the list, pick the default account with **Choose default** (the default badge's **Default** marker removes it), and sign an account out with **Multi-select**; the account button in the composer switches the current conversation's account.
54
+
55
+ CLI:
56
+
57
+ ```bash
58
+ dsh plugin --profile web codebuddy-power # sign in through the browser and append an account
59
+ ```
60
+
61
+ ### CLI arguments
62
+
63
+ | Argument | Description | Type | Required |
64
+ |---|---|---|---|
65
+ | `--status` | List every account by index with the default one marked, and show the model list | boolean | no |
66
+ | `--default <account>` | Make the given account the default (`<account>` is a uid, index, or nickname) | string | no |
67
+ | `--logout <account>` | Sign out the given account (`<account>` is a uid, index, or nickname) | string | no |
68
+ | `--logout --all` | Sign out every account | boolean | no |
69
+ | `--no-open` | Only print the sign-in link, do not open a browser | boolean | no |
70
+ | `--help` / `-h` | Print usage | boolean | no |
71
+
72
+ ## dsh version used for development
73
+
74
+ - dsh version used for development: `0.1.7-rc.2`. `@deepseek-ai/dsh-*` dependencies use `workspace:^`.
75
+
76
+ ## Secondary development
77
+
78
+ - The plugin must stay at a `packages/<group>/` path inside the dsh checkout: its `tsconfig*.json` files extend the dsh repository's `tsconfig.base*.json`, so moving it outside the checkout breaks the build.
79
+ - Local build: `pnpm --filter dsh-llm-codebuddy-power build` (`tsc -b` + `tsdown`, artifacts under `lib/`).
80
+
81
+ -----
82
+
83
+ ## Runtime invariant
84
+
85
+ No runtime invariant companion is published: everything this plugin registers leaves with the plugin itself, and it owns no cross-event durable relation that needs an independent check and no second data source to compare against.
package/README.zh.md CHANGED
@@ -1,66 +1,85 @@
1
- # dsh-llm-codebuddy-power
2
-
3
- ![AI-Crap](https://img.shields.io/badge/%F0%9F%92%A9-AI_crap_code-5C4033?style=flat-square) [![npm](https://img.shields.io/npm/v/dsh-llm-codebuddy-power)](https://www.npmjs.com/package/dsh-llm-codebuddy-power)
4
-
5
- [English](./README.md)
6
-
7
- dsh 的 CodeBuddy 插件——提供完整的 CodeBuddy 模型能力。
8
-
9
- 设计文档:[design/zh/current.md](design/zh/current.md)。
10
-
11
- ## 安装
12
-
13
- ```bash
14
- dsh plugin --profile web add dsh-llm-codebuddy-power
15
- ```
16
-
17
- **不支持通过 GitHub 安装。**
18
-
19
- ## 功能
20
-
21
- - 注册 `codebuddy` LLM 供应商路由,模型来自 CodeBuddy 模型目录
22
- - 图片输入:支持图片的模型可接收粘贴/挂载的图片
23
- - 聊天可调用的文生图工具 `codebuddy-draw`,按 CodeBuddy 积分计费;点击生成图片可查看大图(PTC 模式下工具被折叠进 `run_code` SDK,模型可能不会主动调用,需提醒它存在 `codebuddy-draw`)
24
- - 浏览器 OAuth 登录(Web 设置 → CodeBuddy 页面),无需 API key;可同时登录多个账号,每个会话各选一个
25
- - 设置页账号徽章:徽章只显示账号,可拖拽排序(该顺序同时是命令行的序号,以及没有默认账号时的兜底账号);默认账号由首行的「选择默认」选定,点徽章上的「默认」标记即可取消
26
- - 对话框输入区的账号控件:额度圆环(主额度与赠送额度合并)+ 账号切换按钮,显示当前会话账号的昵称
27
- - 模型选择器旁的 CodeBuddy 模型面板:促销与订阅徽章、积分倍率、悬停或点按详情,以及上下文窗口/最大输出覆写
28
- - 消息尾部操作行最右端的每轮积分 pill(排在其他贡献之后),显示该轮消耗积分;悬停可见该轮花的是哪些账号
29
- - 设置页偏好存于 harness 用户设置文档:是否显示额度圆环、余量告警百分比、极简模式(agent preset `minimal`)会话是否出现画图工具
30
- - 命令行账号管理工具 `codebuddy-power`
31
-
32
- ## 使用示例
33
-
34
- Web:打开 **设置 → CodeBuddy**,点击 **登录** 可追加一个账号;旁边的复制按钮把登录链接放进剪贴板而不打开它,用于在别的浏览器或别的机器上完成登录。拖拽徽章可调整顺序,用 **选择默认** 指定默认账号(点徽章上的 **默认** 标记可取消),退出账号用 **多选**;对话框输入区的账号按钮可为当前会话单独切换。
35
-
36
- CLI:
37
-
38
- ```bash
39
- dsh plugin --profile web codebuddy-power # 浏览器登录并追加一个账号
40
- ```
41
-
42
- ### CLI 参数
43
-
44
- | 参数名 | 说明 | 类型 | 必填 |
45
- |---|---|---|---|
46
- | `--status` | 按序号列出全部账号与默认账号,并显示模型列表 | 布尔 | 否 |
47
- | `--default <账号>` | 把指定账号设为默认账号(`<账号>` 为 uid、序号或昵称) | 字符串 | 否 |
48
- | `--logout <账号>` | 退出指定账号(`<账号>` 为 uid、序号或昵称) | 字符串 | 否 |
49
- | `--logout --all` | 退出全部账号 | 布尔 | 否 |
50
- | `--no-open` | 仅打印登录链接,不打开浏览器 | 布尔 | 否 |
51
- | `--help` / `-h` | 显示用法 | 布尔 | 否 |
52
-
53
- ## 构建时使用的 dsh 版本
54
-
55
- - 构建时使用的 dsh 版本:`0.1.5-rc.2`;`@deepseek-ai/dsh-*` 依赖使用 `workspace:^`。
56
-
57
- ## 二次开发说明
58
-
59
- - 插件必须位于 dsh 检出内的 `packages/<组>/` 路径下:插件的 `tsconfig*.json` 依赖 dsh 仓库的 `tsconfig.base*.json`,移出检出目录会无法构建。
60
- - 本地构建:`pnpm --filter dsh-llm-codebuddy-power build`(`tsc -b` + `tsdown`,产物在 `lib/`)。
61
-
62
- -----
63
-
64
- ## 运行时 invariant
65
-
66
- 不发布 `./invariant` companion。本插件的每一项注册——`codebuddy` LLM 适配器路由(`ctx.llm.registerAdapter`)、`codebuddy-draw` 工具、`/codebuddy` RPC 前缀路由(`webServer.register`),以及 `agent/created`、`agent-preset/selected`、`session/event` 监听——都由 effect 持有并随插件 fiber 释放,其归属关系分别由各自的宿主注册表(`dsh-llm`、`dsh-tools`、`dsh-host-webserver`、`dsh-agent`、`dsh-session`)在自己的 companion 中断言。本插件自身不持有跨事件的持久关系,也没有可供交叉比对的第二数据源:每轮积分记录是写入插件自有文件的单向投影,模型面板与账号控件位于浏览器进程内,宿主 invariant 服务无法观察。
1
+ # dsh-llm-codebuddy-power
2
+
3
+ ![AI-Crap](https://img.shields.io/badge/%F0%9F%92%A9-AI_crap_code-5C4033?style=flat-square) [![npm](https://img.shields.io/npm/v/dsh-llm-codebuddy-power)](https://www.npmjs.com/package/dsh-llm-codebuddy-power)
4
+
5
+ [English](./README.md)
6
+
7
+ 功能齐全的 CodeBuddy(WorkBuddy)提供者插件。
8
+
9
+ 设计文档:[design/zh/current.md](design/zh/current.md)。
10
+
11
+ ## 安装
12
+
13
+ ```bash
14
+ dsh plugin --profile web add dsh-llm-codebuddy-power
15
+ ```
16
+
17
+ **不支持通过 GitHub 安装。**
18
+
19
+ ## 功能
20
+
21
+ **模型与对话**
22
+
23
+ - 提供 CodeBuddy 的全部模型,随时切换
24
+ - 模型面板:一眼看清每个模型的促销、订阅、积分倍率与折后价;悬停或点按看详情,可设置模型的思考程度,也可调整上下文窗口与最大输出
25
+ - 图片输入:支持图片的模型可接收粘贴或挂载的图片
26
+
27
+ **画图**
28
+
29
+ - 在对话中让模型画图,点击生成的图片可查看大图
30
+
31
+ **账号**
32
+
33
+ - 浏览器登录,无需 API key
34
+ - 可同时登录多个账号,每个会话各用一个
35
+ - 插件页管理账号:拖拽排序、选择默认账号、退出单个或多个
36
+ - 对话框输入区即可切换当前会话的账号
37
+
38
+ **额度**
39
+
40
+ - 额度圆环:把主额度与赠送额度合并显示该账号的用量,圆环中心显示剩余赠送量
41
+ - 每轮积分:每条回复末尾显示该轮消耗,悬停可见花的是哪个账号
42
+
43
+ **偏好**
44
+
45
+ - 是否显示额度圆环、余量告警百分比、极简模式会话是否出现画图工具
46
+
47
+ **命令行**
48
+
49
+ - `codebuddy-power` 在终端里管理账号
50
+
51
+ ## 使用示例
52
+
53
+ Web:打开侧边栏的 **插件**,点开 **dsh-llm-codebuddy-power** 卡片,点击 **登录** 可追加一个账号;旁边的复制按钮把登录链接放进剪贴板而不打开它,用于在别的浏览器或别的机器上完成登录。拖拽徽章可调整顺序,用 **选择默认** 指定默认账号(点徽章上的 **默认** 标记可取消),退出账号用 **多选**;对话框输入区的账号按钮可为当前会话单独切换。
54
+
55
+ CLI:
56
+
57
+ ```bash
58
+ dsh plugin --profile web codebuddy-power # 浏览器登录并追加一个账号
59
+ ```
60
+
61
+ ### CLI 参数
62
+
63
+ | 参数名 | 说明 | 类型 | 必填 |
64
+ |---|---|---|---|
65
+ | `--status` | 按序号列出全部账号与默认账号,并显示模型列表 | 布尔 | 否 |
66
+ | `--default <账号>` | 把指定账号设为默认账号(`<账号>` 为 uid、序号或昵称) | 字符串 | 否 |
67
+ | `--logout <账号>` | 退出指定账号(`<账号>` 为 uid、序号或昵称) | 字符串 | 否 |
68
+ | `--logout --all` | 退出全部账号 | 布尔 | 否 |
69
+ | `--no-open` | 仅打印登录链接,不打开浏览器 | 布尔 | 否 |
70
+ | `--help` / `-h` | 显示用法 | 布尔 | 否 |
71
+
72
+ ## 构建时使用的 dsh 版本
73
+
74
+ - 构建时使用的 dsh 版本:`0.1.7-rc.2`;`@deepseek-ai/dsh-*` 依赖使用 `workspace:^`。
75
+
76
+ ## 二次开发说明
77
+
78
+ - 插件必须位于 dsh 检出内的 `packages/<组>/` 路径下:插件的 `tsconfig*.json` 依赖 dsh 仓库的 `tsconfig.base*.json`,移出检出目录会无法构建。
79
+ - 本地构建:`pnpm --filter dsh-llm-codebuddy-power build`(`tsc -b` + `tsdown`,产物在 `lib/`)。
80
+
81
+ -----
82
+
83
+ ## 运行时 invariant
84
+
85
+ 不发布 `./invariant` companion:本插件注册的一切都随插件自身一起释放,也不持有需要独立校验的跨事件持久关系,没有可供交叉比对的第二数据源。
package/cordis.patch.yml CHANGED
@@ -10,14 +10,14 @@
10
10
  # below declares `inject: ['llm']` in code, so Cordis mounts it once the `llm`
11
11
  # service from dsh-base is up, regardless of where this row sits.
12
12
  #
13
- # Config is omitted deliberately — every field of the plugin's Config is
14
- # optional and the shipped defaults reach the public CodeBuddy service. There
15
- # is no credential field by design; sign in through the Web Settings → CodeBuddy
16
- # page or `dsh plugin --profile web codebuddy-power`.
13
+ # Config is omitted deliberately — the connection fields all have defaults that
14
+ # reach the public CodeBuddy service. There is no credential field by design;
15
+ # sign in through this plugin's card on the Web sidebar's Plugins page, or
16
+ # `dsh plugin --profile web codebuddy-power`.
17
17
  #
18
- # The `showUsage`, `dangerPct` and `drawToolInMinimal` fields are the base layer
19
- # of the plugin's user-settings namespace: the Web Settings → CodeBuddy page
20
- # writes the user layer over them.
18
+ # The `showUsage`, `dangerPct` and `drawToolInMinimal` fields are volatile, so
19
+ # that same Plugins-page card reads and writes them through the settings
20
+ # form; a write lands back in this row's config.
21
21
  #
22
22
  # To pin a different endpoint, sizing, or preference default, override this row
23
23
  # by id from your profile's own cordis.patch.yml, for example:
package/icon.svg ADDED
@@ -0,0 +1,6 @@
1
+ <svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <rect width="40" height="40" rx="8.63158" fill="#6C4DFF" />
3
+ <path d="M30.5918 3.12856C30.984 2.77679 31.0078 2.7632 31.2955 2.74593C31.7615 2.71193 32.1882 2.93586 32.9147 3.59728C34.6119 5.13959 36.9755 8.30995 38.4449 11.0177L39.0125 12.0691L39.8143 12.4677C40.5885 12.8589 41.8587 13.6611 42.389 14.0913C42.6286 14.2894 42.6626 14.2934 42.912 14.1964C44.0375 13.7583 45.6494 14.3393 47.0714 15.7033C48.3516 16.9303 49.5781 19.0269 50.0478 20.7767C50.1164 21.0582 50.2074 21.6636 50.2405 22.1144C50.3477 23.6973 49.84 24.9617 48.8624 25.5341C48.6628 25.6493 48.6492 25.6807 48.6548 26.1783C48.6998 28.5492 48.0606 30.9165 46.7768 33.2244C45.3276 35.8156 42.7467 38.496 39.2544 41.0214C37.3789 42.3862 32.9421 44.9717 30.9361 45.8792C26.1304 48.0428 22.278 48.8718 18.9316 48.4618C16.9356 48.22 14.6761 47.4417 13.3392 46.5373C12.9873 46.294 12.9318 46.2791 12.6629 46.3561C11.2318 46.7671 9.35752 45.9219 7.76528 44.1544C7.13027 43.448 6.10508 41.7136 5.77273 40.7853C5.00409 38.6128 5.15721 36.6516 6.18105 35.4808C6.44522 35.1797 6.4538 35.1667 6.39603 34.6598C6.30065 33.8298 6.25703 32.6017 6.30061 31.809L6.33535 31.0683L5.22371 29.1019C3.50212 26.0386 2.40857 23.4663 1.98661 21.501C1.76389 20.4233 1.77734 19.9446 2.05091 19.5908C2.21741 19.3773 2.76347 19.1568 3.42155 19.0352C5.07869 18.7442 8.69327 19.0065 12.7142 19.7165L13.1316 19.789L14.0497 18.977C15.5733 17.6274 16.5858 16.8705 18.4518 15.707C20.3967 14.4901 22.5922 13.4895 25.064 12.6968L25.8564 12.4423L26.2926 11.2974C27.8535 7.17701 29.452 4.13917 30.5918 3.12856ZM17.5169 24.2439C15.7528 25.2625 14.8705 25.7716 14.2223 26.3423C11.5975 28.6536 10.6172 32.3151 11.7346 35.6292C12.0106 36.4475 12.5193 37.3301 13.5378 39.0941C14.5563 40.8582 15.0662 41.7401 15.637 42.3882C17.9483 45.0128 21.6091 45.9938 24.923 44.8764C25.7414 44.6004 26.6233 44.0909 28.3875 43.0724L38.5362 37.213C40.3004 36.1945 41.1826 35.6854 41.8308 35.1147C44.4555 32.8034 45.4363 29.1426 44.319 25.8286C44.043 25.0103 43.5343 24.1277 42.5158 22.3637C41.4974 20.5997 40.9873 19.7177 40.4166 19.0696C38.1053 16.4448 34.4441 15.4631 31.1301 16.5806C30.3118 16.8565 29.4297 17.3661 27.6656 18.3846L17.5169 24.2439Z" fill="white" />
4
+ <rect x="18.4944" y="31.334" width="4.00904" height="8.32646" rx="2.00452" transform="rotate(-30 18.4944 31.334)" fill="white" />
5
+ <rect x="29.311" y="25.0898" width="4.00904" height="8.32646" rx="2.00452" transform="rotate(-30 29.311 25.0898)" fill="white" />
6
+ </svg>
package/lib/cli-login.js CHANGED
@@ -354,7 +354,7 @@ async function writeJsonAtomic(path, value) {
354
354
  * (`$DSH_HOME/data/plugins/llm-codebuddy-power/`,通过 harness 所用的同一个
355
355
  * `@deepseek-ai/dsh-home-paths` 解析),而不放在插件包内,因此重装不会让
356
356
  * 用户退出登录。写入经 [atomic-file.ts](./atomic-file.ts) 做原子替换并按路径串行化:
357
- * 多个账号的令牌刷新、设置页的增删与 CLI 的调用都在改同一份文件,不串行化时
357
+ * 多个账号的令牌刷新、配置页的增删与 CLI 的调用都在改同一份文件,不串行化时
358
358
  * 两个并发写入会各自基于自己读到的旧内容覆盖对方。残缺文件会让用户手里只有
359
359
  * 一份读不出的凭据,还无法与“从未登录过”区分开。
360
360
  *
@@ -502,7 +502,7 @@ async function updateStorage(change) {
502
502
  * 插入一个账号,或替换同 uid 账号的凭据。
503
503
  *
504
504
  * 同 uid 视为重新登录同一个账号:令牌被替换而不是追加成第二个条目,否则
505
- * 设置页会出现两个同名徽章,退出其中一个还会留下另一个。
505
+ * 配置页会出现两个同名徽章,退出其中一个还会留下另一个。
506
506
  * @param entry - 刚登录得到的账号。
507
507
  */
508
508
  async function upsertAccount(entry) {
@@ -1721,7 +1721,7 @@ var CodeBuddySession = class {
1721
1721
  return (this.storage?.accounts.length ?? 0) > 0;
1722
1722
  }
1723
1723
  /**
1724
- * 已存账号及其默认账号,供设置页与会话切换按钮展示。
1724
+ * 已存账号及其默认账号,供配置页与会话切换按钮展示。
1725
1725
  * @returns 账号列表(顺序与磁盘一致)与默认账号 uid;未登录时列表为空。
1726
1726
  */
1727
1727
  async accountList() {
@@ -1869,7 +1869,7 @@ var CodeBuddySession = class {
1869
1869
  /**
1870
1870
  * 目录;读不到时返回空列表。
1871
1871
  *
1872
- * 列出模型是设置页上的浏览动作,所以失败必须降级为“没有可显示的内容”,
1872
+ * 列出模型是配置页上的浏览动作,所以失败必须降级为“没有可显示的内容”,
1873
1873
  * 而不是让页面崩掉。请求路径直接使用 {@link models} 并保留真实失败。
1874
1874
  * @param signal - 可选取消信号。
1875
1875
  * @param sessionId - 用哪个会话的账号;缺省时用默认账号。