mirror of
https://github.com/agentscope-ai/ReMe.git
synced 2026-09-29 01:41:38 +00:00
Reframe digest as the abstract memory layer (details stay in the daily/
resource material; digest holds principles, patterns, precedents reachable
via derived_from provenance edges). Replaces the old digester with a
2-phase ReAct workflow + a daily-tick wrapper:
- Phase 1 (Dreamer extract): clusters material into orthogonal memory
sub-units; each sub-unit maps 1:1 to a digest node (no inner atom
enumeration). Biases toward fewer / richer sub-units.
- Phase 2 (Dreamer integrate per sub-unit): cross-bucket recall +
exactly one write decision (CREATE / UPDATE / SKIP); UPDATE shapes
surfaced explicitly (corroborate / refine / correct).
- CronDreamer: scans <daily_dir>/<today>.md + <daily_dir>/<today>/**
+ <resource_dir>/<today>/** and runs dream_one per file.
Write tools are proper subclasses of the canonical file_io WriteStep /
EditStep with only path-shape + bucket + E-1 edge-conservation rules
layered on top:
- DigestWriteStep(WriteStep): path = <digest_dir>/<bucket>/<slug>.md,
must-not-exist, schema mirrors `write` (path / name / description /
content) so frontmatter lands automatically.
- DigestEditStep(EditStep): body-only find-and-replace + must-exist +
E-1 conservation preflight (refuses if any outbound wikilink would
be dropped).
Configuration:
- Bucket vocabulary structured in code (tuple[{name, description}]);
prompt renders the heuristic block at runtime via {buckets}.
- digest_dir / daily_dir / resource_dir come from app config (not tool
params); prompts use {digest_dir} placeholder.
- BaseStep walks class MRO when loading prompts, so subclasses inherit
parent yaml without duplication.
Tooling: agentscope register_tool_function schemas now wrap in the
proper {"type":"function","function":{...}} envelope. OpenAIAsLLM
routes base_url through client_kwargs so non-default endpoints work.
Smoke: tests4/smoke/{_dreamer_fixture.py,test_dreamer_inproc.py,
test_dreamer_cli.sh} drive the end-to-end pipeline.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
90 lines
2.6 KiB
Python
90 lines
2.6 KiB
Python
"""steps"""
|
|
|
|
from .base_step import BaseStep
|
|
from .common.demo import DemoEchoStep1, DemoEchoStep2
|
|
from .common.health_check import HealthCheckStep
|
|
from .common.help import HelpStep
|
|
from .common.llm_demo import LLMDemoStep
|
|
from .common.stream_demo import StreamDemoStep1, StreamDemoStep2
|
|
from .common.version import VersionStep
|
|
from .evolve.auto_memory import AutoMemoryStep
|
|
from .file_io.daily_create import DailyCreateStep
|
|
from .file_io.daily_list import DailyListStep
|
|
from .file_io.daily_reindex import DailyReindexStep
|
|
from .file_io.delete import DeleteStep
|
|
from .file_io.edit import EditStep
|
|
from .file_io.frontmatter_delete import FrontmatterDeleteStep
|
|
from .file_io.frontmatter_read import FrontmatterReadStep
|
|
from .file_io.frontmatter_update import FrontmatterUpdateStep
|
|
from .file_io.list import ListStep
|
|
from .file_io.move import MoveStep
|
|
from .file_io.read import ReadStep
|
|
from .file_io.read_image import ReadImageStep
|
|
from .file_io.stat import StatStep
|
|
from .file_io.write import WriteStep
|
|
from .index.clear_and_scan import ClearAndScanStep
|
|
from .index.scan_changes import ScanChangesStep
|
|
from .index.search import SearchStep
|
|
from .index.traverse import TraverseStep
|
|
from .index.update_catalog import UpdateCatalogStep
|
|
from .index.update_index import UpdateIndexStep
|
|
from .index.watch_changes import WatchChangesStep
|
|
from .dream.cron_dreamer import CronDreamer
|
|
from .dream.digest_edit import DigestEditStep
|
|
from .dream.digest_write import DigestWriteStep
|
|
from .dream.dreamer import Dreamer
|
|
from .jobs.synchronizer import Synchronizer
|
|
from .transfer.download import DownloadStep
|
|
from .transfer.ingest import IngestStep
|
|
from .transfer.upload import UploadStep
|
|
|
|
__all__ = [
|
|
"BaseStep",
|
|
# common
|
|
"DemoEchoStep1",
|
|
"DemoEchoStep2",
|
|
"HealthCheckStep",
|
|
"HelpStep",
|
|
"LLMDemoStep",
|
|
"StreamDemoStep1",
|
|
"StreamDemoStep2",
|
|
"VersionStep",
|
|
# evolve
|
|
"AutoMemoryStep",
|
|
# file_io
|
|
"DeleteStep",
|
|
"EditStep",
|
|
"ListStep",
|
|
"MoveStep",
|
|
"ReadStep",
|
|
"ReadImageStep",
|
|
"StatStep",
|
|
"WriteStep",
|
|
# file_io (daily)
|
|
"DailyCreateStep",
|
|
"DailyListStep",
|
|
"DailyReindexStep",
|
|
# file_io.frontmatter
|
|
"FrontmatterDeleteStep",
|
|
"FrontmatterReadStep",
|
|
"FrontmatterUpdateStep",
|
|
# index
|
|
"ClearAndScanStep",
|
|
"ScanChangesStep",
|
|
"SearchStep",
|
|
"TraverseStep",
|
|
"UpdateCatalogStep",
|
|
"UpdateIndexStep",
|
|
"WatchChangesStep",
|
|
# dream
|
|
"CronDreamer",
|
|
"DigestEditStep",
|
|
"DigestWriteStep",
|
|
"Dreamer",
|
|
# jobs
|
|
"Synchronizer",
|
|
# transfer
|
|
"DownloadStep",
|
|
"IngestStep",
|
|
"UploadStep",
|
|
]
|