目录、项目与会话
理解 directory、Project 容器和 Session 主体之间的边界。
KCode 里最容易混淆的两个词是 Project 和 Session。对外使用时,最稳的理解方式是:
directory是状态作用域。Project更像目录级状态容器。Session才是你真正发起交互的主体。
为什么目录是第一层
Server 会围绕某个 directory 维护项目状态。只要目录变了,默认上下文、会话集合和相关状态也会跟着变化,所以最稳妥的启动方式始终是先进入目标仓库,再执行 kcode。
Session 挂载了什么
在当前实现里,下列内容都会围绕 Session 组织:
- 消息时间线
- Todo
- Diff
- Permission 请求
- Question 请求
这也是为什么你第一次使用时,最值得先理解的是 Session,而不是某个孤立页面。
Project 更像什么
Project 更接近目录级容器。它把“这个目录下正在发生什么”整理成结构化状态,例如:
projectsessionsmessagesstatustododiffconfig
这不意味着你要手工编辑这些状态,而是说明 KCode 在内部并不是把一切都压进一条聊天记录。
实际使用时怎么判断边界
- 切到新仓库时,把它当成新的目录作用域。
- 同一目录里可以开多个 Session,用来隔离不同任务。
- 当一个 Session 已经偏离目标时,直接开新 Session,通常比强行续聊更干净。