Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .claude/rules/GLOSSARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

- **输入语法分工(`/` vs `@`/`+`)**(用户拍板 2026-07-09 两轮:REQ-072 B 案立 v1,REQ-073 拍板修订 v2,**固化规则勿漂移**)— `/` = **显式执行一个动作**:命令 + 技能(技能的手动触发通道;技能另有模型按描述自动装载的路)+ MCP 生成命令 + 单条 `/agents` 管理入口;`@` 与 `+` = **装配本条消息**(同一统一弹窗的两个触发器):引用(指派子 agent / 引用文件)· 附加(文件、终端)· 模式(计划模式等主档切换)。**agent 不逐个平铺进 `/`**;**主档(build/plan)是"模式"、不进 Agent 引用节**;内部档(alpha-automation 系)任何弹窗不可见。一句话:斜杠回答"执行什么",@/+ 回答"这条消息怎么组装——让谁干、带上什么、用什么模式"。
- **command vs skill**(易混,与 Claude Code 心智一致)— **skill** = SKILL.md 能力包,模型可按描述**自动装载**,引擎同时为其生成同名 command 作显式入口;**command** = 纯模板展开,**只有**显式 `/name` 一条触发路。定制中心不单列 command tab(ADR-014 O2)。
- **出厂技能(factory skills)基线 = 7 件**(REQ-082 盘点落档,2026-07-09;真源 = `factory-skills.ts:FACTORY_SKILL_IDS`,守卫 = `assert-seed-assets.sh`)— skill-creator(造技能)· agent-creator(造 agent)· customize-alpha(引擎配置/治理/定制中心约定)· integrate-project(外来 `.claude`/`.agents` 导入,ADR-024)· alpha-workspace(`~/Alpha` 目录契约,ADR-025)· cloud-dispatch(云派发契约/预算/数据边界,ADR-021)· office-docs(办公文档连接器选型 + xlsx 惯例 + PDF 缺口补位,REQ-080)。随 app 打包、经 `skills.paths` 直指随包资源(REQ-065 纯度通道,不落 `.alpha`);新增出厂技能三处同改:资源目录 + FACTORY_SKILL_IDS + seed 守卫。

## 技术栈术语(opencode 侧,会在设计/实现里频繁出现)
- **`@opencode-ai/sdk`** — 由 server OpenAPI 生成的 HTTP/SSE 客户端(v1 `/…` + v2 `/api/*`)。**前端与外部客户端访问后端的唯一稳定契约**。公开 MIT。
Expand Down
4 changes: 2 additions & 2 deletions docs/BACKLOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,9 @@
| REQ-077 | Windows 正式构建通道:CI(GitHub 托管 windows runner)出含 win32 原生件的安装包 | feature | A | shipped(PR #167+#168) | **S36 shipped(2026-07-09,PR #167 + 修 #168;二跑 run 29001275508 全绿 = 验收①②实证:断言步证 win32 pty/watcher 在包内、artifact 127.7MB 可下载;首跑逮出 electron-builder v26 CI 隐式 publish 坑 → `--publish never`;verified 待验收③随 REQ-076 真机批;契约 [sprints/s36](sprints/2026-07-09-s36-req077-windows-ci/sprint.md))**:`alpha-windows-build.yml`(workflow_dispatch + windows-latest + bun 缓存 + ship:windows + **win32 原生件 pwsh 断言(缺即红)** + artifact 上传);机制核查 = 上游 sign-windows.ps1 无 Azure 密钥优雅自跳(无需加闸,且上游用 **Azure Trusted Signing** 可作 T3 采购先例)、bun 自动跑 pre 脚本(fresh runner 产物链完整);channel 为 choice 白名单输入(无注入面)。**S35 T1b 实测发现的补位(2026-07-09)**:bun 只装当前平台 optionalDeps → mac 交叉包缺 `node-pty-win32-x64`/`watcher-win32-x64` 等原生件,仅供内测/结构冒烟;正式包须 Windows 环境构建(上游 publish.yml 同款)。方案 = 自有 `.github/workflows/alpha-windows-build.yml`,**GitHub 托管 `windows-latest` 标准池**(不踩 Blacksmith 永久 queued 坑,docs/CI.md §5)+ `workflow_dispatch` 手动触发 + artifact 上传;签名/发版自动化归 REQ-076 T3 不抢跑。**REQ-076 真机批的用包前置**;验收 = 产物含 win32 原生件 + 真机可装(随真机批同场);详见 [requirements/REQ-077](requirements/REQ-077-windows-build-channel.md) |
| REQ-078 | @/+ 装配弹窗诚实化与能力补齐:附件真通道(图片/PDF/文件)+「附加终端」文案失实修正 + 零查询钉「变更/最近文件」 | ux | A | shipped(PR #169;真机批残单 = session 表面像素/附件端到端真发送/拖拽 hover) | **S37 shipped(2026-07-09 当日,契约 [sprints/s37](sprints/2026-07-09-s37-req078-composer-popup/sprint.md),证据 [audits/s37](audits/2026-07-09-s37-req078/verify.md))**:T1/T2/T3 全量 + dev CDP 三图断言;**实施发现:上游 `/file/status` 恒返 [] 存根(SDK 有形引擎无实),T3 改走 `/vcs/status` 真实现**。原案:议题② + 弹窗审计实锤两处 placebo(C28):①「文件和文件夹」行两模式都送不进消息——home 未注册 `file.attach` 静默 no-op(composer-autocomplete.tsx:306-309),session 页选中文件落进隐藏的上游 prompt store、alpha 提交只发 text+mentions(alpha-composer.tsx:532-540)→ **附件被静默吞**;②「附加终端」desc 称「把终端输出带进上下文」,实际 `terminal.new` 只开终端 tab(composer-autocomplete-core.ts:170),引擎亦无终端→context 原语,且 home 上是死行。修序:T1 placebo 先行(附件行接真通道或先撤、终端行文案如实 + home 隐藏)→ T2 附件自建(引擎 `FilePartInput` 支持任意 mime+dataUrl 含图片/PDF,上游冻结 composer 粘贴/拖拽/原生选择器三通道可参照)→ T3 引用节零查询钉 git 变更文件(`file.status` 现成;上游有钉 open files 先例)+ `find.files` limit=8 放宽。后续 tier(另拍):行区间引用 `@path:12-40`(引擎吃 `?start=&end=`)、MCP 资源引用(`/experimental/resource`,NON_GOALS#4 须标注+fail-soft)、LSP 符号(`/find/symbol`);SubtaskPartInput 与 shell 模式明确暂缓(@agent 已覆盖指派心智;模式节语义已钉死);详见 [requirements/REQ-078](requirements/REQ-078-composer-popup-honesty.md) |
| REQ-079 | 定制中心供给面 curation:Agent tab 撤下引擎原生内置 agent 平铺,浏览面只展示 catalog 精选可安装项 | ux | X | ready | **用户拍板方向(2026-07-09):「内置 agent 不需要显示,只提供必要的 agent/skill 让用户自己添加」**。现状(实查):Agent tab = 引擎 `app.agents()` 全量滤 hidden 后标「内置」平铺(use-extensions.ts:214-223、extension-hub.tsx:874)+ catalog 卡仅 2 条(code-reviewer/bug-triage);内部三 agent 已 hidden 不受影响;治理面板(governance-panel.tsx)已有原生 agent 的 hide/disable/override 管理入口 → **浏览面撤下原生平铺零功能损失**(管理职能归治理面板,浏览面回归「可安装的精选」)。连带 C 侧补充精选条目;「必要精选」残点见待拍板队列(不阻塞开工);详见 [requirements/REQ-079](requirements/REQ-079-hub-curation.md) |
| REQ-080 | 办公文档能力上架:xlsx/docx/pptx 写作 MCP 三连 + alpha 自写 office-docs 引导技能,office 套件收口 | feature | X | ready | **拍板(2026-07-09):①按推荐上架 ②office-docs 入出厂 ③paperjsx 留 watchlist** · 议题④(2026-07-09)+ 生态实查(GitHub/npm/pypi 逐项核验)**:Anthropic 官方四件(docx/pdf/pptx/xlsx)license 仍为 **Proprietary 禁再分发禁衍生**(anthropics/skills 逐 LICENSE.txt 核验,与 catalog `_disclaimers` 既有判断一致),且假定沙箱预装 LibreOffice/pandoc/python/node 四运行时 → Windows 小白不可行,上架红线维持;生态无可信 Apache/MIT 重实现;**Codex 已有官方 skills 体系**(developers.openai.com/codex/skills,较上次核查的新变化)但无官方文档技能。推荐上架(全 uvx/npx 运行时拉取 = 零再分发负担,单一 bootstrap 与现有 runtimeDep 预检模型匹配):① `excel-mcp-server`(uvx,MIT,4.0k★:创建/编辑/公式/图表/透视,免装 Excel,Windows 文档明示)② `Office-Word-MCP-Server`(uvx,MIT,2.1k★;详情页须如实标注其 PDF 转换工具需本机 MS Word)③ `Office-PowerPoint-MCP-Server`(uvx,MIT,32 工具);PDF 创建生态空缺(可信写 MCP 不存在)→ ④ alpha 自写 `office-docs` 引导技能补位(Apache-2.0:教连接器选型、xlsx 惯例、pypdf/reportlab 片段——底层库 BSD/MIT 可用,Anthropic 技能文本只可重表达不可抄);⑤ bundle:office 补齐(兑现条目内 `_verify` 既有意向:markitdown+filesystem+新三连+引导技能)。watchlist:`@paperjsx/mcp-server`(npx,MIT,全格式 JSON→doc 含 PDF 创建,0★/freemium 待熟)。选型三点已拍板(见上);C 侧上架 + A 侧引导技能随包;详见 [requirements/REQ-080](requirements/REQ-080-office-docs-suite.md) |
| REQ-080 | 办公文档能力上架:xlsx/docx/pptx 写作 MCP 三连 + alpha 自写 office-docs 引导技能,office 套件收口 | feature | X | in-sprint(S38;A 侧 office-docs 出厂技能 shipped PR #170,C 侧三连上架 + bundle:office 进行中) | **拍板(2026-07-09):①按推荐上架 ②office-docs 入出厂 ③paperjsx 留 watchlist** · 议题④(2026-07-09)+ 生态实查(GitHub/npm/pypi 逐项核验)**:Anthropic 官方四件(docx/pdf/pptx/xlsx)license 仍为 **Proprietary 禁再分发禁衍生**(anthropics/skills 逐 LICENSE.txt 核验,与 catalog `_disclaimers` 既有判断一致),且假定沙箱预装 LibreOffice/pandoc/python/node 四运行时 → Windows 小白不可行,上架红线维持;生态无可信 Apache/MIT 重实现;**Codex 已有官方 skills 体系**(developers.openai.com/codex/skills,较上次核查的新变化)但无官方文档技能。推荐上架(全 uvx/npx 运行时拉取 = 零再分发负担,单一 bootstrap 与现有 runtimeDep 预检模型匹配):① `excel-mcp-server`(uvx,MIT,4.0k★:创建/编辑/公式/图表/透视,免装 Excel,Windows 文档明示)② `Office-Word-MCP-Server`(uvx,MIT,2.1k★;详情页须如实标注其 PDF 转换工具需本机 MS Word)③ `Office-PowerPoint-MCP-Server`(uvx,MIT,32 工具);PDF 创建生态空缺(可信写 MCP 不存在)→ ④ alpha 自写 `office-docs` 引导技能补位(Apache-2.0:教连接器选型、xlsx 惯例、pypdf/reportlab 片段——底层库 BSD/MIT 可用,Anthropic 技能文本只可重表达不可抄);⑤ bundle:office 补齐(兑现条目内 `_verify` 既有意向:markitdown+filesystem+新三连+引导技能)。watchlist:`@paperjsx/mcp-server`(npx,MIT,全格式 JSON→doc 含 PDF 创建,0★/freemium 待熟)。选型三点已拍板(见上);C 侧上架 + A 侧引导技能随包;详见 [requirements/REQ-080](requirements/REQ-080-office-docs-suite.md) |
| REQ-081 | 退役中国办公三件套:C 端 catalog 删 feishu/yuque/dingtalk 三连接器 + bundle:china-office | debt | C | **verified**(2026-07-09 当日执行:alpha-web PR #16 合入 + ECS 部署;线上端点实证 = v2026-07-09.1 / 24 条 / 三件套+套件全缺席 / bundle:office 完好 / A 内置公钥对新签名 verify=true。**部署插曲**:ECS→GitHub 当时完全不通(git 端点 000),按 deploy.sh 等价语义走 SSH 直推 git 对象 + reset + npm ci/build + systemd 重启 + 健康检查全绿;ECS root 补了 safe.directory 白名单,下次 deploy.sh 走 GitHub 不受影响) | **用户拍板(2026-07-09):「退役飞书等三件套,注释掉它们」——尚未想清楚如何优雅实现这些 MCP,先下架**。机制(实查):catalog schema 无 hidden/disabled 字段(catalog-types.ts:102-128),且旧 app 会忽略新增字段照常显示 → **「注释」不可行,唯一有效退役 = C 仓 catalog-src/catalog.json 删条目**(git 历史留档,想清楚后可随时重上架);流程 = 删 4 条目(3 连接器 + china-office 套件)+ bump version → build-catalog.mjs(sha256+ed25519 签名)→ deploy(联网用户下次打开 hub 即生效,**A 仓零动作**;A 内置快照禁手编、随下次发版 sync-catalog-snapshot.mjs 刷新,离线用户在此之前仍见旧条目 = ADR-023 已记录取舍)。连带回写:E2(dingtalk,shipped 半验)的「首次真调用待凭证」验收随退役作废;dingtalk 供应链 `_verify`(npm 无可审计公开源码)一并了结。**用户 GO(2026-07-09)——本日执行,回写见状态列** |
| REQ-082 | 内置技能基线补全:cloud-dispatch 云派发出厂技能(ADR-021 契约模板兑现)+ customize-alpha 增连接器/套件安装章节 | feature | A | ready | **用户拍板方向(2026-07-09):「云派发的应该也作为内置提供」;确认 ready 同日**。现状(实查):云派发教学 skill **从未建过**(ADR-021 §1「dispatch skill 的 contract 模板按此写死」为空头承诺,grep resources/ext/catalog 零命中);会话内仅当 `ALPHA_CLOUD_MCP_URL`+token 就位时注入 cloud_* MCP 工具(sidecar.ts:366-370),无任何使用指引。T1 = 新增出厂技能 `cloud-dispatch`(教 diff-only 契约、denied_paths 默认、预算/档位、回流落点 `.alpha/runs/`,ADR-021 数据边界如实声明;经 REQ-065 纯度通道 skills.paths 随包注入,不落 `.alpha`);T2 = customize-alpha 扩「连接器/套件」章节(hub 为主路径 + `alpha_register type=mcp` 项目级次路径 + 密钥/receipts 诚实边界)。**独立安装 skill 暂不立**(用户议题⑥的裁定建议):密钥采集在 main(`{file:}` 通道)、会话内安装绕过 receipts 账本、catalog 未向会话暴露——三个机制缺口补齐前独立 skill 只能半吊子,待「catalog-to-session + receipts 写路径」立项再议。基线盘点:现有出厂 5 件(skill-creator/agent-creator/customize-alpha/integrate-project/alpha-workspace)+ 本项 cloud-dispatch + REQ-080 office-docs = 7 件;详见 [requirements/REQ-082](requirements/REQ-082-builtin-skills-baseline.md) |
| REQ-082 | 内置技能基线补全:cloud-dispatch 云派发出厂技能(ADR-021 契约模板兑现)+ customize-alpha 增连接器/套件安装章节 | feature | A | shipped(PR #170;真机批残单 = 登录态会话真派发一单 research + 登出态诚实引导实测) | **S38 shipped(2026-07-09 当日,契约 [sprints/s38](sprints/2026-07-09-s38-supply-baseline/sprint.md))**:cloud-dispatch 文案逐项对照 B 侧源码写成(cloud-mcp.ts 八工具 / cloud-contract.ts 预算默认 25·300k·600s 帽 50·500k·1800s / pipelines.ts 七 kind 与 input 字段 / schedules.ts 熔断 3),零想象接口;customize-alpha 连接器/套件章 + GLOSSARY 出厂 7 件基线落档 + seed 守卫收全量(存量 3 件历史漏登一并补)。原案:**用户拍板方向(2026-07-09):「云派发的应该也作为内置提供」;确认 ready 同日**。现状(实查):云派发教学 skill **从未建过**(ADR-021 §1「dispatch skill 的 contract 模板按此写死」为空头承诺,grep resources/ext/catalog 零命中);会话内仅当 `ALPHA_CLOUD_MCP_URL`+token 就位时注入 cloud_* MCP 工具(sidecar.ts:366-370),无任何使用指引。T1 = 新增出厂技能 `cloud-dispatch`(教 diff-only 契约、denied_paths 默认、预算/档位、回流落点 `.alpha/runs/`,ADR-021 数据边界如实声明;经 REQ-065 纯度通道 skills.paths 随包注入,不落 `.alpha`);T2 = customize-alpha 扩「连接器/套件」章节(hub 为主路径 + `alpha_register type=mcp` 项目级次路径 + 密钥/receipts 诚实边界)。**独立安装 skill 暂不立**(用户议题⑥的裁定建议):密钥采集在 main(`{file:}` 通道)、会话内安装绕过 receipts 账本、catalog 未向会话暴露——三个机制缺口补齐前独立 skill 只能半吊子,待「catalog-to-session + receipts 写路径」立项再议。基线盘点:现有出厂 5 件(skill-creator/agent-creator/customize-alpha/integrate-project/alpha-workspace)+ 本项 cloud-dispatch + REQ-080 office-docs = 7 件;详见 [requirements/REQ-082](requirements/REQ-082-builtin-skills-baseline.md) |

## Active — P2(债务)

Expand Down
3 changes: 3 additions & 0 deletions docs/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
## [Unreleased]

### Added
- **新增出厂技能「cloud-dispatch」:会话里就能把任务派到云上跑**(REQ-082,需下个签名版本生效)——登录(代付)状态下,让 agent「云端调研一下 X」即可正确派发:技能教会模型云任务的完整契约(调研/代码审查/文档三类管线与沙箱档、预算上限、结果取回),并内置数据边界纪律(代码只送 diff、绝不带密钥/.env)。未登录或 BYOK 时如实告知云派发不可用并指路登录,不会假装派发。
- **新增出厂技能「office-docs」:做表格/写文档/生成 PPT 有了正确指路**(REQ-080,需下个签名版本生效)——问「帮我做个 Excel」时模型知道该用哪个连接器(读文档=markitdown、写 xlsx/docx/pptx=对应办公连接器)、没装时指路扩展市场一键安装(或征得同意后用本地 Python 脚本兜底)、内置表格制作惯例(真实数字/日期类型、表头冻结、公式而非写死数值)与 PDF 生成代码片段(生态没有可信的 PDF 写连接器,如实补位不硬装)。
- **customize-alpha 技能补上连接器/套件章节**(REQ-082)——会话里问「怎么装连接器」不再只会指路定制中心:密钥为什么要走安装弹窗(密文存储,绝不明文写配置)、项目级注册的信任门语义、首跑下载慢是诚实状态、套件与插件的区别,一次讲清。
- **输入框支持真·附件:图片与 PDF(粘贴 / 拖拽 / 选择器三通道)**(REQ-078,需下个签名版本生效)——@/+ 弹窗「添加附件」现在打开真正的文件选择器;截图可直接粘贴进输入框、文件可拖进来,附件以缩略图标签展示、可单个移除,随消息真实发给模型。不支持的类型(文本/代码文件)与超限(图片 5MB / PDF 10MB)会如实提示原因并指路 @ 引用,绝不静默丢弃——此前弹窗里的「文件和文件夹」选了文件其实**发不出去**(首页点击无反应、会话页选中的文件被静默吞掉),本次一并根治。
- **@ 弹窗打开即看到本项目的改动文件**(REQ-078,需下个签名版本生效)——不输入关键词时「文件」节自动钉出 git 变更文件(最多 10 条,点击即引用);输入关键词照常全项目搜索,且搜索结果上限从 8 条放宽到 20 条。

Expand Down
2 changes: 1 addition & 1 deletion docs/requirements/REQ-080-office-docs-suite.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ type: feature
priority: P1
repo: X
created: 2026-07-09
status: ready
status: in-sprint
source: 用户议题④(2026-07-09)+ 生态实查;用户拍板(2026-07-09):①按推荐上架 ②office-docs 引导技能入出厂内置
---

Expand Down
2 changes: 1 addition & 1 deletion docs/requirements/REQ-082-builtin-skills-baseline.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ type: feature
priority: P1
repo: A
created: 2026-07-09
status: ready
status: shipped
source: 用户拍板方向(2026-07-09):「云派发的应该也作为内置提供」;议题⑥裁定 = 扩 customize-alpha 章节、独立安装 skill 暂不立
---

Expand Down
Loading
Loading