Skip to content

「添加的自定义节点」记录改存一个 AI 写不到的地方(存储层) #1391

Closed

Description

@jinjunnn

你在模型选择器里「添加自定义节点」配好的服务,它的地址今天写在一个 AI 自己有权限改写的文件里 —— 所以我们不敢照它放行,这个功能实际是坏的。这张票只做第一步:换一个 AI 写不进去的地方来存这份记录,不改任何界面、也还不恢复功能。做完之后,后面两张票才能把「按你配的地址放行」接上。

基线:docs/design/2026-09-21-1383-custom-provider-address-truth-baseline.md(owner 2026-09-21 批准)。 本票 = 基线 §四 的子票 1。前置 #1390 第一步(在它落地前,没有任何目录是稳定「引擎写不到」的)。

负责哪些 AC

基线 I2(真源路径不在可写集内,对 18 条静态行逐条断言)、I4 的存储侧(解析失败 / 字段不合法 ⇒ 拒绝并说得出原因)。

边界

  • 新增真源:<appData>/alpha-code-state/custom-providers/<env>.json,{ v: 1, providers: [{ id, name, compat, baseURL, models }] };密钥不进这里(仍在 #1343 的钥匙串库)。
  • 原子写(写临时文件 + rename),读端解析失败 ⇒ 视为"没有记录",不是空记录。
  • 读与写拆成两个模块(基线 §四 子票 1 的实现约束):alpha-models.ts / ext-config.ts / alpha-environment.ts 都在 sidecar 的 import 闭包里,写入点若跟进去,写盘登记簿只能填 main-only 这个文字标签,测试查不出它是否真的只有 main 执行。

Out of scope

注入面与出网放行改从它派生(子票 2);添加时的准入与旧记录处置(子票 3);UI;#1381 的 MCP 地址。

退出条件

真源可读可写、判据齐(含 I2 的 18 行断言与一条"解析坏了就拒"的反向臂),但还没有任何消费者 —— 本票不改变任何用户可观察行为。

复杂度

S–M

Activity

  1. self-assigned this
    on Sep 22, 2026
  2. jinjunnn commented on Sep 22, 2026

    @jinjunnn
    OwnerAuthor

    暂缓(退回 Ready、清掉周期)。理由按「先量承受者与基数」:owner 只用 Alpha gateway 与 BYOK,本机自定义节点零条( 的 "provider": {})。本票是自定义节点那条线的存储层,现在没有承受者。

    围栏那条线不再依赖它 —— #1394(P0)改为自带所需的存放位置,不等本票。owner 说要用自定义节点时再启。

  3. jinjunnn commented on Sep 22, 2026

    @jinjunnn
    OwnerAuthor

    关闭(not planned)。owner 2026-09-22:自定义节点这条线不做了,改走最短路径 —— 把入口关掉(#1397),而不是补完真源改造。

    依据:本机自定义节点为零(env/prod/alpha.jsonc 的 provider 段是空对象),owner 只用 Alpha gateway 与 BYOK 目录内供应商。已批准的方案基线仍留在仓里(docs/design/2026-09-21-1383-custom-provider-address-truth-baseline.md),将来要做时从那里接着走,不必重新勘破。

  4. jinjunnn commented on Sep 22, 2026

    @jinjunnn
    OwnerAuthor

    重开。前提被推翻。

    我关这张票的依据是「本机自定义节点零条 + owner 只用 gateway 与 BYOK」。owner 2026-09-22 更正:零条是因为它坏着,他要的正是这个能力 —— 用我们目录里没有的远程服务(OpenAI、Gemini 等),填 URL + OpenAI/Anthropic 兼容格式 + API Key 接进来。ollama 那种本机地址他确实不要,但那只是这个能力指向 localhost 的特例,两件事。

    所以这条线恢复:本票(真源存储层)→ #1392(注入面与出网放行改按真源算,自定义节点恢复可用)。方案基线不变(docs/design/2026-09-21-1383-custom-provider-address-truth-baseline.md,已批)。

  5. jinjunnn commented on Sep 22, 2026

    @jinjunnn
    OwnerAuthor

    owner 2026-09-22 发版门:本票与另两件(未列明 provider 接入 #1391/#1392、远程 MCP #1381、时间线运行指示 #1399)全部完成才发下一个版本。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:securitySecurity or access controltype:featureNew user or system capability

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions