ReMe/docs/zh/auto_resource.md
jinliyl ffb4d08c4f
Some checks are pending
Pre-commit / run (ubuntu-latest) (push) Waiting to run
Tests ReMe / Unit Tests - py3.11 (push) Waiting to run
Tests ReMe / Unit Tests - py3.12 (push) Waiting to run
Tests ReMe / Unit Tests - py3.13 (push) Waiting to run
feat(mem): Enhance daily note system with metadata handling and write functionality (#295)
* feat(file_io): add daily_write step for creating daily notes with conversation metadata

- Add DailyWriteStep class that delegates to write job for creating daily notes
- Register daily_write job in default configuration with proper parameters
- Include validation for name and session_id path components
- Add test coverage for daily_write functionality including metadata handling
- Preserve existing job execution method in application.py after repositioning
- Update base_step.py to use positional-only parameter syntax for job methods
- Import and expose DailyWriteStep in file_io module initialization
- Override reserved metadata keys (name, description, session_id, source_conversation) with fixed values
- Refresh daily index after successful write operation
- Generate proper source conversation links in markdown format

* feat(daily): refactor daily note system with enhanced metadata handling

- Introduce validate_filename_component function and export it
- Add _INDEX_HIDDEN_METADATA_KEYS to hide conversation metadata from index
- Update scan_notes to exclude hidden metadata keys from index rendering
- Modify auto_memory to use daily_write tool and manage session frontmatter
- Implement session note lookup and renaming based on frontmatter name
- Update daily_list to return flattened note metadata including session info
- Change daily_write to dispatch write step instead of running job
- Add test cases for updated daily note functionality and metadata handling
- Update version from 0.4.0.2 to 0.4.0.3

* fix(evolve): correct metadata update in auto memory response

- Fixed trailing comma issue in metadata dictionary update
- Ensured proper formatting of response metadata structure
- Maintained existing functionality while fixing syntax error

* refactor(auto_resource): replace daily_create with dynamic note management

- Remove DailyCreateStep and related exports from file_io module
- Replace static daily note creation with dynamic resource-linked card system
- Implement LLM-suggested naming with frontmatter-driven file management
- Add source_resource linking for tracking original files
- Introduce collision handling with hash-based suffixes
- Update documentation to reflect new resource card workflow
- Modify auto_resource prompts to use write/edit tools instead of daily_create
- Adjust test fixture comments to match new agent behavior
- Update framework diagrams and quick start examples accordingly

* feat(app): add version info to app initialization and update auto-memory logic

- Include version number in application startup logging
- Remove tool result truncation logic from auto-memory step
- Update auto-memory to exclude tool_result blocks from saved history
- Add test case to verify tool results are filtered out from message saving
- Update YAML prompts to clarify filename naming rules without dates
- Modify configuration to support new dispatch steps format with persistence control

* feat(auto_memory): add note modification tracking and optimize frontmatter updates

- Add _note_bytes and _note_modified methods to track actual file changes
- Optimize frontmatter updates by checking existing metadata before update
- Add modified flag to response metadata indicating actual note changes
- Update logging to include modified status in various operations
- Add comprehensive tests for modified/unmodified detection scenarios
- Enhance result hook logic to skip when no actual changes occur
- Refactor metadata handling to properly track creation vs modification status
2026-06-25 21:54:56 +08:00

3.4 KiB
Raw Blame History

Auto Resource Beta

Auto Resource 是 ReMe 的资源解读入口,目前处于 Beta。资源文件先按日期进入 resource/,再被解读成 daily 资源卡片;卡片文件名由 LLM 生成的 frontmatter name 决定,并通过 source_resource 追溯原始文件。

ReMe Auto Memory 与 Auto Resource 写入 daily 记忆卡片的流程

关于 workspace 分层、resource/ 和 daily/ 的通用文件语义,见 Memory as File。对话进入 daily 的流程见 Auto Memory。

resource/YYYY-MM-DD/<resource_file>
  ├─ step 1: daily/YYYY-MM-DD/<generated_name>.md # 资源解读卡片
  ├─ step 2: source_resource 指回原始资源
  └─ step 3: daily/YYYY-MM-DD.md                  # 当天索引再串起来

它记录什么

它不只是搬运文件内容,而是把资料里以后方便检索和理解的信息提炼出来:

  • 核心内容:这份资料主要讲什么。
  • 结构脉络:章节、表格、字段、数据组织方式。
  • 关键细节:重要数字、名称、日期、结论。
  • 背景用途:这份资料为什么存在,和当前工作有什么关系。
  • 可行动项:任务、截止时间、后续跟进。

简单说,它负责把“文件存档”变成“资料可用”。

原始资料入口

Auto Resource 以 resource/ 作为原始资料入口。资源需要按日期放置,这个日期会决定它进入哪一天的 daily 记忆层。

示例目录:

workspace/
  resource/
    2026-06-20/
      market-report.md
      meeting-notes.csv

当前 Beta 版本更适合处理文本类资源,例如 md、txt、json、jsonl、csv、yaml、html。

资源卡片

每个资源文件会生成一张 daily 资源卡片。创建时先使用资源文件 stem 作为临时路径,Agent 写入后,系统会根据 frontmatter name 重命名文件:

resource/2026-06-20/market-report.md
        ↓
daily/2026-06-20/市场报告要点.md

资源卡片通过 frontmatter 关联原始文件:

source_resource: "[[resource/2026-06-20/market-report.md]]"

如果资源文件更新,Auto Resource 会通过 source_resource 找到对应卡片并更新;如果资源文件删除,对应的 daily note 也会被清理。旧版本按 stem 生成的 daily/YYYY-MM-DD/<resource_stem>.md 仍作为 fallback 兼容。

当天索引

资源卡片会进入和 Auto Memory 相同的 daily 记忆层。当天的 YYYY-MM-DD.md 会作为索引页,把这些资源卡片组织起来:

daily/
  2026-06-20.md
  2026-06-20/
    市场报告要点.md
    会议纪要整理.md

以后想回看这一天处理过哪些资料,先看 YYYY-MM-DD.md;想看某份资料沉淀了什么,再进入对应的资源卡片。

同时保留原始资料

解读后的 daily note 负责“好读”,原始资源负责“可信”。

Auto Resource 不会把原始文件挪走:它仍然留在 resource/YYYY-MM-DD/。这样,文本资料会进入 daily 记忆流,原始文件也始终保留在它来时的位置。

后续流向

Auto Resource 只生成 daily 层的资源解读。要把资源中的长期知识沉淀进 digest/,使用 Auto Dream;要检索原始资源、 daily 卡片和 digest 节点,使用 Memory Search。