Vision - zuohaisu/viva GitHub Wiki
Provenance — Migrated 2026-10-06 from
docs/product/vision.md@ zuohaisu/viva@871a00a · 迁移自主仓库该文件;正文相对链接已改为 Wiki 链接,原始状态/日期/作者行保留,原文以 Git 历史为准。
Viva — Vision
Status: canonical · 版本:2026-09-27 · Owner: Haisu · 本文取代本文件 2026-09-27 早先的"单 Resident 开发环境"定义(原因见 §1.1) · 本文中的"本轮"指 2026-09-27 的多成员修订轮,不是当前阶段(当前阶段见 Roadmap)
1. 一句话定义
Viva 是 Haisu 的本地优先个人 AI 协作系统:多个持续存在的 AI 成员分工协作,保留各自的历史与知识,并调用真实工具完成工作。
英文:Viva is Haisu's local-first personal AI collaboration system: several persistent AI members keep their own history and knowledge, collaborate, and drive real tools to get work done.
1.1 这次定义改了什么,为什么
| 旧定义(已作废) | 现在 | 原因 |
|---|---|---|
| "Haisu 与一个常驻 Agent Samuel 协作的本地开发环境" | 多个持续存在的 AI 成员 | Haisu 的真实工作方式是让职责不同的成员长期协作(PM/调度、开发、QA、运维、研究),同一成员同时参与多个任务 |
| 把 multi-resident UX 与 AI 团队协作排除在范围外 | 是产品本体 | "只有一个人类用户"曾被错误地推出"没有 AI 团队";客户数量与成员数量是两件事(ADR 0006) |
| Workspace 取代所有 Project 概念 | Workspace ≠ Project ≠ Repository ≠ Worktree ≠ Task |
需要表达"一个 Viva 实例管理多个项目、一个项目多个仓库"(ADR 0009) |
| 禁止所有 Worker 发起的委派 | 协调成员可在用户授予的范围内调用其他成员 | 否则"协调"只是文案(ADR 0007) |
| Ticket Autopilot 作为保留子系统 | 已退役,只复用仍有用的三个能力 | 它的对象(ticket/run/verdict)与 Viva 的对象(Task/Execution/Grant)不同源(ADR 0008) |
没有改变的部分:单人类用户、本地优先、连续性优先、诚实约束(不假装记得、不假装成长)、Viva ≠ Samuel(名字与职责是配置数据)。
2. 为什么存在
Haisu 每天使用大量开发工具与 AI agents。痛点不是"缺一个更聪明的 agent",而是:
- 每个 agent 只带自己的会话上下文,跨成员、跨项目、跨天的拼装由 Haisu 人工完成;
- 经验蒸发:一次排查半天得到的结论,下次从头再来;
- 成员不存在:换模型/换工具等于换人,长期协作无从谈起;
- 好实践无法复利:一次漂亮的并行 review 编排不会变成下次可调用的方法;
- 任务历史依附于某个进程:worker 一死,做到哪、为什么失败、还欠什么,全部丢失。
Viva 的存在就是把这些变成Viva 持续保留的资产:成员持续存在,任务持续存在,执行的归属与结果持续存在。
3. 给谁用:Customer Zero
Viva 只服务一个人类用户:Haisu。 他拥有多个 AI 成员,每个成员有名字、职责、模型与工具绑定。成员名字与职责是配置数据,不是产品内置人格。
不解决:多人类用户、团队账号、企业权限、marketplace、plugin 生态、把 Viva 做成云服务、通用 onboarding、商业化。跨设备同步是后续目标(Roadmap M4,未实现):本地仍是主副本,云端登录与同步只是可选备份。
产品判断标准(所有本轮决策回溯到这里):
它是否让 Haisu 的工作由多个长期成员持续推进,并让这段协作的上下文、历史与能力积累下来?
首个可用版本(投入使用门槛,2026-09-28):Viva 必须能从普通终端独立启动,并替代 Orca 的多 worktree 并行开发入口。成员与任务的持续性语义建立在自己可用的执行体验上;Orca 不是必需宿主。具体验收见 First-Usable-Version,当前尚未达标。注意区分:Rust 首版实现(V01–V13)已经交付,但这个投入使用门槛尚未通过。
4. 存在性测试(为什么不是"几个 CLI 加一个终端")
| 工具 | 它记得什么 | 它不记得什么 |
|---|---|---|
| VS Code | workspace 的 UI 状态 | 跨工具历史;成员;任务 |
| Orca | worktree 状态与 transcript | 成员的长期身份;任务对象;知识归属 |
| Codex / Claude Code / Qoder | 当前会话的上下文 | 其他成员;上次派发;失败原因;任务未完成项 |
| Ticket 系统(Plane/Linear) | 工单状态 | 谁在什么时候用什么模型做了什么、结果如何 |
Viva 不可替代的中心:它管理多个成员 × 多个任务 × 多次真实执行的关系与历史,并让这些历史反哺下一次工作。
两条使这个中心成立的约束:
- 记得 ≠ 存档。只是"集中记录"就只是日志仓库。Viva 的记录必须能被下一次工作取用:任务的交接简报、知识条目的使用记录、拒绝的原因、恢复后的未完成项。
- 本地所有权。成员的状态、历史与知识存在 Haisu 机器上(本地 SQLite + 普通文件),随时可以导出为开放格式(
viva data export→ JSON),不锁进任何供应商账号。
5. 不是什么
- 不是全自动开发:人是决策者,成员是执行与协作方;重要动作仍需授权。
- 不是 IDE:不做 editor / file tree / debugger。
- 不是通用 agent 平台:不服务"让所有人创建自己的 AI 团队"。
- 不是记忆/成长的模拟器:没有实现的成长能力不得出现在 UI 与文案里。
- 不是 Ticket Autopilot 的延续:旧子系统已退役(ADR 0008)。
6. 产品模型概览
┌────────────────────────────────────────────────────────────────────────┐
│ Members(Resident) │
│ identity · role · history · knowledge · self-model candidates(未实现)│
├────────────────────────────────────────────────────────────────────────┤
│ Bindings(可替换) │
│ Role(职责,配置数据) · Engine(模型绑定) · Worker(执行工具 CLI) │
├────────────────────────────────────────────────────────────────────────┤
│ Work │
│ Workspace → Project → Repository → Worktree │
│ Task(意图) ──► Execution(一次真实执行:成员×任务×模型×工具×位置×授权)│
│ ▲ Grant(来源 / 范围 / 委派关系) │
├────────────────────────────────────────────────────────────────────────┤
│ Knowledge(四类归属) │
│ personal · project · team · skill(+ 复用证据) │
└────────────────────────────────────────────────────────────────────────┘
核心纪律:成员不是进程,任务不是 worktree,执行必须有归属与授权。
7. 现状
现状不在本页重复维护:当前阶段、里程碑与已完成能力见 Roadmap;明确未实现、不得假装的能力见 Phase-1-Scope §4。本节 2026-09-28 版本的已实现清单可在页面历史中查到。
8. 文档地图
文档地图只在 Home 的 Knowledge map 维护(另见左侧边栏)。