sideby 0.2.1 → 0.2.2
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/README.zh-CN.md +3 -3
- package/dist/build.json +1 -1
- package/dist/src/desktop/icon.js +2 -2
- package/dist/src/panel/page-styles.js +14 -13
- package/package.json +1 -1
- package/skills/sideby/SKILL.md +1 -1
package/README.zh-CN.md
CHANGED
|
@@ -54,9 +54,9 @@ agent 会检查 Node 和宿主 CLI,装好 sideby 和 skill,建账号,告
|
|
|
54
54
|
<img alt="终端里的 sideby:列出账号、查看额度、推荐下一个账号、发现并修复漂移" src="https://raw.githubusercontent.com/Adonis0123/sideby/main/docs/assets/demo.gif" width="1320">
|
|
55
55
|
|
|
56
56
|
<picture>
|
|
57
|
-
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/Adonis0123/sideby/main/docs/assets/panel-dark.png">
|
|
58
|
-
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/Adonis0123/sideby/main/docs/assets/panel.png">
|
|
59
|
-
<img alt="sideby 面板:每个账号的 5h、7d 额度,近 7 天 token 用量和健康状态" src="https://raw.githubusercontent.com/Adonis0123/sideby/main/docs/assets/panel.png" width="1280">
|
|
57
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/Adonis0123/sideby/main/docs/assets/panel-dark.zh-CN.png">
|
|
58
|
+
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/Adonis0123/sideby/main/docs/assets/panel.zh-CN.png">
|
|
59
|
+
<img alt="sideby 面板:每个账号的 5h、7d 额度,近 7 天 token 用量和健康状态" src="https://raw.githubusercontent.com/Adonis0123/sideby/main/docs/assets/panel.zh-CN.png" width="1280">
|
|
60
60
|
</picture>
|
|
61
61
|
|
|
62
62
|
## 还能做什么
|
package/dist/build.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"id":"
|
|
1
|
+
{"id":"20261008T095241-216534"}
|
package/dist/src/desktop/icon.js
CHANGED
|
@@ -6,8 +6,8 @@ import { deflateSync } from 'node:zlib';
|
|
|
6
6
|
export const APP_MARKER = 'sideby-app-install';
|
|
7
7
|
// Geometry in the Panel's 40-unit logo box (page.ts: .logo 40×40, radius 10; halves of radius 10.5 centred at
|
|
8
8
|
// 18.5,18.5 facing left and 21.5,21.5 facing right, so they sit 3 apart and mirror through the centre).
|
|
9
|
-
const TILE = { size: 40, radius: 10, color: [
|
|
10
|
-
const MARK = { color: [
|
|
9
|
+
const TILE = { size: 40, radius: 10, color: [0xe5, 0xf2, 0xfb] };
|
|
10
|
+
const MARK = { color: [0x3f, 0x8f, 0xc4], opacities: [1, 0.55] };
|
|
11
11
|
const HALVES = [
|
|
12
12
|
{ cx: 18.5, cy: 18.5, r: 10.5, side: -1 },
|
|
13
13
|
{ cx: 21.5, cy: 21.5, r: 10.5, side: 1 },
|
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
import { resolveTheme } from './theme.js';
|
|
4
4
|
// Colors defined from other tokens; repeated in both schemes so they follow that scheme's base colors.
|
|
5
5
|
const DERIVED_COLORS = `
|
|
6
|
-
--
|
|
7
|
-
--
|
|
8
|
-
--logo-bg: var(--text); --logo-fg: var(--bg); --logo-line: transparent;
|
|
6
|
+
--btn-text: var(--text); --btn-hover-text: var(--accent); --check: var(--focus);
|
|
7
|
+
--logo-bg: var(--accent-soft); --logo-fg: var(--focus); --logo-line: var(--border);
|
|
9
8
|
--focus-outline: 2px solid var(--focus); --focus-ring: none;`;
|
|
10
9
|
// Design tokens. A host theme (theme.ts) layers its values over these: light values after LIGHT_TOKENS, dark values after
|
|
11
10
|
// DARK_TOKENS. DARK_TOKENS sets every color token again, so a host's light colors never leak into dark mode, while
|
|
@@ -16,22 +15,24 @@ const LIGHT_TOKENS = `
|
|
|
16
15
|
--title-weight: 750; --heading-weight: 650; --strong-weight: 600; --button-weight: 600; --primary-weight: var(--button-weight);
|
|
17
16
|
--radius: 14px; --ctl-radius: 8px; --chip-radius: 999px; --ctl-h: 34px; --ctl-h-sm: 28px; --field-h: 36px;
|
|
18
17
|
--content-width: 1180px; --gutter: 24px;
|
|
19
|
-
--bg: #
|
|
20
|
-
--text: #15171c; --muted: #
|
|
21
|
-
--primary: #
|
|
22
|
-
--
|
|
18
|
+
--bg: #f2f8fc; --surface: #fcfcfa; --surface-2: #f6fafd; --border: #dce8f0; --border-strong: #c5d7e4;
|
|
19
|
+
--text: #15171c; --muted: #555b63; --faint: #8b93a1; --accent: #27658f; --accent-soft: #e5f2fb;
|
|
20
|
+
--primary: #e1f0fb; --primary-hover: #d2e8f9; --primary-active: #c3e0f6; --on-primary: #1f6396;
|
|
21
|
+
--primary-border: #b9d8ef; --primary-hover-border: #9cc7e8; --btn-hover-border: #8fbde3;
|
|
22
|
+
--hover: #f0f7fc; --active: #e6f1fa; --focus: #3f8fc4;
|
|
23
23
|
--ok: #15803d; --ok-bar: #22c55e; --ok-soft: #e8f7ee; --warn: #b45309; --warn-bar: #f59e0b; --warn-soft: #fdf3e2;
|
|
24
|
-
--fail: #c81e1e; --fail-bar: #ef4444; --fail-soft: #fdecec; --track: #
|
|
24
|
+
--fail: #c81e1e; --fail-bar: #ef4444; --fail-soft: #fdecec; --track: #e4edf4;
|
|
25
25
|
--spark: oklch(from var(--accent) clamp(0.55, l, 0.62) max(c, 0.14) h); --spark-soft: oklch(from var(--accent) 0.83 calc(max(c, 0.14) * 0.6) h);
|
|
26
26
|
--shadow: 0 1px 2px rgba(16,24,40,.04), 0 2px 8px rgba(16,24,40,.05);
|
|
27
27
|
--float-shadow: 0 10px 30px rgba(16,24,40,.14), 0 2px 6px rgba(16,24,40,.06);${DERIVED_COLORS}`;
|
|
28
28
|
const DARK_TOKENS = `
|
|
29
|
-
--bg: #
|
|
30
|
-
--text: #
|
|
31
|
-
--primary: #
|
|
32
|
-
--
|
|
29
|
+
--bg: #0e1621; --surface: #141e2a; --surface-2: #111a25; --border: #233244; --border-strong: #30455b;
|
|
30
|
+
--text: #e6edf3; --muted: #9aa9b8; --faint: #6b7a8a; --accent: #8cc4ee; --accent-soft: #16314a;
|
|
31
|
+
--primary: #173a58; --primary-hover: #1d4769; --primary-active: #22537a; --on-primary: #d3e9fa;
|
|
32
|
+
--primary-border: #2b5b82; --primary-hover-border: #3a6f99; --btn-hover-border: #4a7fa8;
|
|
33
|
+
--hover: #182736; --active: #1c2f42; --focus: #5aa7dc;
|
|
33
34
|
--ok: #4ade80; --ok-bar: #22c55e; --ok-soft: #13291c; --warn: #fbbf24; --warn-bar: #f59e0b; --warn-soft: #2d2410;
|
|
34
|
-
--fail: #f87171; --fail-bar: #ef4444; --fail-soft: #331717; --track: #
|
|
35
|
+
--fail: #f87171; --fail-bar: #ef4444; --fail-soft: #331717; --track: #1f2c3a;
|
|
35
36
|
--spark: oklch(from var(--accent) clamp(0.7, l, 0.78) max(c, 0.14) h); --spark-soft: oklch(from var(--accent) 0.45 calc(max(c, 0.14) * 0.6) h);
|
|
36
37
|
--shadow: 0 1px 2px rgba(0,0,0,.3); --float-shadow: 0 12px 32px rgba(0,0,0,.5), 0 2px 6px rgba(0,0,0,.3);${DERIVED_COLORS}`;
|
|
37
38
|
/**
|
package/package.json
CHANGED
package/skills/sideby/SKILL.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: sideby
|
|
3
3
|
description: Use when the user runs, or wants to run, several AI coding accounts (Claude Code, Codex, Grok Build, pi) side by side. Covers installing sideby and setting up a new account ("install sideby", "set up another Claude account", "add cc008", "配置一个 cc00x", "再加一个 Codex 账号"), explaining what accounts share and what stays separate ("what do my accounts share?", "这些账号共享了什么"), seeing accounts, quota and usage, moving on when one hits its 5-hour or weekly limit, adding a short command (alias), and repairing drifted account directories (skills, hooks, rules or settings not shared, wrong symlinks, credential file permissions). Drives the `sideby` CLI with `--json`; the agent does every step except browser sign-in, filling in secrets and starting interactive sessions, which it hands to the user as one command.
|
|
4
4
|
metadata:
|
|
5
|
-
version: "0.2.
|
|
5
|
+
version: "0.2.2"
|
|
6
6
|
requires:
|
|
7
7
|
bins: [sideby, node]
|
|
8
8
|
cliHelp: sideby --help
|