Files
apes-sidebar/docs/wiki/Home.md
T
figmar 2b88c85ea7
CI / ci (push) Canceled after 0s
CI / ci-windows (push) Canceled after 0s
CI / plugin-mount (push) Canceled after 0s
docs(wiki): 01-需求分析 改为「原生 vs 上游 vs 本 fork」对比式需求分析
把用户贴的 10 行 tab 表按供给来源拆成三层,逐行追问没有它时他会怎么办:
- DSH 原生 = 右列容器 + 「文件」页 + documentpreview 文本兜底(证据 external-plugin-guide.md)
- 上游 = 六个操作面(文件/变动/子代理/侧边对话/终端/浏览器)
- 本 fork = 三个态势面(agents/apps/profile)

新增 7 条需求变化洞察(操作面→态势面、零切换棘轮、提问副作用归零、
看得见→敢放手、心智模型外化、价值随并行度放大、增量成本≈0),
U1-U6 收敛为由分析推出的需求表;实现/根因只留附录索引。
2026-10-04 02:00:25 +08:00

4.9 KiB
Raw Blame History

apes-sidebar 项目百科

DeepSeek Harness(DSH)的服务化右侧边栏工作台 + apes 信息层。 本项目是 dsh-better-sidebar(MIT)的 fork, 在其「文件 / 文件变动 / 任务 / 侧边对话 / 终端 / 浏览器」工作台之上,追加三个信息层标签页: 智能体(agents)/ 应用(apps)/ 画像(profile)。

一、项目速览

项 值
仓库 figmar/apes-sidebar(公开)
默认分支 main
许可证 MIT(fork 自 omdsh-dev/DSH-better-sidebar)
语言 / 构建 TypeScript(strict)· tsdown(rolldown)· pnpm
宿主 DSH Desktop(Electron 壳)或 DSH Web profile
上游跟随方式 不合并上游提交,而是测量式 re-base(见 07-开发与测试)

二、两条版本线(重要)

本仓库同时维护两条互相独立、不能同时挂载的版本线(两条线都注册 ctx.betterSidebar, cordis entry id 冲突,第二个会被丢弃):

分支 版本 上游基线 peer / 宿主要求 状态
main 1.2.0 dsh-better-sidebar v0.19.1(8753096) ^0.1.5-rc.1(DSH 0.1.5-rc.1+) 已在本机 DSH Desktop 2.0.10(dsh 0.1.5-rc.2)实机运行
sync/v0.24.1 1.3.0 dsh-better-sidebar v0.24.1(a2751cf) ^0.2.0-rc.1(DSH 0.2.0-rc.1+) 构建与测试全绿,待具备 0.2.0 宿主实机验证

⚠️ 宿主的兼容性预检是「静默禁用」,不报错、不加载、无日志。 宿主用 semver.satisfies(host, peerRange, { includePrerelease: true }) 判定;caret 范围跨 minor 不成立(^0.1.5-rc.1 在 0.2.0 宿主上为 false),于是整行被跳过。 现象 = 插件"好像没装"。选线请先看宿主版本,见 04-部署指南。

三、文档地图

页面 内容
01-需求分析 用户为什么会需要:原生 / 上游 / 本 fork 三种供给对比、逐 tab「只有原生时他怎么办」、7 条需求变化洞察、U1–U6、已知限制
02-系统架构 host/client 拆分、三层接口面、面板宿主层级契约、关键不变量
03-功能说明 全部标签页与预览器、信息层数据来源、i18n、主题令牌、安全边界
04-部署指南 环境矩阵、选线、profile 接线、构建、验收清单、卸载
05-运维手册 版本线与分支策略、回滚剧本、发布纪律、巡检、备份铁律
06-故障排查 症状 → 根因 → 处置(含全部实机验证过的案例)
07-开发与测试 工程约定、目录、门禁、测试体系、扩展点、上游 re-base 方法

四、快速开始(TL;DR)

# 1) 构建(Node ≥ 20,pnpm)
pnpm install && pnpm typecheck && pnpm build && pnpm test

# 2) 接到 DSH profile(以桌面 profile 为例,使用 file: 链接依赖)
#    在 ~/.dsh/profiles/desktop/package.json 中:
#      "dsh-apes-sidebar": "file:/绝对路径/dsh-apes-sidebar"
#    并在 dsh.profile.bundles 列表里加入 "dsh-apes-sidebar"

# 3) 让 profile 重新安装依赖,然后 ⌘Q 完整退出 DSH 再启动

完整步骤与坑见 04-部署指南。

五、仓库内的事实源

位置 说明
README.md 面向用户的功能与安装说明(主体沿用上游文档,顶部有 fork notice)
AGENTS.md 面向 agent/协作者的工程约定(构建、布局、硬性规则、测试约定)⚠️ 注意:本文件当前描述的是另一套 from-scratch 实现,与 main 的 fork 树不一致,以源码为准
docs/external-plugin-guide.md 插件接入指南:ctx.betterSidebar.registerTab / registerFileViewer 的对外契约
docs/plans/ 上游历史设计文档(保持上游原样,未随 fork 改名)
docs/wiki/ 本百科的源文件(Gitea wiki 页面的可版本化副本,由 scripts/push-wiki.sh 推送)
scripts/switch.sh 两线切换脚本(aps ↔ upstream),含 --status

六、谱系说明(如实交代)

figmar/apes-sidebar 这个仓库先后承载过同一产品族的三代实现:

  1. v1:早期 JS bundle 版侧边栏插件(仓库描述里提到的「可配置显示名 / 预设 feyOS」即出自那一代);
  2. v2:from-scratch 重写(src/index.ts + src/client/index.tsx 结构,五个 apes:* tab), 即 AGENTS.md 所描述的那一套,其产物不在当前 main 上;
  3. 当前线(v0.19.1 / v0.24.1 fork):即 main 与 sync/v0.24.1 上的代码——本百科描述的对象。

若需要把本百科改写成描述 v2 重写版,请告知,源文件在 docs/wiki/ 可直接替换。