17 KiB
项目:持续工作与协作容器
状态:Alpha 实现进行中,验收按 UI11—UI15 逐项记录。主任务 P1-11;关联 P1-05/P1-06/P1-07/P1-09、P2-03、P3-01。官方依据与差异见 研究记录。
1. 对象与所有权
| 对象 | 职责与所有者 |
|---|---|
| 组织 | identity/access 管理身份与授权边界 |
| 行业应用 | applications 管理品牌、场景及默认能力 |
| 项目 | projects 管理工作目标、指令修订、能力引用、成员关联、业务待办、任务关联和动态 |
| 执行任务 | Harness Session/执行日志拥有执行事实;WorkDSH 保存授权、组合快照和项目关联 |
| 本地工作区 | Harness Workspace 管理规范目录与 Session 分组;项目可选绑定其 ID 作为执行位置 |
| 工作目录 | runtime 管理执行文件路径;不是项目身份,可按主体/任务隔离 |
| 资产 | library 管理唯一内容与修订;项目资产页是权限过滤后的引用视图 |
| 自动化 | automations 管理触发与运行;即使关联项目,首期仍属创建者个人 |
一个项目有多任务,一条业务待办可以关联多次执行和多份成果。待办状态不等于运行状态:运行失败可产生有用成果,运行成功也不能自动证明业务已完成。项目不保存第二份资产正文或 Harness 日志。Harness Workspace 只管理本地目录与会话顺序,一个项目可选择绑定一个执行 Workspace;项目本身不依赖目录存在,也不能由 cwd 反向推导。
H09 核对:原生 Todo 仅整表覆盖 content/status,无稳定条目 ID;禁止用列表序号或文本生成项目 WorkItem 身份。原生 Plan 模式是执行提示,Goal 是 Session 目标;项目计划、负责人、截止时间和成果验收继续由 projects 领域管理。
2. P1 页面与操作
- 项目中心:新建、模板预填、搜索、最近访问、归档;空项目仍可从中心找到。
- 详情:动态、计划、任务、资产四个主标签;计划承载业务待办。右侧为可收起的项目配置,底部为项目输入区;成员与授权入口使用 access/identity。概览内容放在动态引导区,设置通过侧栏进入,不增加并列主标签。
- 设置:名称、目标、项目指令修订、推荐专家/技能、所需连接能力、默认实例与资料范围;保存时检查引用和管理权限。
- 任务:在项目内发起、关联已有自有任务、重命名、归档、筛选;关联不自动共享私有会话。执行中不允许移动项目或更换绑定。
- 待办:标题、描述、负责人、截止日期、状态、关联任务/资产;支持手动更新与受控 Agent 工具。状态为待处理/进行中/待确认/完成/取消;完成记录成果或业务依据。
- 资产:上传、分类、检索、查看修订、添加到任务、保存成果。调用 library 服务,不建项目专属存储实现。
- 动态:从授权过滤后的领域事件投影展示配置、任务关联、资产变更;重连使用事件游标,不能泄露不可读任务标题或个人自动化内容。
UI 与 project-manager 技能及工具调用同一服务。创建项目不自动创建远端账号、邀请成员或执行业务提交。
3. 新任务绑定与上下文
- 服务端确认组织、项目访问权和执行主体;加载项目配置修订。
- 默认选择顺序:用户明确选择 > 项目默认 > 应用场景默认 > 应用默认。此顺序只解析默认值,不能覆盖组织策略或资源权限。
- 候选能力可以来自项目推荐、个人及提供方目录;均须授权过滤,项目推荐优先显示。项目能力清单是推荐/默认,显式组织限制另行建模。
- 固定专家与技能修订、项目指令修订、应用修订、资料引用和具体连接实例;记录每项来源及缺失诊断。
- 项目指令经公开上下文机制注入。资料先由 Host 校验资产修订与权限,再按需读取并通过官方 Attachment/Context 能力形成本次执行引用;项目资产 ID 不能冒充浏览器上传 receipt。不把整个库或所有历史会话塞入提示词,文档内容不能授予执行权限。
- 资料搜索在授权范围内进行;实际读取再次校验。记录本次读到的修订与出处;项目配置变化只影响新任务,撤权即时约束后续操作。
P1 先实现文件/文本检索与引用,明确不承诺全格式解析与向量 RAG。P3 在相同资产契约后增加团队索引与检索提供方。扫描本地规则/技能只能适配已验证的 Harness 公开机制,不复制 .codebuddy 协议加载器。
4. 团队、连接与交接
项目权限细分 read/use/edit/manage;管理项目不自动取得所有私有 Session 内容。待办负责人分配不等于执行委派,服务端还需验证成员及授权。
连接引用同时区分共享服务账号和成员个人授权。同一服务可有多个实例,禁止凭显示名合并。项目推荐实例不自动授予使用权。多人协作执行仅允许受控公共连接;个人账号不能因他人加入而被使用。P1 通过双主体测试验证该规则,实际多人会话入口到 P3-01 且全部 runtime 隔离探针通过后开放。
P1 UI 仅同主体专家交接;跨主体服务仅用测试身份验证,真实成员交接 P3 开放。交接在干净上下文中只用获准源材料生成可预览摘要,附选定资料修订、业务待办信息;确认目标访问权后建立关联新任务,重新解析接收主体的连接与运行绑定。接收方无权读取的内容不能通过摘要或附件转移;已有外部提交不自动重放。
WorkBuddy 文档描述完整上下文复制;WorkDSH 不预设 Harness 支持。完整日志迁移作为 P0-03 验证项,不满足时保留摘要交接,不修改私有日志。
P3-01 补充邀请申请/审批/过期撤销、任务只读分享与多人协作队列。分享访问权、继续执行权和项目成员资格分别检查。多人同时发消息时执行仍由官方队列/会话机制负责,缺少公开能力则单独记录阻塞。
5. 持久化及失败语义
拟定义 Project、ProjectConfigRevision、ProjectTaskLink、ProjectMembershipRef、ProjectAssetRef、WorkItem、ProjectActivityProjection;本地执行配置可保存经 Host 校验的 WorkspaceId。所有对象含 organizationId、所有权、schemaVersion,配置和待办更新携带 expectedRevision。WorkspaceId 只定位执行目录,不授予项目、文件或 Session 权限。
创建任务跨越 projects 与 Harness,使用 requestId/操作记录关联,失败后对账修复孤立关联,不伪造分布式事务。文件输入遵守官方“先持久化附件、后追加 Session 事件”的顺序;上传 receipt 绑定接收 Agent。保存成果先由 library 提交,再幂等关联到项目;引用失败可重试关联,不能重复上传。
任务 Session 由官方 Session Controller/Agent 生命周期创建,projects 不直接调用裸 Session create。原生 todo/write 只表达当前 Session 的执行清单,不能更新或替代 WorkItem;deliverables/presented 只声明执行产生的文件,必须经 library 校验和登记后才成为 AssetRevision。Session fork、恢复和继续运行都重新校验 ProjectTaskLink、RuntimeBinding、能力修订和连接实例,不从 lineage 推导授权。
跨 Session 引用只能作为有预算、可截断并明确标记不可信的时间点上下文,不代表持续同步、项目成员关系或访问授权。项目若需要长期引用另一任务,projects 保存稳定业务关联并在每次解析时重验权限。官方 Session title 只命名会话,项目任务名称、待办标题和项目标题仍由 projects 领域持久化。
项目内任务搜索可以复用官方 Session Query 的日志、surface、标题与全文能力,但查询前必须由 ProjectTaskLink 和 RuntimeBinding 计算当前主体可访问的 Session ID 集合。原生过滤器没有 organizationId/projectId,不能先全局搜索再只隐藏项目名;标题、snippet、谱系和事件窗口都属于受保护内容。资料库检索继续查询资产索引,不把对话语料搜索冒充资料检索。
需要在原生 Conversation 中显示的项目业务节点以稳定项目对象 ID 关联最小自定义 Session event;项目权威状态仍从 projects Domain 读取。事件监听发生在 Session 提交后,项目写入失败进入待对账状态,不能试图撤销日志。交接、导出或依赖落盘读取前先等待 Session flush。
项目归档阻止新执行并保留历史;运行中的任务明确提示取消/等待选择。移除资产引用不删除资产;成员移除终止其订阅并拒绝后续访问。敏感审计事件与可见项目动态分开存储/投影。
6. 实施顺序与完成条件
项目契约在 D01/D02 提前确定,完整项目实现位于 D07,在技能、专家、连接器和资料库之后;应用默认值在 D08 联调。统一执行顺序见 逐插件计划,此处不再定义另一套顺序。
必须通过 验收台账 中 phase=P1 的全部项目用例;P3 功能以明确不可用状态呈现,不制造已发邀请或已共享的假回执。
7. 截图补充:项目工作界面(计划修订 7)
依据 十五图记录 和 WorkBuddy 官方项目说明。以下是 WorkDSH 待实现规格;项目首页、详情工作台、四个主标签、配置侧栏、底部输入区和统一弹框属于同构要求,只替换品牌与示例数据。
7.1 页面结构与阶段
| 区域 | 职责 | 阶段 |
|---|---|---|
| 顶栏 | 项目名称、返回项目中心;邀请入口 | P1 项目导航;P3 真实邀请 |
| 动态 | 用户留言、系统事件;与我相关/成员动态过滤 | P1 服务及本地操作;P3 真实成员通知 |
| 计划 | 业务待办看板/列表、负责人、评论和成员引用 | P1 待办/评论与多主体契约测试;P3 通知送达 |
| 任务 | 执行会话列表和关联成果 | P1;多人实时协作 P3 |
| 资产 | library 提供的项目资产视图 | P1;团队提供方 P3 |
| 配置侧栏 | 指令、连接器、专家、技能的摘要/数量/编辑入口 | P1 |
| 定时任务卡片 | 关联本项目且本人可见的规则、状态、频率、查看全部 | P2;P1 明示规划中且不提供假创建 |
| 输入区 | 输入目标、引用资产/待办/技能、查看已选连接与执行位置 | P1;只显示实际可用运行位置 |
宽屏侧栏常驻,可收起;窄屏以抽屉展示并保留输入草稿。未实现的邀请/云运行不得成为可执行入口。配置不是强制每轮注入全部技能正文。
7.1.1 项目中心
- 顶部使用项目标题、协作说明、主按钮和协作主题插画组成欢迎区;搜索位于项目卡片区上方右侧。
- “我的项目”展示可进入的项目卡片,卡片包含项目图标、名称、加入/更新时间和更多菜单。
- “从模板创建”与我的项目分区展示;模板卡片包含名称和一句场景说明,点击后打开已预填但尚未提交的新建项目弹框。
- 空项目仍显示在我的项目中;搜索覆盖名称和说明;归档项目通过筛选或管理入口访问,不因没有任务而从项目中心消失。
7.1.2 详情固定框架
- 顶栏固定显示“项目 / 项目名”面包屑;邀请位于右上角。P1 邀请按钮显示不可用说明,P3 接入真实邀请服务后启用。
- 主区固定为动态、计划、任务、资产四标签。切换标签不卸载右侧配置和底部项目输入框,也不丢失输入草稿、附件或选择状态。
- 宽屏右侧配置栏约占页面四分之一,卡片顺序固定为指令、连接器、专家、技能、定时任务。卡片显示真实数量和摘要,
+打开统一配置弹框。 - 输入框固定在中央内容底部,保留原生
@、附件、模型、语音、发送和取消执行能力;项目配置通过任务创建快照注入,不在输入框伪造文本标签。
7.1.3 四个主标签
- 动态:发布留言、与我相关/成员动态过滤、按时间排列的留言和授权事件;每项提供与权限一致的菜单。
- 计划:表格/看板切换;表格至少包含标题、状态、处理人、优先级和标签,提供筛选、搜索、视图设置和新增行。计划待办与 Harness Todo、执行任务分开持久化。
- 任务:全部任务/来源筛选、隐私提示、标题搜索、任务来源标识、更新时间和行菜单。列表只读取当前主体可访问的 ProjectTaskLink。
- 资产:新建文件夹、上传、容量、类型筛选和搜索;表格包含名称、类型、更新人、更新时间和大小。所有正文与修订继续由 library 唯一拥有。
7.1.4 统一配置弹框
- 弹框使用统一宽度、遮罩、圆角、关闭按钮、独立滚动内容区和固定底栏;禁止使用浏览器原生 prompt/confirm。
- 技能和专家弹框显示“当前项目已添加 N 个”,以二列卡片展示当前关联,右上角“添加”进入二级选择器,底部取消/确定提交外层草稿。
- 连接器弹框包含个人授权/公共授权标签、授权语义说明、连接卡片与卡片菜单;个人连接每次按当前执行主体解析。
- 指令弹框包含用途说明、长文本编辑器、预算/长度反馈、取消和保存。保存生成 ProjectConfigRevision;冲突不得覆盖他人修改。
7.2 专家与技能选择
专家先展示项目已关联列表,再通过“添加”打开专家/我的专家选择器,支持搜索、分类、多选、已选数量。定义、项目关联、本次执行绑定分别由 experts、projects 和任务组合管理。多个关联专家不自动创建 Team 或并行执行。
技能入口同时支持本地包导入和目录选择。导入技能由 skills 服务校验、生成项目归属对象;从技能中心选择保存已有对象的精确引用。跨归属引用须可向项目成员使用,否则提示显式发布/复制,不自动公开个人资源。
选择器维护本地草稿;内层确认合并到外层草稿,外层确认才更新项目关联。取消不提交;提交携带 expectedRevision,冲突保留草稿并提示重新核对。以稳定 ID/修订去重,显示真实服务返回的数量。
上传先暂存与校验;外层取消不留下已发布技能。采用操作记录协调导入对象与项目关联,失败时返回可恢复状态,未关联暂存可清理。移除关联不卸载源技能,也不影响其他项目或历史任务。更新源对象后由项目管理者选择升级关联,旧任务绑定保持原修订。
7.3 按成员解析连接
ProjectConnectorBinding 表示项目选择了某连接定义及授权方式,不等于创建者的已授权账号。个人模式调用 connectors 服务以服务端主体解析其连接;未授权显示待连接,多候选要求明确选择,不回退其他成员。公共模式需独立使用授权及受控实例。连接卡片区分“项目已添加”和“当前用户可执行”。实例以配置修订、目标指纹及外部账号身份绑定,按 ADR-0007 检查变更,不静默替换。
7.4 留言、评论与待办引用
项目留言是用户主动发布的业务对象,不伪装系统审计事件;评论关联 WorkItem。保存作者、组织、项目、正文修订、时间、可见范围;编辑/删除检查本人或明确管理权限,保留审计。正文与 @成员引用不自动触发 Agent 执行。
输入区的 @待办保存稳定对象引用和提交时修订,Host 验证访问权,再提供结构化标题/描述/状态及授权资产引用。完成工作后通过更新待办工具提交预期修订及成果依据,不根据对话文字自动改状态。
成员引用保存 principalId 并检查项目资格;P1 可验证引用和权限,但不声称已发送通知。P3 才实现通知发送、去重和撤权检查,通知不能暴露不可访问内容。
7.5 指令编辑与能力组合
支持草稿、长度提示、取消、保存和修订冲突。截图的 10,000 是 WorkBuddy 界面值;WorkDSH 的长度上限须按选定模型预算确定,不把字符数当 token 数。预算不足返回可操作诊断,不静默截断关键规则。
项目背景与规范、专家角色方法、技能执行说明分别保留来源。任务默认值优先级不等于指令优先级;公开注入位置及冲突处理须在 P0-03 验证并固化契约。组织权限由服务强制,不能仅依赖提示词。项目配置保存只影响新任务,旧任务采用显式关联任务继续。
7.6 未展开页面的处理
计划列布局、任务菜单、资产过滤等依据既有领域方案实施并标为 WorkDSH 选择,不称为截图确认。后续新证据有差异时更新规格与验收。现有 overview/settings 目录保留用于概览内容和配置面板,不作为新增主标签;不删除既有规划模块。
8. 审查后的执行边界
连接绑定、交接清单及准备/领取重查、正文私有存储与受控副本、Host 自动化所有权遵循 ADR-0007。P1 交接界面只面向同主体,双主体服务测试不算真实多人功能交付。