作用
工作区是HarnessAgent 的”地基”:人格、长期记忆、领域知识、子 agent 声明、会话历史、技能定义统一以目录结构 + Markdown 的形式落地,不再散落在代码里。
agent 每次推理时,工作区里的几个关键文件会被自动注入到 system prompt;运行过程中的记忆与会话也会按既定路径回写到这里。
触发
目录结构
子 agent 三层模型(声明 / 定义 / 运行时)详见 子 Agent。
关键逻辑
两层读取 / 写回
WorkspaceManager 是无状态访问器,所有读写都遵循同一规约:
要点:
- 读路径:
AbstractFilesystem优先 → 本地磁盘兜底,让多租户场景对调用方透明 - 写路径:默认全部走
AbstractFilesystem;未配置时 fallback 本地磁盘 - List 操作(
listKnowledgeFiles/listMemoryFilePaths/listSessionLogFiles)取两层并集去重,避免漏文件
system prompt 注入内容
WorkspaceContextHook(priority 900)在 PreReasoningEvent 拼装一段固定结构的文本,合并到第一条 SYSTEM 消息:
maxContextTokens 默认 8000(按 chars/4 估算)。当 MEMORY.md 估算超出”剩余预算”时,按字符截断并附 ... (memory truncated — use memory_search for older entries) ... 尾注,提示 agent 改走 memory_search。
关键 API
配置
AGENTS.md 缺失时 agent 仍可工作,只会丢失 persona 段,建议至少写一份最小骨架(参考 overview.md 的 quickstart)。