Skip to content

User Stories

zuohaisu edited this page Oct 6, 2026 · 1 revision

Provenance — Migrated 2026-10-06 from docs/user-story.md @ zuohaisu/viva@871a00a · 迁移自主仓库该文件;正文相对链接已改为 Wiki 链接,原始状态/日期/作者行保留,原文以 Git 历史为准。

Viva User Story

Story 1:打开 Viva,先与 Samuel 接触

  • 打开 Viva 时,应该首先是 Samuel 来和我接触,我会和他聊一下。Samuel 是我的大副,也是我进入这个 workspace 的主要接口人。
  • 他记得我正在做的一切,包括生活类的项目和工作类的项目。
  • 他可能会 greeting 一下,并告诉我各个项目目前的进度;也可能比较安静——我不问他不会主动说。
  • 因为是 TUI 界面,没法通过点点点的方式自己探索。

Story 2:Workspace 管理

  • 一个 workspace 里可能有多个 project,彼此之间有的是 reference 关系,有的是前后端关系,有的是依赖关系。
  • 比如 self-model 这个 workspace:里面的 dsh-ai-soul 要依赖 self-model 的进步,viva 也依赖 self-model,viva 还会参考 claude-code、orca 和 pi coding agent。
  • 很多时候我们会在其中几个中工作。
  • reference 只是某个时间段需要的上下文,最终可以增减。也许过了一段时间,我需要参考新的项目上下文,比如 openviking 或 muse。
  • 这些 project 可能在同一个 parent 文件夹,也可能分布在不同的文件夹里。
  • 我当然也可以进入不同的 workspace;或者不进入 workspace,只进入某个工作目录。

Story 3:聊天内容分叉

  • 我和 PM agent 讨论项目目前进度时,经常需要分叉、分别讨论两个不同的话题。
  • 工作开始阶段的讨论往往是发散的,逻辑像树一样分叉,需要去验证或执行不同的阶段;到项目后期才开始收敛。所以内容的分叉和管理是非常关键的能力。
  • 还包括对谈话 session 的重命名。

Story 4:Samuel 是连续的存在,有记忆

  • 记忆分为长期记忆、短期记忆和工作记忆:
    • 工作记忆:进入上下文,在执行某个任务时是关键。
    • 短期记忆:最近频繁用到的工作记忆合集,方便 Samuel 快速找到所需的工作记忆。
    • 长期记忆:顾名思义,把需要记录的东西都记下来。
  • 长期记忆还需要区分仍然有效的记忆和已经失效的记忆。失效的可能性有很多:也许是整个项目结束了,也许是从某家公司离职了,也许是 Samuel 对某些信念产生了变化、之前的记忆他不再 care。
  • 总之记忆有退出机制,不需要让所有记忆永远活跃;退出的记忆不代表不记得了,后面有需要还是可以翻出来的。

Story 5:任务安排与模型选择

  • 我可以自己安排要做的任务,Samuel 会协助我把它安排给他认为合适的模型去做。
  • 因此需要一个 agent 列表,以及对应的 LLM 可选模型列表;但 LLM 可选模型往往耦合在一些执行工具里。
  • 比如交给 glm 5.2 + pi coding agent,就要在 terminal 里打开 pi(这一段可以参考 orca),包括定期 pull,保持 main 分支的一致性。

Story 6:worktree 与 git 管理

  • 很方便地管理 worktree、git 这些问题;Samuel 会帮我管理好,我只需要提需求即可。

Story 7:任务进入开发后的流程

  • 任务进入开发之后,PM 就可以跟进;Dev 做完,交给 QA agent 验收:不通过就返回给 Dev agent 修,通过了就提交 PR-merge,看 CI/CD 是否全绿、是否有 conflict,有就去解决。这些提示词可能都是通用的吧。
  • 一个 issue 做完了,可以开启一个新的 issue;甚至可以有多个槽位,同步开启多个 issue。我觉得限制槽位的永远不是 CPU,而是内存。
  • 这个是不是很像 ticket-autopilot 当时想要做成的东西?

Story 8:经验复用与 skill 管理

  • Samuel 会自己总结已经做过的事情,并且把这个经验复用到各种地方。
  • 他也可以全网搜索合适的 skill,但 skill 太多也需要管理机制,就像 memory 太多需要管理一样。(可以参考 hermes evomap 的一些机制)

Story 9:项目大管家

  • Samuel 会定期帮我考虑是否需要打扫代码仓库:定期归档过期的文档、删掉没用的代码、删掉没用的本地或远端 worktree。总之,他是项目大管家。

Story 10:沙箱的使用边界

  • 我希望这个软件别动不动就把 agent 放进沙箱:之前 codex 因为有沙箱,无法使用非沙箱环境里的 gh 登录凭证。
  • 但某些事情该放进沙箱的还是要放进沙箱。

Clone this wiki locally