@stofone/dsh-agent-roster 0.13.0 → 0.13.1

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 CHANGED
@@ -4,6 +4,18 @@
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [0.13.1] - 2026-11-03
8
+
9
+ ### The local rosters are the front page
10
+
11
+ 0.13.0 opened on the library tab. That got the metaphor right and the priority wrong: the rosters you
12
+ already manage are what you come back to every day, and they were one tab away. The panel now lands on
13
+ **Rosters** — local, searchable, with its tag pool — and the library marketplace is the second tab.
14
+
15
+ - Tab order is `Rosters, Library, Teams, Sources, Health`; the default tab is `rosters` again.
16
+ - Nothing moved between the two: both read the same snapshot, both filter by tag, and the tag pools stay
17
+ independent (local-only vs everything in view) so neither one silently changes the other's counts.
18
+
7
19
  ## [0.13.0] - 2026-11-03
8
20
 
9
21
  ### A tab that behaves like a marketplace, not a filter on a list
@@ -615,6 +627,7 @@ point is now one search field above the tabs.
615
627
  且所有返回值先过 `lib/json.js#lossless`。
616
628
 
617
629
  [Unreleased]: https://github.com/dsh-agent-roster/dsh-agent-roster/compare/v0.12.0...main
630
+ [0.13.1]: https://github.com/dsh-agent-roster/dsh-agent-roster/compare/v0.13.0...v0.13.1
618
631
  [0.13.0]: https://github.com/dsh-agent-roster/dsh-agent-roster/compare/v0.12.0...v0.13.0
619
632
  [0.12.0]: https://github.com/dsh-agent-roster/dsh-agent-roster/compare/v0.11.1...v0.12.0
620
633
  [0.11.1]: https://github.com/dsh-agent-roster/dsh-agent-roster/compare/v0.11.0...v0.11.1
package/README.md CHANGED
@@ -308,8 +308,9 @@ turns into decoration.
308
308
 
309
309
  ## The library tab: find by capability, not by source
310
310
 
311
- The panel opens on **Library**, which is meant to read like a plugin marketplace: one search field, one row
312
- of tags, and one list that spans this machine and every subscribed source.
311
+ The panel opens on **Rosters** — the local ones: what you work with every day, its tags and members, ready
312
+ to filter or edit. The second tab is the **Library**, meant to read like a plugin marketplace: one search
313
+ field, one row of tags, and one list that spans this machine and every subscribed source.
313
314
 
314
315
  ```
315
316
  要找什么能力?例:数据质量、发版、代码评审
package/README.zh.md CHANGED
@@ -294,7 +294,8 @@ node bin/cli.mjs compile --roster examples-orchestration/rosters/core-review \
294
294
 
295
295
  ## 档案库:按能力找,而不是按来源翻
296
296
 
297
- 面板的第一个页签是**档案库**,定位接近一个插件市场:一个搜索框、一排标签、一份横跨本机与所有订阅来源的清单。
297
+ 面板的**首屏是本机档案**(第一个页签):你每天打交道的那些档案、它们的标签与成员,进来就能看见、能筛选、能改。
298
+ 第二个页签是**档案库**,定位接近一个插件市场:一个搜索框、一排标签、一份横跨本机与所有订阅来源的清单。
298
299
 
299
300
  ```
300
301
  要找什么能力?例:数据质量、发版、代码评审
@@ -373,8 +374,8 @@ node bin/cli.mjs compile --roster examples-orchestration/rosters/core-review \
373
374
 
374
375
  | 页签 | 能做什么 |
375
376
  |---|---|
377
+ | 档案 | 浏览每个工作区 × 每座档案库,展开成员;**新建 / 编辑 / 复制 / 删除 / 导入 / 导出**档案。编辑器有表单与源码两种模式(源码就是文件原文);写之前由宿主校验,覆盖已有文件会留一份 `.bak`;顶上有搜索框与标签池 |
376
378
  | 档案库 | 按能力找档案:搜索(横跨本机与订阅来源,命中给出处)、标签筛选、按来源聚合或平铺,行内直接打开或拉取 |
377
- | 档案 | 浏览每个工作区 × 每座档案库,展开成员;**新建 / 编辑 / 复制 / 删除 / 导入 / 导出**档案。编辑器有表单与源码两种模式(源码就是文件原文);写之前由宿主校验,覆盖已有文件会留一份 `.bak` |
378
379
  | 团队 | 读一个配置好的状态目录(默认 `.agent-teams`),列出运行时真正建出来的每个团队:档案、成员档案与模型路由、每个持久化成员是否真的与其档案一致,以及该团队的任务 |
379
380
  | 档案源 | 列出订阅的公共 registry 目录,每个 collection 一个「拉取到本机」按钮;可展开先看里面有哪些档案 |
380
381
  | 体检 | 把「配置有没有指错」集中一处:目录解析到了哪、状态目录在不在、有多少声明未被确认,以及该改哪个设置 |
package/client.js CHANGED
@@ -1556,7 +1556,7 @@ window.__ModuleLoader__.load({
1556
1556
  function Panel() {
1557
1557
  useTranslation();
1558
1558
  const library = useLibrary();
1559
- const [tab, setTab] = useState("catalog");
1559
+ const [tab, setTab] = useState("rosters");
1560
1560
  const [query, setQuery] = useState("");
1561
1561
  const [selectedTags, setSelectedTags] = useState(() => new Set());
1562
1562
  const [settingsOpen, setSettingsOpen] = useState(false);
@@ -1713,8 +1713,8 @@ window.__ModuleLoader__.load({
1713
1713
  "div",
1714
1714
  { className: "rstr-tabs", role: "tablist" },
1715
1715
  [
1716
- ["catalog", t("panel.tabsCatalog"), null],
1717
1716
  ["rosters", t("panel.tabsRosters"), rosters.length],
1717
+ ["catalog", t("panel.tabsCatalog"), null],
1718
1718
  ["teams", t("panel.tabsTeams"), teams.length],
1719
1719
  ["sources", t("panel.tabsSources"), snapshot?.remote?.collections?.length ?? 0],
1720
1720
  // 只有真正要用户处理的问题才计数:info 只是说明,不该在页签上挂数字。
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stofone/dsh-agent-roster",
3
- "version": "0.13.0",
3
+ "version": "0.13.1",
4
4
  "description": "多 Agent 团队的静态成员档案定义与校验层:档案库在面板里看得见、改得动,团队成员的人设、模型与工具边界固化成可校验、可版本化的文件,并在 dsh-agent-teams 创建成员时把档案桥接给运行时。",
5
5
  "type": "module",
6
6
  "main": "index.js",