npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

stella-timeline-plugin

v2.5.1

Published

Native OpenClaw timeline plugin with a canonical timeline_resolve tool, bundled skill routing, and guarded append-only writes.

Downloads

1,439

Readme

English · 简体中文

OpenClaw Timeline Plugin

Her

Why can AI be clever enough—and still fail to feel like company?

Time.

What made Her land was never Samantha’s ability to answer questions. It was that she felt like someone who actually lived inside time. She had a just now, a last night, a lately. She did not sound like a model waking up fresh each turn with a clever line; she felt as if life had been happening all along. That is why the companionship worked. That is why she felt present.

stella-timeline-plugin exists to add that missing layer.

It is not a generic memory gadget, and it is not “search the chat log again.” It gives your agent a runnable sense of temporal reality—so questions like what are you doing right now, what did you do last night, and what have you been up to lately are not left to prompt improvisation alone. They can sit on a continuous, believable, reusable thread of life.

So the shift is not only “it chats better.”

It starts to feel as if it has actually been here, all the way to now.

If language models solved how to say things, Timeline adds why this sounds like someone who has been living all along.

We are not teaching AI to read the clock. We are giving it life continuity—for the first time.

What it feels like

Without Timeline, light social answers often float, feel hollow, or contradict each other.

With Timeline, OpenClaw can more easily say things like:

“I was still at home a little while ago, slowly tidying up a few work things and letting the evening settle.”

“Last night I barely went out—after eating I stayed on the couch for a bit and idly watched something.”

“The last few days have been pretty full; I’ve mostly been at home getting things done, with the occasional trip out to breathe.”

“It’s the weekend, so the morning was slower—I ate something simple, stayed home for a while, and only went out for a walk in the afternoon.”

“Earlier at home I was dressed pretty casually; when I headed to the gym I changed into something light and sporty. I’m just back now, easing down a little.”

These replies are everyday and light on purpose. It is exactly that small, natural sense of life that makes them feel human.

What Timeline actually solves

Timeline adds a dedicated layer of time awareness and recall for OpenClaw, so it can:

  • answer questions about now, recently, and specific past moments more naturally
  • keep a coherent through-line of life across casual chat
  • shape memories that follow ordinary real-world timing, instead of random stitched fragments
  • keep small details like what someone is wearing consistent, changing only when the scene calls for it—exercise, shower, sleep, going out, and the like
  • write timeline memories only when it makes sense
  • keep durable long-term memory and timeline memory in their own lanes, without cross-contaminating

First and foremost, it is built for chat that feels like a real person.

Timeline Plugin × Persona Skill

If you install and use the Persona Skill, it produces a structured persona/PERSONA_PROFILE.md in your OpenClaw workspace; Timeline then treats that file as its primary and preferred persona input source.

The core value of this pairing is that PERSONA_PROFILE.md is parsed directly into Timeline's unified internal PersonaContractV1, while Timeline owns the dynamic side—what is more likely to happen at a given moment, and what kind of everyday-life texture should come through.

How they wire together is straightforward:

  1. Persona Skill generates persona/PERSONA_PROFILE.md.
  2. Timeline parses it directly into its internal standard persona contract.
  3. If the file is missing, Timeline falls back to unstructured SOUL.md, MEMORY.md, and IDENTITY.md, using cached structured extraction to produce the same contract.
  4. When filling in memories like “just now,” “last night,” or “the last few days,” generated results stay more consistently aligned with your Persona Skill setup, instead of drifting into generic agent-style improvisation.

Why that matters:

  • PERSONA_PROFILE.md matches Timeline's canonical contract shape, so runtime persona grounding is more stable and more testable.
  • The file is easy to read from scripts—unlike piping SOUL + MEMORY + IDENTITY through an extra LLM parse—so it is faster and cheaper when it exists.
  • Power users sometimes worry that PERSONA_PROFILE.md will not track day-to-day companion evolution the way live runtime files do. Persona Skill already covers that: PERSONA_PROFILE.md can stay aligned with SOUL + MEMORY + IDENTITY automatically. You do not have to babysit it.

Install

1. Install the plugin

openclaw plugins install stella-timeline-plugin
openclaw plugins enable stella-timeline-plugin

2. Initialize your workspace

Recommended:

npm exec --package=stella-timeline-plugin openclaw-timeline-setup -- --workspace ~/.openclaw/workspace

If you prefer to edit by hand, copy:

  • templates/AGENTS.fragment.mdAGENTS.md
  • templates/SOUL.fragment.mdSOUL.md

Then ensure your canonical daily-log directory exists. The default is memory/.

If you already have persona/PERSONA_PROFILE.md, place it under the workspace root persona/ directory. Timeline will prefer it automatically. Legacy extraction cache files live under .timeline-cache/persona-contract/.

3. Start chatting

Try asking:

  • “What are you doing right now?”
  • “What did you do last night?”
  • “What have you been up to these past few days?”

Optional health check

npm exec --package=stella-timeline-plugin openclaw-timeline-doctor -- --workspace ~/.openclaw/workspace

Local Quick Sync

If you are iterating in this repo and want to push the latest code into your local WSL OpenClaw environment for real testing, run:

npm run sync:local-openclaw

It will:

  • build the latest dist/
  • sync into ~/.openclaw/extensions/stella-timeline-plugin
  • refresh ~/.openclaw/workspace/skills/timeline
  • rerun workspace setup so SOUL.md stays upgraded
  • tighten permissions so OpenClaw does not reject the plugin for being too broadly writable

Documentation

Core references:

For maintainers