@ponydev/dsh-model-usage 0.0.0-stage → 1.0.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/CHANGELOG.md +39 -0
- package/LICENSE +21 -0
- package/README.md +119 -2
- package/assets/logos/anthropic.svg +1 -0
- package/assets/logos/deepseek-dark.svg +3 -0
- package/assets/logos/deepseek.svg +3 -0
- package/assets/logos/googlegemini.svg +1 -0
- package/assets/logos/openai.svg +1 -0
- package/cordis.patch.yml +6 -0
- package/docs/architecture.md +855 -0
- package/docs/screenshots/01-sidebar.png +0 -0
- package/docs/screenshots/02-modal.png +0 -0
- package/docs/screenshots/03-settings.png +0 -0
- package/lib/adapters.js +465 -0
- package/lib/client.js +1149 -0
- package/lib/index.js +308 -0
- package/lib/ledger.js +420 -0
- package/package.json +65 -4
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 1.0.0 — 2026-10-19
|
|
4
|
+
|
|
5
|
+
首个公开发布(npm: `@ponydevai/dsh-model-usage`)。
|
|
6
|
+
|
|
7
|
+
### 功能
|
|
8
|
+
- 侧边栏底部额度卡片(当前供应商,点击打开全部供应商弹窗)
|
|
9
|
+
- 弹窗:今日用量摘要(调用 / Tokens / 缓存命中率 + 7 日迷你趋势)与各供应商真实额度
|
|
10
|
+
- 设置 → 模型用量:KPI、趋势(当天/7 天/30 天 × Tokens/请求数)、供应商筛选、聚合表、请求日志(耗时/首字)、CSV 导出
|
|
11
|
+
- 设置 → 模型页底部供应商额度
|
|
12
|
+
- 真实消耗观测(余额/套餐额度变动),不做金额估算
|
|
13
|
+
- 历史回填(近 30 天会话日志)
|
|
14
|
+
- 供应商:DeepSeek API/账号、GLM Coding Plan、OpenRouter、Kimi Coding Plan、customQuota 通用适配器
|
|
15
|
+
- 官方组件与设计 token、明暗主题、i18n(zh/en)、无障碍(焦点环/aria)
|
|
16
|
+
|
|
17
|
+
## 0.2.1 — 2026-10-19
|
|
18
|
+
|
|
19
|
+
### 新增
|
|
20
|
+
- 面板增强:供应商下拉筛选(全部/GLM/DeepSeek…,官方 Menu 组件)、趋势指标切换(Tokens / 请求数)
|
|
21
|
+
- 设置 → 模型页底部「供应商额度」区块(settings.models.footer)
|
|
22
|
+
- 供应商扩展:OpenRouter(credits API)、Kimi Coding Plan(api.kimi.com/coding/v1/usages)、通用 customQuota 适配器
|
|
23
|
+
|
|
24
|
+
## 0.2.0 — 2026-10-19
|
|
25
|
+
|
|
26
|
+
### 新增
|
|
27
|
+
- 设置 → 模型用量 统计面板:KPI(调用 / Tokens / 缓存命中率)+ 小时/天趋势 + 供应商/模型聚合表
|
|
28
|
+
- 范围切换:当天 / 近 7 天 / 近 30 天;CSV 导出
|
|
29
|
+
- 请求日志:逐条时间 / 模型 / 输入 / 输出 / 缓存读 / 耗时 / 首字(保留最近 300 条)
|
|
30
|
+
- 历史回填:首次启动自动从本机会话日志回填近 30 天
|
|
31
|
+
- 真实消耗观测:按服务商余额差(DeepSeek)与套餐额度差(GLM)计算当日实际消耗,非估算
|
|
32
|
+
|
|
33
|
+
### 变更
|
|
34
|
+
- 移除成本估算(订阅套餐按额度计费,估算会误导);金额只展示服务商真实值
|
|
35
|
+
- 主 Tab 使用官方 SegmentedTabs;焦点环、空态/错误态、i18n 全量收口
|
|
36
|
+
- 移除 `dock` / `headerChip` 死配置
|
|
37
|
+
|
|
38
|
+
## 0.1.1
|
|
39
|
+
- 侧边栏底部额度卡片(当前供应商 + 分钟窗口条)、官方 Modal、供应商分组、官方 Logo
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Pony
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,3 +1,120 @@
|
|
|
1
|
-
#
|
|
1
|
+
# dsh-model-usage
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/@ponydev/dsh-model-usage)
|
|
4
|
+
[](LICENSE)
|
|
5
|
+
|
|
6
|
+
**DeepSeek Harness(DSH)Web UI 插件:实时显示模型供应商的额度与用量。**
|
|
7
|
+
|
|
8
|
+
- 侧边栏底部:当前供应商的额度/余额卡片,点击打开全部供应商弹窗(Codex 式)
|
|
9
|
+
- 设置 → 模型用量:KPI、趋势图、供应商/模型聚合、请求日志、CSV 导出
|
|
10
|
+
- 设置 → 模型:页面底部显示各供应商额度
|
|
11
|
+
- 只用**真实数据**:额度来自服务商接口,用量来自本机会话日志(逐 token 一致),不做金额估算
|
|
12
|
+
|
|
13
|
+

|
|
14
|
+
|
|
15
|
+

|
|
16
|
+
|
|
17
|
+

|
|
18
|
+
|
|
19
|
+
## 安装
|
|
20
|
+
|
|
21
|
+
要求 DSH `>= 0.2.0-rc.2 < 0.3.0`。
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
# CLI
|
|
25
|
+
dsh plugin --profile web add @ponydev/dsh-model-usage
|
|
26
|
+
|
|
27
|
+
# 或在 Web「插件」页搜索安装
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
安装后重启宿主(`launchctl kickstart -k gui/$(id -u)/local.deepseek-harness.web`)并刷新页面。
|
|
31
|
+
|
|
32
|
+
本地开发:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
dsh plugin --profile web add link:/path/to/dsh-model-usage
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## 供应商支持
|
|
39
|
+
|
|
40
|
+
| 供应商 | 数据接口 | 凭据引用 |
|
|
41
|
+
|---|---|---|
|
|
42
|
+
| DeepSeek API | `api.deepseek.com/user/balance` | `DEEPSEEK_API_KEY` |
|
|
43
|
+
| DeepSeek 账号 | Host `deepseekAccount` 服务(登录态) | — |
|
|
44
|
+
| GLM Coding Plan(国内 / 国际) | `open.bigmodel.cn` / `api.z.ai` 额度接口 | `ZAI_CODING_CN_API_KEY` / `ZAI_API_KEY` |
|
|
45
|
+
| OpenRouter | `openrouter.ai/api/v1/credits`(兜底 `/api/v1/key`) | `OPENROUTER_API_KEY` |
|
|
46
|
+
| Kimi Coding Plan | `api.kimi.com/coding/v1/usages` | `KIMI_CODING_API_KEY` / `KIMI_API_KEY` / `MOONSHOT_API_KEY` |
|
|
47
|
+
| 其他任意供应商 | `customQuota` 配置(URL + JSON 路径映射) | 自定义 `keyRef` |
|
|
48
|
+
|
|
49
|
+
`customQuota` 示例(余额式):
|
|
50
|
+
|
|
51
|
+
```yaml
|
|
52
|
+
config:
|
|
53
|
+
customQuota:
|
|
54
|
+
mycoder:
|
|
55
|
+
url: https://api.example.com/quota
|
|
56
|
+
auth: bearer # bearer | raw | x-api-key | none
|
|
57
|
+
keyRef: MYCODER_API_KEY
|
|
58
|
+
balance:
|
|
59
|
+
path: data.balance
|
|
60
|
+
currency: CNY
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
窗口式:
|
|
64
|
+
|
|
65
|
+
```yaml
|
|
66
|
+
config:
|
|
67
|
+
customQuota:
|
|
68
|
+
mycoder:
|
|
69
|
+
url: https://api.example.com/quota
|
|
70
|
+
windows:
|
|
71
|
+
- key: rolling
|
|
72
|
+
label: 5h
|
|
73
|
+
usedPath: data.used
|
|
74
|
+
limitPath: data.limit
|
|
75
|
+
resetAtPath: data.resetAt # ms | s | iso
|
|
76
|
+
resetAtUnit: ms
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## 配置
|
|
80
|
+
|
|
81
|
+
`cordis.patch.yml` 中 `model-usage` 行的 `config`:
|
|
82
|
+
|
|
83
|
+
| 键 | 默认 | 说明 |
|
|
84
|
+
|---|---|---|
|
|
85
|
+
| `refreshSeconds` | 60 | 额度刷新间隔(秒) |
|
|
86
|
+
| `footer` | true | 是否显示侧边栏底部入口 |
|
|
87
|
+
| `credentials` | `{}` | 按路由覆盖凭据引用,如 `{ "deepseek-official": "MY_DEEPSEEK_KEY" }` |
|
|
88
|
+
| `glm` | `{}` | GLM 组织/项目/套餐类型:`organization` / `project` / `planType` |
|
|
89
|
+
| `customQuota` | `{}` | 通用额度适配器(见上) |
|
|
90
|
+
|
|
91
|
+
## 数据口径
|
|
92
|
+
|
|
93
|
+
- **用量**:`assistant/message` 事件中的服务商回传 usage(input / cacheRead / cacheWrite / output),与本机会话日志逐 token 一致
|
|
94
|
+
- **额度/余额**:服务商接口返回的真实值(DeepSeek 余额、GLM 5h/周剩余、Kimi 周/滚动窗口、OpenRouter credits)
|
|
95
|
+
- **真实消耗观测**:每次刷新比对余额/套餐额度变动,得到当日实际支出(余额下降)与充值(余额上升,分开记录不冲抵)
|
|
96
|
+
- **不做金额估算**:订阅套餐按套餐额度计费而不是按 API 逐次扣费,任何估算都会误导
|
|
97
|
+
- **统计范围**:本机、安装后写入会话日志的调用;旁路调用(标题生成/压缩摘要)与其他设备不计
|
|
98
|
+
- 账本文件:`$DSH_HOME/model-usage/ledger.json`(按日聚合,保留 120 天;首次启动回填近 30 天)
|
|
99
|
+
|
|
100
|
+
## 安全
|
|
101
|
+
|
|
102
|
+
- API Key 只在 Host 内存中解析使用,**不进入浏览器**,任何 RPC 响应都不包含密钥
|
|
103
|
+
- 只请求写死的白名单接口域名;客户端不能指定 URL
|
|
104
|
+
- 账本只存用量聚合(token 数、窗口百分比),不含对话内容
|
|
105
|
+
- 错误信息脱敏(`sk-*` / `Bearer *` 会被打码)
|
|
106
|
+
|
|
107
|
+
## 开发
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
# 本地渲染台(离线验证 UI,不依赖宿主)
|
|
111
|
+
open test-render.html
|
|
112
|
+
|
|
113
|
+
# 宿主侧改动后需要重启 dsh web;client 侧改动刷新页面即可
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
架构说明见 [docs/architecture.md](docs/architecture.md)。
|
|
117
|
+
|
|
118
|
+
## License
|
|
119
|
+
|
|
120
|
+
[MIT](LICENSE)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Anthropic</title><path d="M17.3041 3.541h-3.6718l6.696 16.918H24Zm-10.6082 0L0 20.459h3.7442l1.3693-3.5527h7.0052l1.3693 3.5528h3.7442L10.5363 3.5409Zm-.3712 10.2232 2.2914-5.9456 2.2914 5.9456Z"/></svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="27" height="20" viewBox="0.163 1.75 26.634 19.6" fill="none" role="img" aria-label="DeepSeek">
|
|
2
|
+
<path d="M26.5174 3.39471C26.235 3.2567 26.1137 3.52006 25.9487 3.65346C25.8923 3.69659 25.8446 3.75294 25.7969 3.80469C25.3846 4.24516 24.9027 4.53439 24.2737 4.49989C23.3536 4.44814 22.5682 4.73737 21.8735 5.44119C21.7258 4.57349 21.2353 4.0554 20.4889 3.72304C20.0985 3.55054 19.7034 3.37746 19.4297 3.00197C19.2388 2.73459 19.1865 2.43673 19.091 2.14289C19.0301 1.96579 18.9697 1.78466 18.7656 1.75418C18.5442 1.71968 18.4574 1.90541 18.3705 2.06067C18.0232 2.69549 17.8887 3.39471 17.9019 4.10313C17.9324 5.6965 18.6051 6.96556 19.9421 7.86834C20.0939 7.97184 20.133 8.07535 20.0852 8.22658C19.9938 8.53766 19.8857 8.83955 19.7903 9.15063C19.7293 9.34901 19.6384 9.39271 19.4257 9.30588C18.692 8.9994 18.0583 8.54571 17.4982 7.99772C16.5477 7.07827 15.6881 6.06336 14.6162 5.26869C14.3644 5.08296 14.1125 4.91045 13.8521 4.746C12.7584 3.68394 13.9952 2.81164 14.2816 2.70814C14.5812 2.60003 14.3857 2.22857 13.4179 2.23317C12.4502 2.2372 11.5646 2.56151 10.4359 2.99335C10.2708 3.05832 10.0972 3.10547 9.91951 3.14457C8.8954 2.95022 7.83162 2.90709 6.72069 3.03245C4.62877 3.26533 2.95777 4.25436 1.72954 5.94261C0.254043 7.97184 -0.0932678 10.2777 0.33167 12.6824C0.778458 15.2171 2.07225 17.3153 4.06008 18.9558C6.12152 20.6567 8.49577 21.4905 11.2047 21.3306C12.8498 21.2358 14.6812 21.0155 16.7473 19.2669C17.2682 19.5262 17.8151 19.6297 18.7219 19.7074C19.4205 19.7723 20.0933 19.6729 20.6143 19.5648C21.4302 19.3923 21.3739 18.6367 21.0789 18.4981C18.6874 17.3843 19.2124 17.8374 18.7351 17.4706C19.9501 16.033 21.8063 13.4776 22.379 9.99821C22.4353 9.61409 22.5072 9.073 22.4986 8.76192C22.494 8.57216 22.5377 8.49856 22.7545 8.47671C23.3536 8.40771 23.935 8.24383 24.4692 7.94999C26.0188 7.10357 26.6439 5.71318 26.7911 4.04678C26.8129 3.79204 26.7865 3.52869 26.5174 3.39471ZM13.0143 18.3946C10.6964 16.5724 9.5722 15.9726 9.10816 15.9985C8.67402 16.0244 8.75222 16.5212 8.84768 16.8449C8.94773 17.1646 9.07768 17.3849 9.25996 17.6655C9.38589 17.8512 9.47272 18.1272 9.13404 18.3348C8.38766 18.7965 7.08985 18.1796 7.0289 18.1491C5.51833 17.2595 4.25559 16.0853 3.36546 14.4793C2.50581 12.9337 2.0067 11.2753 1.92447 9.50542C1.90262 9.07818 2.02855 8.92695 2.45406 8.84932C3.01413 8.74582 3.59144 8.72397 4.15093 8.80619C6.51656 9.15178 8.53027 10.2092 10.2185 11.8848C11.1822 12.8388 11.9114 13.979 12.6623 15.0929C13.461 16.2757 14.3201 17.4027 15.4144 18.3268C15.8008 18.6505 16.109 18.8966 16.404 19.0783C15.5144 19.1778 14.0297 19.1991 13.0143 18.3958V18.3946ZM14.1252 11.2489C14.1252 11.0591 14.277 10.9079 14.4679 10.9079C14.511 10.9079 14.5501 10.9165 14.5852 10.9292C14.6329 10.9464 14.6766 10.9723 14.7111 11.0114C14.7721 11.0718 14.8066 11.158 14.8066 11.2489C14.8066 11.4386 14.6548 11.5899 14.4639 11.5899C14.273 11.5899 14.1252 11.4386 14.1252 11.2489ZM17.5759 13.0188C17.3545 13.1096 17.1331 13.1873 16.9203 13.1959C16.5903 13.2131 16.2303 13.0791 16.0348 12.9153C15.7312 12.6605 15.5139 12.5179 15.423 12.0734C15.3839 11.8837 15.4057 11.5899 15.4402 11.4214C15.5185 11.0585 15.4316 10.8257 15.1757 10.614C14.9676 10.4415 14.7025 10.3938 14.4115 10.3938C14.3029 10.3938 14.2034 10.3461 14.1292 10.3076C14.0079 10.2472 13.9078 10.096 14.0033 9.91023C14.0338 9.84985 14.1815 9.70322 14.216 9.67734C14.6111 9.45251 15.0665 9.52612 15.488 9.6946C15.8784 9.85445 16.174 10.1477 16.5989 10.5623C17.033 11.0631 17.1112 11.2011 17.3585 11.5772C17.554 11.871 17.7317 12.1729 17.8536 12.5185C17.9272 12.7341 17.8317 12.9107 17.5759 13.0188Z" fill="#dfdfd6"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="27" height="20" viewBox="0.163 1.75 26.634 19.6" fill="none" role="img" aria-label="DeepSeek">
|
|
2
|
+
<path d="M26.5174 3.39471C26.235 3.2567 26.1137 3.52006 25.9487 3.65346C25.8923 3.69659 25.8446 3.75294 25.7969 3.80469C25.3846 4.24516 24.9027 4.53439 24.2737 4.49989C23.3536 4.44814 22.5682 4.73737 21.8735 5.44119C21.7258 4.57349 21.2353 4.0554 20.4889 3.72304C20.0985 3.55054 19.7034 3.37746 19.4297 3.00197C19.2388 2.73459 19.1865 2.43673 19.091 2.14289C19.0301 1.96579 18.9697 1.78466 18.7656 1.75418C18.5442 1.71968 18.4574 1.90541 18.3705 2.06067C18.0232 2.69549 17.8887 3.39471 17.9019 4.10313C17.9324 5.6965 18.6051 6.96556 19.9421 7.86834C20.0939 7.97184 20.133 8.07535 20.0852 8.22658C19.9938 8.53766 19.8857 8.83955 19.7903 9.15063C19.7293 9.34901 19.6384 9.39271 19.4257 9.30588C18.692 8.9994 18.0583 8.54571 17.4982 7.99772C16.5477 7.07827 15.6881 6.06336 14.6162 5.26869C14.3644 5.08296 14.1125 4.91045 13.8521 4.746C12.7584 3.68394 13.9952 2.81164 14.2816 2.70814C14.5812 2.60003 14.3857 2.22857 13.4179 2.23317C12.4502 2.2372 11.5646 2.56151 10.4359 2.99335C10.2708 3.05832 10.0972 3.10547 9.91951 3.14457C8.8954 2.95022 7.83162 2.90709 6.72069 3.03245C4.62877 3.26533 2.95777 4.25436 1.72954 5.94261C0.254043 7.97184 -0.0932678 10.2777 0.33167 12.6824C0.778458 15.2171 2.07225 17.3153 4.06008 18.9558C6.12152 20.6567 8.49577 21.4905 11.2047 21.3306C12.8498 21.2358 14.6812 21.0155 16.7473 19.2669C17.2682 19.5262 17.8151 19.6297 18.7219 19.7074C19.4205 19.7723 20.0933 19.6729 20.6143 19.5648C21.4302 19.3923 21.3739 18.6367 21.0789 18.4981C18.6874 17.3843 19.2124 17.8374 18.7351 17.4706C19.9501 16.033 21.8063 13.4776 22.379 9.99821C22.4353 9.61409 22.5072 9.073 22.4986 8.76192C22.494 8.57216 22.5377 8.49856 22.7545 8.47671C23.3536 8.40771 23.935 8.24383 24.4692 7.94999C26.0188 7.10357 26.6439 5.71318 26.7911 4.04678C26.8129 3.79204 26.7865 3.52869 26.5174 3.39471ZM13.0143 18.3946C10.6964 16.5724 9.5722 15.9726 9.10816 15.9985C8.67402 16.0244 8.75222 16.5212 8.84768 16.8449C8.94773 17.1646 9.07768 17.3849 9.25996 17.6655C9.38589 17.8512 9.47272 18.1272 9.13404 18.3348C8.38766 18.7965 7.08985 18.1796 7.0289 18.1491C5.51833 17.2595 4.25559 16.0853 3.36546 14.4793C2.50581 12.9337 2.0067 11.2753 1.92447 9.50542C1.90262 9.07818 2.02855 8.92695 2.45406 8.84932C3.01413 8.74582 3.59144 8.72397 4.15093 8.80619C6.51656 9.15178 8.53027 10.2092 10.2185 11.8848C11.1822 12.8388 11.9114 13.979 12.6623 15.0929C13.461 16.2757 14.3201 17.4027 15.4144 18.3268C15.8008 18.6505 16.109 18.8966 16.404 19.0783C15.5144 19.1778 14.0297 19.1991 13.0143 18.3958V18.3946ZM14.1252 11.2489C14.1252 11.0591 14.277 10.9079 14.4679 10.9079C14.511 10.9079 14.5501 10.9165 14.5852 10.9292C14.6329 10.9464 14.6766 10.9723 14.7111 11.0114C14.7721 11.0718 14.8066 11.158 14.8066 11.2489C14.8066 11.4386 14.6548 11.5899 14.4639 11.5899C14.273 11.5899 14.1252 11.4386 14.1252 11.2489ZM17.5759 13.0188C17.3545 13.1096 17.1331 13.1873 16.9203 13.1959C16.5903 13.2131 16.2303 13.0791 16.0348 12.9153C15.7312 12.6605 15.5139 12.5179 15.423 12.0734C15.3839 11.8837 15.4057 11.5899 15.4402 11.4214C15.5185 11.0585 15.4316 10.8257 15.1757 10.614C14.9676 10.4415 14.7025 10.3938 14.4115 10.3938C14.3029 10.3938 14.2034 10.3461 14.1292 10.3076C14.0079 10.2472 13.9078 10.096 14.0033 9.91023C14.0338 9.84985 14.1815 9.70322 14.216 9.67734C14.6111 9.45251 15.0665 9.52612 15.488 9.6946C15.8784 9.85445 16.174 10.1477 16.5989 10.5623C17.033 11.0631 17.1112 11.2011 17.3585 11.5772C17.554 11.871 17.7317 12.1729 17.8536 12.5185C17.9272 12.7341 17.8317 12.9107 17.5759 13.0188Z" fill="#3c3c43"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Google Gemini</title><path d="M11.04 19.32Q12 21.51 12 24q0-2.49.93-4.68.96-2.19 2.58-3.81t3.81-2.55Q21.51 12 24 12q-2.49 0-4.68-.93a12.3 12.3 0 0 1-3.81-2.58 12.3 12.3 0 0 1-2.58-3.81Q12 2.49 12 0q0 2.49-.96 4.68-.93 2.19-2.55 3.81a12.3 12.3 0 0 1-3.81 2.58Q2.49 12 0 12q2.49 0 4.68.96 2.19.93 3.81 2.55t2.55 3.81"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>OpenAI</title><path d="M22.2819 9.8211a5.9847 5.9847 0 0 0-.5157-4.9108 6.0462 6.0462 0 0 0-6.5098-2.9A6.0651 6.0651 0 0 0 4.9807 4.1818a5.9847 5.9847 0 0 0-3.9977 2.9 6.0462 6.0462 0 0 0 .7427 7.0966 5.98 5.98 0 0 0 .511 4.9107 6.051 6.051 0 0 0 6.5146 2.9001A5.9847 5.9847 0 0 0 13.2599 24a6.0557 6.0557 0 0 0 5.7718-4.2058 5.9894 5.9894 0 0 0 3.9977-2.9001 6.0557 6.0557 0 0 0-.7475-7.0729zm-9.022 12.6081a4.4755 4.4755 0 0 1-2.8764-1.0408l.1419-.0804 4.7783-2.7582a.7948.7948 0 0 0 .3927-.6813v-6.7369l2.02 1.1686a.071.071 0 0 1 .038.052v5.5826a4.504 4.504 0 0 1-4.4945 4.4944zm-9.6607-4.1254a4.4708 4.4708 0 0 1-.5346-3.0137l.142.0852 4.783 2.7582a.7712.7712 0 0 0 .7806 0l5.8428-3.3685v2.3324a.0804.0804 0 0 1-.0332.0615L9.74 19.9502a4.4992 4.4992 0 0 1-6.1408-1.6464zM2.3408 7.8956a4.485 4.485 0 0 1 2.3655-1.9728V11.6a.7664.7664 0 0 0 .3879.6765l5.8144 3.3543-2.0201 1.1685a.0757.0757 0 0 1-.071 0l-4.8303-2.7865A4.504 4.504 0 0 1 2.3408 7.872zm16.5963 3.8558L13.1038 8.364 15.1192 7.2a.0757.0757 0 0 1 .071 0l4.8303 2.7913a4.4944 4.4944 0 0 1-.6765 8.1042v-5.6772a.79.79 0 0 0-.407-.667zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759 0 0 0-.7854 0L9.409 9.2297V6.8974a.0662.0662 0 0 1 .0284-.0615l4.8303-2.7866a4.4992 4.4992 0 0 1 6.6802 4.66zM8.3065 12.863l-2.02-1.1638a.0804.0804 0 0 1-.038-.0567V6.0742a4.4992 4.4992 0 0 1 7.3757-3.4537l-.142.0805L8.704 5.459a.7948.7948 0 0 0-.3927.6813zm1.0976-2.3654l2.602-1.4998 2.6069 1.4998v2.9994l-2.5974 1.4997-2.6067-1.4997Z"/></svg>
|