Content
<h1 align="center">Pulse</h1>
<p align="center">
<strong>Open-source Long-term Personal AI Assistant · Persistent Memory · Proactive Execution · Core + Skill Pack Architecture</strong>
</p>
<p align="center">
<a href="./README.en.md">English</a> ·
<a href="#why-pulse">Why</a> ·
<a href="#core-capabilities">Core Capabilities</a> ·
<a href="#system-architecture">Architecture</a> ·
<a href="#core-design">Core Design</a> ·
<a href="#quick-start">Quick Start</a> ·
<a href="#function-list">Functions</a> ·
<a href="#roadmap">Roadmap</a> ·
<a href="./docs/README.md">Documentation</a>
</p>
<p align="center">
<img src="https://img.shields.io/badge/Python-3.11%2B-3776AB?logo=python&logoColor=white" alt="Python" />
<img src="https://img.shields.io/badge/FastAPI-async-009688?logo=fastapi&logoColor=white" alt="FastAPI" />
<img src="https://img.shields.io/badge/MCP-Server%20%26%20Client-8A2BE2" alt="MCP" />
<img src="https://img.shields.io/badge/LLM-OpenAI%20%7C%20Qwen3--Max-orange" alt="LLM" />
<img src="https://img.shields.io/badge/Browser-Patchright%20CDP%20Stealth-FF6A00" alt="Patchright" />
<img src="https://img.shields.io/badge/Status-Alpha%20%E2%80%A2%20usable-2ea44f" alt="Status" />
<img src="https://img.shields.io/badge/PRs-welcome-ff69b4" alt="PRs welcome" />
<img src="https://img.shields.io/badge/License-MIT-yellow" alt="License" />
</p>
<p align="center">
Keywords: <code>AI Agent</code> · <code>Personal AI Assistant</code> · <code>Self-Hosted AI</code> · <code>JARVIS</code> ·
<code>Self-Evolving Agent</code> · <code>ReAct</code> · <code>Tool Use Contract</code> · <code>Agent Memory</code> ·
<code>Model Context Protocol (MCP)</code> · <code>Agent Skill Pack</code> ·
<code>Game Automation</code> · <code>Life Assistant</code> · <code>Patrol / Heartbeat</code>
</p>
---
## What is Pulse
Pulse is a **personal AI assistant deployed on your own machine** - long-term resident, truly understands you, and helps you with daily chores. The goal is to be your own JARVIS: not a one-time chatbot, but a long-term system that proactively executes, continuously learns, and becomes more familiar with you.
To achieve this, Pulse separates a universal **Agent kernel** from domain-specific **business skill packs**:
- **Kernel** (`core/`) is domain-agnostic - long-term scheduling, five-layer memory, contractual tool invocation, event auditing, and personality evolution.
- **Skill packs** (`modules/`) are organized by domain, and new scenarios only require adding directories without modifying the framework.
- **Implemented skill packs**: job search (BOSS scan JD / active greeting / HR conversation auto-response / resume sending), intelligence subscription (multi-topic YAML configuration of six-step pipeline + cross-topic search), email tracking (IMAP classification + schedule extraction).
This is just the beginning. **Every automatable life scenario is Pulse's next stop** - agent game daily check-in, end-to-end travel strategy generation, financial weekly report, smart home linkage, and even automatic generation of new skills and precipitation of personal usage habits and preferences. One kernel, carrying infinite skill packs.
---
## Why Pulse
Current Agent projects can be roughly divided into three categories, each with obvious pain points:
| Type | Representative | Pain Points |
|---|---|---|
| Vertical Automation Scripts | Various BOSS / resume / e-commerce automation projects | Need to rewrite for each scenario, no reuse value |
| Agent Framework | LangChain / LangGraph / AutoGen | Focuses on "how to orchestrate a single request", still far from "your own long-term AI assistant" |
| Chat-style Assistants | ChatGPT / Claude Desktop | Cannot reside long-term, no scheduled patrol, no persistent memory, and no business closed-loop |
Pulse aims to **decouple Agent from the conversation window and make it a long-term assistant serving you**:
- **Proactive Execution**: AgentRuntime kernel resides in the background, automatically patrolling new messages and collecting intelligence during working hours, without manual refresh.
- **Persistent Memory**: Layer × Scope dual-axis memory, retaining user profiles, preferences, and context progress across sessions, without resetting after each conversation.
- **Verifiable Commitment**: Three contractual tool invocations constrain LLM "verbal commitment but actual non-execution" type Agent hallucinations, with all inconsistencies entering the event flow.
- **Ecological Compatibility**: Exposes MCP Server externally and connects to MCP Client internally, compatible with Claude Desktop / Cursor / any MCP client.
- **Self-Expandable**: Skill Generator converts natural language requirements into verified and sandboxed new tools, hot-loaded into the tool table.
---
## Core Capabilities
- **Long-term Operation**: Background patrol scheduling, task start/stop, circuit breaking, and manual takeover.
- **Reliable Tool Invocation**: Three contractual tool usage reduces Agent hallucinations of "saying done but not actually done".
- **Long-term Memory**: Layer × Scope memory model, managing short-term context, user preferences, and domain facts in a hierarchical manner.
- **Safety Governance**: SafetyPlane executes Allow / Deny / Ask before actual external side effects, supporting user confirmation and recovery execution.
- **Observability**: EventBus + JSONL auditing + SSE, with key paths replayable.
- **MCP Ecosystem**: Can act as MCP Server to expose tools and as MCP Client to connect to external services.
- **Browser Automation**: Patchright drives a real browser, currently used in job search scenarios.
---
## System Architecture
### Overview
```
┌────────────────────────────────────────────────────────────────────────────┐
│ Pulse Main Python Process (FastAPI / uvicorn · single process + asyncio + background thread) │
│ │
│ ┌──────────────────────── Access Layer ──────────────────────────┐ │
│ │ HTTP API │ SSE │ CLI │ Enterprise WeChat / Feishu Adapter │ MCP Server │ │
│ └───────────────────────────┬──────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────── Agent OS Kernel ───────────────────────┐ │
│ │ AgentRuntime ──→ Scheduling / active hours / circuit breaking │ │
│ │ Task Runtime (Brain) ──→ ReAct reasoning + ToolUseContract │ │
│ │ Memory Runtime ──→ Layer × Scope five-layer memory │ │
│ │ Observability Plane ──→ EventBus + JSONL + InMemStore │ │
│ │ SafetyPlane ──→ Service gate + Suspend-Ask- │ │
│ │ Resume-Reexecute four-step HITL primitives │ │
│ └───────────────────────────┬──────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────── Three-ring Capability Model (Brain's tool list) ───────────┐ │
│ │ Ring 1 Tool lightweight built-in functions (alarm/weather/web…) │ │
│ │ Ring 2 Module business skill packs (job/intel/email/system) │ │
│ │ Ring 3 External MCP arbitrary external MCP Server (cross-process call) │ │
│ │ Meta SkillGen natural language → new tool hot loading │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │
│ ┌──────────── Capability Layer (domain-agnostic) ─────────────────┐ │
│ │ LLM Router · Browser Pool · Storage · Notify · Scheduler│ │
│ │ Channel · Policy · EventBus · Cost · Config │ │
│ └──────────────────────────────────────────────────────────┘ │
└───────────┬─────────────────────┬──────────────────────┬──────────────────┘
│ stdio / subprocess │ CDP (WebSocket) │ TCP/Unix socket
▼ ▼ ▼
┌────────────────┐ ┌──────────────────────┐ ┌──────────────────────┐
│ External MCP Server│ │ Chromium OS subprocess │ │ PostgreSQL │
│ (independent process) │ │ (Patchright derived, │ │ business data · memory │
│ GitHub/Notion..│ │ handling BOSS / webpage) │ │ auditing (JSONL dumping) │
└────────────────┘ └──────────────────────┘ └──────────────────────┘
```
The Python main process runs in a single process (asyncio + one scheduling thread), while Chromium and external MCP Server are independent subprocesses.
### Five-layer Kernel
| Layer | Responsibility |
|---|---|
| **Agent OS** | Long-term operation, patrol scheduling, active hours, circuit breaking, and event broadcasting |
| **Task Runtime** | Single-round execution state machine, tool invocation loop, budget and stop conditions, and three contracts |
| **Memory Runtime** | Multi-layer memory read/write, compression, promotion, and source tracking |
| **Observability Plane** | Event bus + append-only auditing + subscription push |
| **SafetyPlane** | Side-effect authorization gate + Suspend / Ask / Resume / Reexecute four-step HITL primitives |
---
## Core Design of Agent Kernel
### 1. ToolUseContract - Three Orthogonal Contracts Against Agent Hallucinations
LLM's most common bug is not that the tool is broken, but that it "claims to have invoked the tool but actually didn't": it replies "I have recorded your preference", but no tool invocation was actually made in this round. Pure prompt constraints will inevitably fail in multi-round conversations.
Pulse uses three orthogonal contracts to ensure:
| Contract | What to do |
|---|---|
| **A. Description** | Tools declare their preconditions / counterexamples / when not to use, rather than letting LLM guess which one to choose |
| **B. Call** | Forced structured invocation at the invocation layer: when seeing a "pure text but promised action" round, automatically upgrade to mandatory tool invocation |
| **C. Execution Verifier** | Pre-response self-inspection "commitment vs. actual tool record", if inconsistent, rewrite as honest explanation, and log audit events |
Invariant: semantic judgment is attributed to LLM, while structural judgment is attributed to Python; no keyword regular expressions are used to force tool invocation.
See [ADR-001](./docs/adr/ADR-001-ToolUseContract.md) for details.
### 2. Layer × Scope Dual-axis Memory
Mainstream Agent memory is a two-layer "Core + vector retrieval", with everything stuffed into the same bag. Pulse splits memory into two independent dimensions:
- **Layer axis (determining lifecycle)**: Operational (current round) / Recall (short-term conversation) / Workspace (domain facts) / Archival (long-term facts) / Core (personality and preferences).
- **Scope axis (determining isolation granularity)**: turn / taskRun / session / workspace / global.
**Workspace × workspace** is the access point: business domains (job / mail / future game / health) hang their own domain memory facade, and the kernel only provides general read/write without perceiving business semantics. New skill packs do not require modifying the kernel.
Currently, no vector library is used: under the scale of a single user, LLM-generated keywords + SQL keyword retrieval have better hit rate and delay than vector recall, and dependencies are lighter. The judgment basis and future switching threshold are described in [MemoryRuntime Design](./docs/Pulse-MemoryRuntime%E8%AE%BE%E8%AE%A1.md).
### 3. AgentRuntime - Let Agent Truly Run Long-term
Cron + while True is not a long-term Agent, but a timer. AgentRuntime makes the following capabilities into kernel capabilities:
- **patrol self-registration**: modules declare their patrol tasks, and the kernel is responsible for scheduling, start/stop, and error recovery, without business perception.
- **active hours**: task-level time window, configurable by workday / weekend, avoiding meaningless triggers and risk control during non-working hours.
- **Circuit breaking and recovery**: multi-gear recovery strategies (retry / degradation / skip / rollback / circuit breaking / manual takeover), failures will not drag down the entire process.
- **Conversational control plane**: directly manage background tasks through IM (query, start/stop, manual trigger), without a separate management background.
- **Unified event flow**: all key paths broadcast through the event bus, log audit files, and support real-time subscription.
See [AgentRuntime Design](./docs/Pulse-AgentRuntime%E8%AE%BE%E8%AE%A1.md) for details.
### 4. SafetyPlane - Service Layer Authorization Gate + Four-step HITL Primitives
When Agent accesses real external accounts (job search, email, messaging platform), every sent message and every click will reach a real person. This layer answers two questions: **what actions can be done directly, and what actions require human confirmation**.
The common three-step Ask (Suspend / Ask / Resume) often results in "false success" in products: after Ask suspension, the next patrol assumes it has been processed and will not pick it up again; Agent side marks "sent", but the external connector has not actually called. If the gate is placed at the Brain layer, all side effects triggered by background patrol will be missed.
Pulse's approach:
- **Gate sinks to Service layer** - policy at the real side effect entry, covering both interactive triggers and patrol triggers.
- **Policy is a pure function** - Allow / Deny / Ask three-state decision, no I/O, no LLM, testable, and auditable.
- **HITL is a four-step primitive**: Suspend (suspend task, with idempotence key to avoid repeated disturbance) → Ask (send confirmation request through independent channel) → Resume (user reply classified as agree / reject / unknown, unknown conservatively treated as reject) → **Reexecute** (immediately re-run original intent after agreement, with audit mark).
The fourth step, Reexecute, is a critical invariant: user confirmation is not to change the state to "success", but to actually re-execute the action once, with the confirmation process and real execution not disjoint.
See [ADR-006](./docs/adr/ADR-006-v2-SafetyPlane.md) for details.
## Memory and Evolution
```
┌─────────────────────────────────────────────────────────────────┐
│ Before each ReAct reasoning: │
│ Load Core (SOUL + USER + PREFS + CONTEXT) │
│ + Recall recent N summaries + Archival related facts │
│ + Workspace × workspace's DomainMemory facts │
│ → Compile into system prompt and inject into LLM │
│ │
│ After reasoning: │
│ Recall additional dialogue + tool calls │
│ Operational cleanup of turn-level scratchpad │
│ Workspace/Archival/Core promotion via Promotion Pipeline │
│ Event synchronization into EventBus → InMemStore + JsonlSink │
│ │
│ User correction ("以后别推游戏公司"): │
│ → Preference learning Track A: correction detection → rule extraction → PREFS update │
│ → Governance gating (Autonomous/Supervised/Gated) decides whether to take effect immediately │
│ → Change audit log,rollable, and comparable │
└─────────────────────────────────────────────────────────────────┘
```
**Personality Grading**: Each belief in SOUL has a label
```yaml
values:
- "[CORE] User interests first, no harm to users"
- "[CORE] Honest, uncertain things say uncertain"
- "[MUTABLE] Prioritize remote work opportunities"
```
`[CORE]` beliefs are never modified by the reflection pipeline, `[MUTABLE]` can evolve through feedback and reflection — the more you use it, the more it understands you, while keeping the bottom line.
## Function List
Pulse's current business skill package focuses on the job search scene, but the underlying kernel is universal, and new domains only add directories.
### Job Domain `modules/job/`
| Sub-ability | What to do |
|---|---|
| **greet** | BOSS direct recruitment position scan → two-layer JD filtering (rules + LLM) → active greeting |
| **chat** | Pull unread messages → intent classification → image matching reply / send resume / HR card confirmation → send result secondary verification |
| **profile** | Job search image, hard constraints, resume original text and structured summary |
| **connectors/boss** | Patchright persistent login state, wind control identification, DOM snapshot driver selector |
### Intelligence Domain `modules/intel/`
Single Module + theme YAML assembly, add new themes (autumn recruitment, face experience, large model frontier, etc.) only add configuration files without changing code.
| Ability | What to do |
|---|---|
| **digest** | Run deterministic six-step pipeline by theme: fetch → dedup → score → summarize → diversify → publish, RSS / GitHub Trending / Web Search multi-channel, anti-information cocoons (source quota + serendipity + anti-mainstream weighting) as workflow first citizen, high-score entries automatically precipitate to ArchivalMemory |
| **search** | Cross-theme keyword retrieval (LLM pumping → SQL ILIKE), Brain ReAct and external MCP client (Claude Desktop / Cursor) synchronization available |
### Email Domain `modules/email/tracker/`
IMAP read-only access → email classification (interview invitation / rejection letter / supplementary materials) → schedule structured extraction → status synchronization + IM reminder.
### System Domain `modules/system/`
| Sub-ability | What to do |
|---|---|
| **hello** | Health probe |
| **feedback** | Feedback closed loop, drive preference learning |
| **patrol** | Directly manage background tasks through IM (query / start and stop / manual trigger) |
## Quick Start
### Pre
- Python 3.11+
- PostgreSQL (local or Docker)
- OpenAI or Qwen3-Max API Key (at least one)
### 30 seconds startup (development mode)
```bash
git clone https://github.com/<your-org>/pulse.git
cd pulse
cp .env.example .env
# Edit .env fill in OPENAI_API_KEY or DASHSCOPE_API_KEY, and DATABASE_URL
pip install -e .[dev]
./scripts/start.sh all
```
API documentation: <http://localhost:8010/docs>
Health probe: <http://localhost:8010/health>
Real-time event stream (SSE): <http://localhost:8010/api/agent/events>
### Docker one-click
```bash
docker compose up --build
```
### Enable job automation (optional)
```bash
# First login BOSS (browser scan code, Cookie automatically persistent to ~/.pulse/boss_browser_profile)
./scripts/boss_login.sh
# Long-term scheduling start, through dialogue or runtime interface to start and stop patrol
AGENT_RUNTIME_ENABLED=true
PULSE_SAFETY_PLANE=enforce
curl -X POST http://localhost:8010/api/runtime/patrols/job_greet.patrol/enable
curl -X POST http://localhost:8010/api/runtime/patrols/job_chat.patrol/enable
```
### Connect to Claude Desktop / Cursor (as MCP Server)
Pulse internal tool automatically registered as MCP Tool, available externally. Connection configuration example (Claude Desktop `claude_desktop_config.json`):
```json
{
"mcpServers": {
"pulse": {
"command": "pulse",
"args": ["mcp", "serve"]
}
}
}
```
After connecting, Claude / Cursor can directly call `job.greet.scan`, `memory.search` and other Pulse tools.
## Project Structure
```
src/pulse/
core/ # AgentRuntime / Brain / Memory / Safety / MCP / EventBus
modules/ # job / intel / email / system and other skill packages
tools/ # Lightweight built-in tools
docs/ # Design documents and ADR
tests/pulse/ # Unit, integration, contract testing
```
## Technology Stack
Python 3.11 · FastAPI · PostgreSQL · asyncio · Patchright · MCP · OpenAI / Qwen3-Max / DeepSeek · Docker Compose
## Documents
- [Document entry](./docs/README.md)
- [Kernel architecture](./docs/Pulse-内核架构总览.md)
- [MemoryRuntime](./docs/Pulse-MemoryRuntime设计.md)
- [SafetyPlane / ADR-006](./docs/adr/ADR-006-v2-SafetyPlane.md)
- [Engineering Constitution](./docs/code-review-checklist.md)
## Roadmap
> Pulse's first stop is job search, but the architecture reserved stage is much larger than job search. The following are future pluggable skill package directions, each of which is an independent Module directory, and each is welcome to PR.
### Released · v0 Baseline
- [x] Resident Agent OS kernel: AgentRuntime + event bus + task-level time window
- [x] Three-ring tool model: built-in tools / business modules / external MCP, superposition natural language generation new tools
- [x] Three contract tool calls, constraint Agent "verbal commitment but did not actually call tool" class hallucinations
- [x] Layer × Scope double-axis memory + independent Observability Plane
- [x] SOUL personality grading and evolution engine, governance gate control autonomy / supervision / strong agreement three gears
- [x] MCP Server + Client two-way communication
- [x] Job search skill package: BOSS scan JD / active greeting / HR dialogue automatic reply / send resume / email tracking
- [x] SafetyPlane: authorization gate + Suspend / Ask / Resume / Reexecute four-step HITL primitive
### Ongoing · Kernel Consolidation
- [ ] SafetyPlane extraction across module sharing primitives, promote to email / resume sending and other paths that also produce external side effects
- [ ] More access channels: Discord / Telegram / WebSocket long connection (HTTPS webhook version of enterprise WeChat, Feishu has landed)
- [ ] Job domain intelligence second phase: face experience station depth capture, company dimension research
---
### 🎮 Game Automation Skill Package
Let Pulse become **托管 SLG / MMO / card game daily** digital liver. Patchright + DOM scaffolding has been running through anti-climbing chain in the job search domain, and the next step is to generalize this capability to the game scene.
- [ ] **Universal game Module skeleton** — Multi-account management · Cookie persistence · window matrix · CAPTCHA / slider strategy
- [ ] **Daily task scheduling DSL** — Use YAML to describe a game's "login → sign in → receive mail → daily copy → draw card insurance → clean up backpack" pipeline
- [ ] **Cross-server activity reminder** — Subscribe to official announcements + enterprise WeChat / Feishu push "limited time discount", "first charge rebate", "limited card pool opening"
- [ ] **Strategy draw card log** — Record the probability distribution of each card + cumulative Euler value statistics, give you data-driven krypton gold decision-making
- [ ] **Each game a subdirectory** — `modules/game/<game_name>/`, PR merge immediately on shelf.《原神》《明日方舟》《崩坏:星穹铁道》《FGO》《碧蓝档案》等任意 adapter 都在等人来写
### ✈️ End-to-End Life Assistant
Not "ask a sentence to answer a sentence" chatbot, but **from a sentence intent to complete the program** closed loop.
- [ ] **End-to-end travel planning** — One sentence "11 want to go to Dali", Pulse automatically plan: ticket comparison · hotel selection · weather warning · visa / document reminder · attraction + niche route + food crawling · schedule automatic into calendar · 24h dynamic review before departure
- [ ] **Financial weekly module** — Bank / securities / Alipay API · LLM analysis abnormal expenditure · weekend push structured weekly report
- [ ] **Health guardian** — Sleep / heart rate data · physical examination report structure · abnormal index active greeting
- [ ] **Home linkage** — Home Assistant / Matter MCP · dialogue switch lamp / adjust air conditioner / check electricity
- [ ] **Email mailbox receipt assistant** — Interview invitation / bill / subscription automatic classification · important event add schedule · garbage information mute
- [ ] **Learning companion** — Subscribe course / paper / public number · daily refine points · wrong question book active review
### 🧑💻 Extension & Self-Extension
- [ ] **Skill Generator v2** — From "generate single tool" to "LLM generate complete business module (including inspection / memory / intent)", realize Agent self-expansion
- [ ] **MCP ecology plug and play** — GitHub / Notion / Slack / Linear / Sentry and other arbitrary MCP Server, Pulse all can be called
- [ ] **Cross-device synchronization** — Mobile lightweight channel + cloud end Pulse main process, travel outside can also respond in real-time
- [ ] **Preference fine-tuning closed loop** — Real dialogue → preference to → fine-tuning pipeline, Agent according to your style more and more like you
### 🧬 Frontier Exploration · Towards the Real "Javis"
This part does not make time commitment, is the direction that Pulse is willing to invest research:
- [ ] **Emotional Intelligence** — Not just tone friendly, but identify your current mood and adjust strategy (down period do not urge you to send resume, anxiety period actively shield noise information)
- [ ] **Personality Evolution** — SOUL `[MUTABLE]` belief really changes over time, keep `[CORE]` bottom line
- [ ] **Sleep-Time Consolidation** — Learn from Letta's Sleep-Time Compute, night autonomous sorting day Recall → Archival → Core, like real human sleep consolidation long-term memory
- [ ] **Embodied Agent** — Access robot control / desktop control (OpenAI Operator style), Agent from "see" to "can do"
- [ ] **Multi-Agent Collaboration** — Multiple Pulse instances cross-user collaboration (job search Agent ↔ recruitment Agent / travel Agent ↔ hotel Agent), walk MCP + A2A protocol
- [ ] **Memory Watermark and Right to Forget** — GDPR compliant "user-level one-click forget", memory review audit chain
> Frontier exploration is not empty vision. Pulse's SOUL evolution, five-layer memory, EventBus audit, governance gate control and other bases **have been implemented in the current code base**, and the above frontier directions are incremental evolution on these bases, not re-design.
---
## Contribution
Pulse is in the v0 stage, and early contributors have the opportunity to participate in shaping the project's core architecture.
Contributors from different backgrounds can find their own strengths in Pulse:
- 🎮 **Hardcore game players** — In `modules/game/<game_name>/` submit game skill packages, will sign in / daily / draw card automation. Patchright anti-climb scaffolding has been verified in the job search domain and can be directly reused
- ✈️ **Life automation enthusiasts** — Choose one area from travel / health / home / finance to hang up Module, realize "a sentence intent → complete program" closed loop
- 🧑💻 **Architecture / kernel contributors** — Brain / Memory / AgentRuntime / SafetyPlane / MCP have to be deeply researched topics, each with an independent ADR as context
- 🎨 **Prompt / LLM researchers** — SOUL personality evolution, preference learning and collection, three contracts in the execution validator, are all frontier issues of LLM engineering
- 📚 **Document / evangelist** — English and Chinese README, ADR translation, tutorial video, example project, any form of contribution is welcome
Please read [`docs/code-review-checklist.md`](./docs/code-review-checklist.md) before submitting PR — **Engineering Constitution**: coding and maintainability, testing, annotation, **system configurable / observable / shutdown**; warehouse-level landing items see [`docs/engineering/pulse-conventions.md`](./docs/engineering/pulse-conventions.md). The standard is higher, suitable for contributors who value code quality.
Architecture changes please open RFC issue discussion first, ADR mechanism see [`docs/adr/`](./docs/adr/).
## Acknowledgment
The design process absorbed the experience of the following projects:
- **Letta / MemGPT** — Core Memory Block and self-edit ideas
- **Claude Code** — Single round Agent pipeline engineering practice and shutdown condition classification
- **Anthropic MCP** — Tool protocol design
- **Bertrand Meyer《Design by Contract》** — Contractual design philosophy
## License
[MIT](./LICENSE)
<p align="center">
<strong>If Pulse inspires you, welcome Star ⭐ — This is the most realistic support for open source projects</strong>
<br/>
<sub>Built for people who want an AI that stays, not one that forgets every conversation.</sub>
</p>
MCP Config
Below is the configuration for this MCP Server. You can copy it directly to Cursor or other MCP clients.
mcp.json
Connection Info
You Might Also Like
everything-claude-code
Complete Claude Code configuration collection - agents, skills, hooks,...
markitdown
Python tool for converting files and office documents to Markdown.
awesome-claude-skills
A curated list of awesome Claude Skills, resources, and tools for...
antigravity-awesome-skills
The Ultimate Collection of 130+ Agentic Skills for Claude...
claude-context-mode
claude-context-mode plugin reduces MCP context bloat, saving up to 99% of tokens.
context-mode
MCP is the protocol for tool access. We're the virtualization layer for context.