ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

EcoPaste 项目中的 Trellis 本地工作区记忆体系:跨会话工作记忆的目录结构、命令实操与定制指南

EcoPaste 项目中的 Trellis 本地工作区记忆体系:跨会话工作记忆的目录结构、命令实操与定制指南 桌面应用【免费下载链接】EcoPaste跨平台的剪贴板管理工具 | Cross-platform clipboard management tool项目地址https://gitcode.com/ayangweb/EcoPaste点击查看免费下载在 AI 辅助开发中最常被忽视却影响体验的环节是「换一个窗口、换一天之后AI 是否还记得上次做到哪里」。本文以 EcoPaste 仓库内捆绑的 Trellis 技能文档 workspace-memory.md 为核心系统讲解 Trellis 的本地工作区记忆系统.trellis/workspace/的目录结构、开发者身份初始化、会话日志journal的记录与轮转、以及它与任务目录、工程规范之间的分工。读完本文你将掌握一套可落地的跨会话记忆维护方法并能通过.trellis/config.yaml精确定制记忆容量与写入格式。一、本地工作区记忆系统是什么Trellis 在已执行trellis init的项目中会在仓库根目录生成.trellis/运行时目录。其中.trellis/workspace/专门承担跨会话记忆的职责它记录「在此之前发生了什么」让 AI 和人类在不同窗口不同终端、不同 AI 工具会话与不同日期之间都能快速理解项目此前的进展脉络。在 overview.md 的三层本地系统模型中这一目录属于持久化层Persistence Layer层对应路径职责工作流层.trellis/workflow.md定义阶段、路由、下一步动作与提示块持久化层.trellis/tasks/、.trellis/spec/、.trellis/workspace/存储任务、规范与跨会话记忆平台集成层.claude/、.codex/、.cursor/等平台目录通过 hooks、agents、skills 连接不同 AI 工具关键设计原则是工作区记忆存储的是「刻意书写」的开发者日志而不是原始对话流水。Trellis 的 SKILL.md 明确说明原始跨会话对话不会存储在这里而是留在各平台自己维护的 JSONL 日志中如~/.claude/projects/、~/.codex/sessions/、~/.pi/agent/sessions/需要时通过trellis mem search|extract|context命令回查。.trellis/workspace/与原始日志一「精」一「全」共同构成完整的跨会话记忆体系。二、目录结构与文件职责workspace-memory.md给出的标准目录结构如下.trellis/workspace/ ├── index.md └── developer/ ├── index.md ├── journal-1.md └── journal-2.md各文件的职责如下表所示文件职责.trellis/.developer当前开发者身份标识.trellis/workspace/index.md全局工作区概览面向所有开发者.trellis/workspace/developer/index.md单个开发者的会话索引.trellis/workspace/developer/journal-N.md该开发者的会话日志正文从结构上可以看出两层设计按开发者隔离每位开发者拥有独立的子目录日志互不混淆适合多人协作或同一机器上多身份交替使用的场景索引与正文分离index.md承担「入口/概览」职能journal-N.md才是具体的工作记录。这与 Trellis 全体系的索引化上下文设计一脉相承——先注入索引和路径让 AI 按需读取详细文件而不是把所有内容无限制塞进上下文详见 change-context-loading.md 中「Context cannot grow without bound」的原则。在 generated-files.md 的可编辑性分级中.trellis/workspace/被标记为可直接编辑通常由add_session.py写入而.trellis/.developer被标记为谨慎编辑——它记录当前开发者身份改动会直接影响后续日志写入的归属。三、开发者身份初始化第一次使用工作区记忆系统时需要先初始化开发者身份。在项目根目录执行python3 ./.trellis/scripts/init_developer.py name例如python3 ./.trellis/scripts/init_developer.py alice该命令会完成两件事创建.trellis/.developer文件写入当前开发者身份创建对应的.trellis/workspace/developer/工作区目录为后续日志写入做准备。官方文档对此有一条重要提醒AI 不应随意更改开发者身份。如果发现身份有误应当先确认当前正在使用该项目的人是谁而不是自作主张切换。这是因为身份一旦切换跨会话记忆就会被拆散到不同的developer/子目录下破坏「同一个开发者跨窗口、跨天」的记忆连续性。四、会话日志Journal的记录与轮转4.1 日志的定位与轮转机制journal-N.md记录每个会话中已完成或部分完成的工作。默认情况下单个 journal 文件约容纳2000 行达到上限后会自动轮转到下一个文件journal-1.md→journal-2.md→ ……避免单个文件无限膨胀、难以检索。该默认值与两个配置项直接相关均位于.trellis/config.yaml配置项作用max_journal_lines控制单个 journal 的最大行数即轮转阈值session_commit_message控制会话自动提交auto-commit的默认提交信息此外SKILL.md 还提到.trellis/config.yaml中有一个session_auto_commit配置项它与session_commit_message共同决定会话结束后是否自动生成提交记录及其提交信息。4.2 记录一次会话的标准命令记录会话最常用的命令是add_session.pypython3 ./.trellis/scripts/add_session.py \ --title Session title \ --summary What changed \ --commit abc1234参数说明参数含义--title会话标题用于索引与快速定位--summary会话摘要描述本次发生了什么变化--commit关联的提交哈希commit hash针对规划类或评审类工作尚未产生提交同样可以记录只需使用--no-commit或者传入一个空提交值python3 ./.trellis/scripts/add_session.py \ --title Planning review \ --summary Reviewed API design options, no code yet \ --no-commit这一设计保证了工作区记忆不依赖 git 提交节奏即使某次会话只有讨论、调研、设计结论也依然能被忠实记录下来供后续会话恢复背景。4.3 日志的两种读取角色从上下文注入的角度看日志扮演两种角色参见 context-injection.md会话启动注入session-start事件注入的 Trellis 概览中包含当前开发者、git 状态、活跃任务、以及日志journal让新会话一开始就有记忆入口按需读取AI 根据索引和路径决定是否深入阅读某篇 journal 的完整内容避免上下文被冗余信息占满。如果你在新会话中发现 AI「失忆」优先检查平台是否安装了session-starthook、注入内容是否包含 workspace 概览而不是直接怀疑日志没写入。五、工作区记忆与任务、规范之间的分工这是整个记忆体系中最容易被混淆的部分。.trellis/下有三个容易「放错东西」的目录官方文档用一张对照表划清了边界系统存储内容.trellis/tasks/某个具体任务的需求、设计、调研与状态.trellis/workspace/跨任务、跨会话的工作记录.trellis/spec/需要长期遵循的工程知识约定对应地官方给出了三条简单可执行的判定规则如果信息只对当前任务有用→ 放入任务目录.trellis/tasks/如果信息描述的是当前会话中发生了什么→ 放入工作区日志.trellis/workspace/如果信息是以后每次写代码都需要遵守的规则→ 放入.trellis/spec/。这三条规则可以进一步与任务系统task-system.md与规范系统spec-system.md对应任务目录中的prd.md、design.md、implement.md描述「这一件事要怎么做」工作区日志描述「这段时间发生了什么」spec 描述「这个项目永远要怎么做」。三者互不替代共同构成完整的项目记忆闭环。六、本地定制点工作区记忆系统保留了清晰的定制入口全部集中在项目本地无需改动 Trellis CLI 源码需求修改位置修改单个 journal 的最大行数轮转阈值.trellis/config.yaml中的max_journal_lines修改会话自动提交信息.trellis/config.yaml中的session_commit_message修改会话内容的写入格式.trellis/scripts/add_session.py修改工作区在上下文中的展示方式.trellis/scripts/common/session_context.py其中两项操作前需要特别留意.trellis/scripts/属于「谨慎编辑」区见 generated-files.md。它是本地运行时Local Python runtime被命令、hooks 与上下文注入共同调用修改前必须先理解调用链不能盲目改动.trellis/.developer同样属于「谨慎编辑」区身份变更应遵循「先确认使用者」的原则见第三节。需要说明的是.trellis/目录由trellis init生成本文所引用的目录结构、脚本与配置项描述的是已初始化 Trellis 的项目中的形态EcoPaste 仓库当前捆绑的是 Trellis 的技能与参考文档位于.agents/skills/trellis-meta/若要在项目中使用这套记忆系统需先在本地执行trellis init完成运行时生成。七、AI 使用规则与最佳实践workspace-memory.md最后给出了一段对 AI 行为有约束力的规则它决定了工作区记忆在整体工作流中的正确用法AI 不应把工作区当作唯一的事实来源。恢复任务时应先阅读当前任务再把工作区作为背景信息。任务完成后把重要的过程记录写入工作区如果产生了长期规则则应更新 spec。拆解为可执行的最佳实践恢复任务时的读取顺序先读任务目录prd.md→design.md→implement.md再读工作区日志补充背景而不是反过来被日志牵着走任务完成后的写入动作会话结束时用add_session.py写入过程记录保证下次会话有迹可循规则的沉淀路径如果过程中「悟出」了值得长期遵守的约定应当升级到.trellis/spec/而不是只留在日志或聊天记录里原始对话的查证路径需要找回某段历史讨论原文时使用trellis mem对应技能见 trellis-session-insight/SKILL.md它直接检索各平台落盘的 JSONL 会话日志与工作区的「精编日志」互补。八、结语一套可持续的跨会话记忆闭环EcoPaste 仓库捆绑的 Trellis 技能文档把「跨会话记忆」拆成了清晰的三段式闭环工作区日志负责「发生了什么」、任务目录负责「这一件事怎么做」、spec 负责「这个项目永远怎么做」再用trellis mem回查原始对话兜底。这套设计让 AI 在切换窗口、切换天数之后依然能快速找回上下文同时通过.trellis/config.yaml中的max_journal_lines、session_commit_message等配置项让记忆容量与格式完全适配团队的实际节奏。对正在使用或计划引入 Trellis 的开发者而言本文所述的目录结构、初始化命令、日志记录命令与定制点均可在本地项目中原样落地更完整的架构上下文可继续阅读 overview.md三层本地架构总览、generated-files.mdinit 生成文件与编辑边界与 change-context-loading.md上下文加载与注入调优。赞分享桌面应用【免费下载链接】EcoPaste跨平台的剪贴板管理工具 | Cross-platform clipboard management tool项目地址https://gitcode.com/ayangweb/EcoPaste点击查看免费下载相关推荐EcoPaste 中的 Trellis 本地架构全解从 trellis init 到 workflow、channel 多智能体运行时与跨会话记忆的定制指南EcoPaste 中的 Trellis 本地架构全解从 trellis init 到 workflow、channel 多智能体运行时与跨会话记忆的定制指南桌面应用基于 fairseq 的多样机器翻译混合专家模型translation_moe实战指南训练、解码与评估基于 fairseq 的多样机器翻译混合专家模型translation_moe实战指南训练、解码与评估 本文围绕 fairseq 仓库中的 transla桌面应用VoltAgent 记忆系统实战对话记忆、工作记忆与向量检索的完整配置指南VoltAgent 记忆系统实战对话记忆、工作记忆与向量检索的完整配置指南 本篇指南基于 VoltAgent 官方配方文档 Memory https://li人工智能AI AgentAgent 框架后端多智能体RAG工具调用Agent 记忆Agent 工作流AI 评测MCP 服务MCP Clients语音上一篇llama.cpp Docker 部署完整指南从一条命令到生产环境的 9 步实操下一篇拿到一串陌生哈希3秒认出它是什么Name-That-Hash 哈希识别工具指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表