Files
ShadowsocksX-NG/docs/design/user-plugin-management-ui.md
T
Qiu Yuzhou be30f64f9f docs(design): 移除 to-spec 产物,去掉 user-plugin 文档的 -spec 后缀
两类文档来源不同,处理方式也不同:

- system-proxy-runtime-control-spec.md、terminal-command-address-spec.md 是
  to-spec 技能的原样产物(英文模板小节标题,无标题与日期头)。其内容已发布为
  Issue #72 / #73,人类需要的信息已由同日提交的无后缀中文文档承载;在仓库里再
  存一份,等于同一份规格有两个事实来源。删除后仍可从 git 历史追回。
- user-plugin-*-spec.md 四份来自 improve-codebase-architecture 会话:该技能把
  报告写进 OS 临时目录、不写 docs/design/,因此这四份是模型模仿仓库既有
  -spec.md 旧例命名(“猜测旧例”而非技能指令)。去掉后缀后仓库不再有该样板,
  后续模型少了可模仿的命名来源。四份保留原名主体,内容不动。

影响面:这六份文件全仓库零入站引用(含 docs/ 内部),移除与改名都无需改写链接。
docs/design/ 现为 12 份,无一带 -spec 后缀,与 AGENTS.md 的定位一致。

有意不做:不加“docs/design/*.md 必须带可解析 日期:/状态: 头”的确定性检查。
AI 输出本就无法保证规范化;更关键的是这类文档的“状态”只描述某次改进上下文,
不跟踪现状,把它当可校验字段是假精确。日期是写作时点的事实,两回事。
2026-10-05 22:39:58 +08:00

1.8 KiB
Raw Blame History

用户插件管理 UI(2026-10-05)

本文件记录本轮已确认规格,现状以代码为准。

  • 设置视图底部新增“插件”区域,统一展示内置与用户插件;同名覆盖占一行,区分内置、用户添加、用户覆盖。
  • 行展示名称、来源、单行中间截断路径(悬停完整内容)及异常;直接提供覆盖、编辑、删除或恢复内置按钮,无只有删除的更多菜单。
  • 新增、编辑和覆盖使用 sheet。新增名称/路径为空;编辑名称只读、路径预填;覆盖名称只读、路径为空。选择文件仅填路径。
  • 字段为插件名称 / Plugin name、可执行文件路径 / Executable path;按钮选择文件… / Choose File…、取消 / Cancel、保存 / Save。
  • 不支持改名。空名称、用户重名、非绝对路径在字段旁提示;保存重新检查文件存在且可执行。同名内置允许覆盖并提示。
  • 保存失败保留 sheet 与草稿;写入成功关闭。运行时异步应用,失败不回滚映射,沿用运行时错误入口。
  • 取消/Escape 直接丢弃草稿,再次打开读取已保存值。
  • 删除与恢复内置都需确认;说明服务器配置保留,删除可能令原名称不可用,恢复后使用内置插件。
  • 安全提示给出隔离、签名、策略的具体证据,允许展开详情;不声称能保证是否允许运行、不阻止保存、不自动解除隔离。检查无法判定时明确提示。
  • 映射读取失败隐藏列表与修改按钮,展示错误与重试读取。重试仅读取配置,不整体重置。
  • 进入设置、设置可见时应用重新激活、保存/删除后刷新文件可用性及安全事实;另提供刷新按钮。不添加文件监听。
  • 复用组合根现有 PluginCatalog,不另建持久化目录实例。