neoagent 2.4.4-beta.9 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,89 +1,79 @@
1
- # Getting Started
1
+ # Installation
2
2
 
3
- Install takes about 5 minutes. The first VM boot downloads and configures an Ubuntu guest image, which adds a few more minutes on first run.
3
+ NeoAgent supports macOS and Linux hosts. It installs as a long-running service,
4
+ so use a machine that remains online when you expect automations, messaging, or
5
+ remote access to work.
4
6
 
5
7
  ## Requirements
6
8
 
7
- | | |
8
- |---|---|
9
- | Node.js | 20 or newer |
10
- | QEMU | installed automatically when supported; used for VM-isolated browser and Android |
11
- | AI provider key | Anthropic, OpenAI, Gemini, Grok, MiniMax, or local Ollama |
9
+ - Node.js 20 or newer with npm
10
+ - A macOS or Linux user account that can install packages
11
+ - Enough disk and memory for the models and runtime you choose
12
+ - QEMU for the isolated browser and terminal runtime
12
13
 
13
- No API key is required if you only use local Ollama.
14
-
15
- ### Optional manual QEMU install
16
-
17
- `neoagent install` tries to install QEMU on supported macOS and Linux package
18
- managers. If the machine does not have a supported package manager yet, install
19
- QEMU manually and rerun `neoagent install`.
14
+ The installer attempts to install QEMU with Homebrew, `apt`, `dnf`, or `yum`.
15
+ If the host uses another package manager, install QEMU first.
20
16
 
21
17
  ```bash
22
18
  # macOS
23
19
  brew install qemu
24
20
 
25
- # Ubuntu / Debian
26
- sudo apt-get update && sudo apt-get install -y qemu-system qemu-utils
21
+ # Ubuntu or Debian
22
+ sudo apt-get update
23
+ sudo apt-get install -y qemu-system qemu-utils
27
24
  ```
28
25
 
29
- ## Install
26
+ ## Install NeoAgent
30
27
 
31
28
  ```bash
32
29
  npm install -g neoagent
33
30
  neoagent install
34
31
  ```
35
32
 
36
- This runs a preflight, creates or updates config, installs dependencies, builds
37
- or uses the bundled web client, starts the service, and prints any remaining
38
- machine-specific action items.
39
-
40
- Open **http://localhost:3333** in your browser when the install finishes.
33
+ `neoagent install` checks the host, creates the runtime configuration, installs
34
+ application dependencies and supported system tools, prepares the isolated
35
+ runtime, and registers a launchd or systemd user service when available.
41
36
 
42
- ## First Run
37
+ Read the post-install actions printed by the command. They describe anything
38
+ the installer could not complete automatically.
43
39
 
44
- 1. Create an account.
45
- 2. Open **Settings AI Providers** and add at least one API key.
46
- 3. Send a message in **Chat** to confirm the agent responds.
40
+ Open `http://localhost:3333` on the server. For remote access, configure HTTPS
41
+ and `PUBLIC_URL` before connecting integrations or mobile clients.
47
42
 
48
- Everything else — integrations, messaging, tasks, Android control — is configured inside the app.
43
+ ## First run
49
44
 
50
- ## Service Commands
51
-
52
- ```bash
53
- neoagent status # check install root, config path, and service state
54
- neoagent start
55
- neoagent stop
56
- neoagent restart
57
- neoagent logs # first stop when something behaves unexpectedly
58
- ```
45
+ 1. Create the first user account.
46
+ 2. Open **Settings > AI Providers**.
47
+ 3. Configure a hosted provider or connect local Ollama.
48
+ 4. Select a model and send a message in **Chat**.
49
+ 5. Open **Settings > Tool Permissions** and review the approval policy before
50
+ enabling browser, shell, file-write, desktop, or Android actions.
59
51
 
60
- ## Re-running Setup
52
+ The first isolated-runtime boot downloads and prepares an Ubuntu image. It can
53
+ take several minutes and is not required for a basic model-only chat.
61
54
 
62
- Run this to regenerate config or change provider keys:
55
+ ## Check the installation
63
56
 
64
57
  ```bash
65
- neoagent setup
58
+ neoagent status
59
+ neoagent logs
66
60
  ```
67
61
 
68
- The wizard prompts for port, public URL, release channel, AI keys, Ollama URL, and OAuth credentials.
69
-
70
- ## Updates and Recovery
71
-
72
- ```bash
73
- neoagent channel stable # switch to stable releases
74
- neoagent channel beta # switch to prerelease builds
75
- neoagent update # update to latest on the current channel
76
- neoagent fix # reset after a broken install or self-edit
77
- ```
62
+ `status` reports the install path, configuration, release channel, service
63
+ state, and server health. Use `logs` on the machine running NeoAgent; logs from
64
+ another computer do not describe the remote server.
78
65
 
79
- `neoagent fix` backs up runtime data, resets source files, reinstalls dependencies, and restarts the service. Use it when `neoagent setup && neoagent restart` hasn't resolved an issue.
66
+ ## Global npm permission errors
80
67
 
81
- ## Runtime Paths
68
+ If `npm install -g` fails with `EACCES` on macOS, install Node through
69
+ [nvm](https://github.com/nvm-sh/nvm) so global packages live in your user
70
+ directory. Running the npm command with `sudo` also works, but makes later
71
+ package ownership harder to manage.
82
72
 
83
- | Path | Contents |
84
- |---|---|
85
- | `~/.neoagent/.env` | Server config and secrets |
86
- | `~/.neoagent/data/` | Database, session data, logs |
87
- | `~/.neoagent/agent-data/` | Skills, memory, daily data |
73
+ ## Next steps
88
74
 
89
- Set `NEOAGENT_HOME` to move the runtime root.
75
+ - [Configure models](models.md)
76
+ - [Create specialist agents](agents-and-users.md)
77
+ - [Connect accounts and messaging](integrations.md)
78
+ - [Set up automation](automation.md)
79
+ - [Review deployment security](security-boundaries.md)
package/docs/index.md CHANGED
@@ -1,49 +1,60 @@
1
1
  ---
2
2
  slug: /
3
- title: NeoAgent
3
+ title: NeoAgent documentation
4
4
  sidebar_label: Overview
5
5
  ---
6
6
 
7
- <p align="center">
8
- <img src="/img/app_icon.png" width="72" alt="NeoAgent" />
9
- </p>
7
+ # NeoAgent documentation
10
8
 
11
- # NeoAgent
9
+ NeoAgent is a self-hosted AI agent that runs continuously on a macOS or Linux
10
+ server. It provides an operator interface for chat, automation, integrations,
11
+ memory, recordings, and connected devices.
12
12
 
13
- Self-hosted AI agent server. Runs as a system service, keeps all credentials on your machine, and provides a full operator UI for chat, automation, Android device control, recordings, integrations, and memory.
13
+ NeoAgent is beta software. Install it on a machine you administer, start with
14
+ restricted tool permissions, and read the security guide before connecting
15
+ sensitive accounts.
14
16
 
15
- ## Quick Start
17
+ ## 🚀 Start here
16
18
 
17
19
  ```bash
18
20
  npm install -g neoagent
19
21
  neoagent install
20
22
  ```
21
23
 
22
- Opens at `http://localhost:3333` when complete. See [Getting Started](getting-started.md) for prerequisites and first-run steps.
24
+ The installer starts the service and prints any host-specific action items.
25
+ Open `http://localhost:3333` when it finishes.
23
26
 
24
- ## What You Can Do
27
+ Continue with:
25
28
 
26
- | | |
27
- |---|---|
28
- | **Chat with tools** | Browse the web, run shell commands, read/write files, call APIs, generate images |
29
- | **Automate** | Schedule tasks on cron, trigger from integrations or weather events, deliver results via messaging |
30
- | **Control Android** | Screenshot, observe UI, tap, type, swipe, launch apps, install APKs, run `adb shell` |
31
- | **Connect accounts** | Google Workspace, Microsoft 365, Notion, Slack, Figma, Home Assistant, Trello, Spotify |
32
- | **Message anywhere** | Telegram, WhatsApp, Discord, Signal, Matrix, iMessage, Teams, Telnyx Voice, and more |
33
- | **Record and transcribe** | Audio sessions from browser or Android, transcript search, AI-generated insights |
34
- | **Remember** | Long-term semantic memory, session logs, core facts, daily summaries |
29
+ - [Install and complete the first run](getting-started.md)
30
+ - [Choose and configure a model](models.md)
31
+ - [Understand the security boundaries](security-boundaries.md)
32
+ - [Migrate from OpenClaw or Hermes](migration.md)
35
33
 
36
- ## Documentation
34
+ ## 🧭 User guide
37
35
 
38
- | | |
36
+ | Guide | Use it for |
39
37
  |---|---|
40
- | [Getting Started](getting-started.md) | Install, first run, service commands |
41
- | [Capabilities](capabilities.md) | Full tool and feature inventory |
42
- | [Configuration](configuration.md) | Environment variables, provider keys, OAuth setup |
43
- | [Security Boundaries](security-boundaries.md) | Enforced isolation, prompt-injection limits, deployment guidance |
44
- | [Automation](automation.md) | Tasks, cron scheduling, integration triggers |
45
- | [Integrations](integrations.md) | OAuth accounts and messaging platforms |
46
- | [Skills](skills.md) | Built-in skills catalog, custom skills, MCP |
47
- | [Operations](operations.md) | Updates, logs, recovery |
48
- | [Why NeoAgent](why-neoagent.md) | Comparison with OpenClaw |
49
- | [Migration](migration.md) | Migrate from OpenClaw or Hermes |
38
+ | [Installation](getting-started.md) | Host requirements, installation, first run |
39
+ | [Models](models.md) | Local, API-key, and account-backed model providers |
40
+ | [Agents and users](agents-and-users.md) | Specialist agents and multi-user administration |
41
+ | [Automation](automation.md) | Schedules, event triggers, delivery, and run history |
42
+ | [Memory](memory.md) | What NeoAgent remembers and how to manage it |
43
+ | [Integrations](integrations.md) | Connected app accounts and messaging channels |
44
+ | [Devices and interfaces](devices.md) | Android, desktop, Chrome, launcher, and wearable surfaces |
45
+ | [Recordings and health](recordings-and-health.md) | Audio transcription and Health Connect |
46
+ | [Skills and MCP](skills.md) | Reusable instructions and external tool servers |
47
+ | [Operations](operations.md) | Updates, backups, logs, and recovery |
48
+ | [Configuration](configuration.md) | Environment and runtime reference |
49
+ | [Why NeoAgent](why-neoagent.md) | Factual comparison with OpenClaw and Hermes |
50
+
51
+ ## 🛠️ Developer guide
52
+
53
+ The developer guide explains the implementation rather than the product setup.
54
+ Start with [Architecture](architecture.md), then follow the subsystem links in
55
+ the developer section of the sidebar.
56
+
57
+ Contributors must also follow
58
+ [GUIDELINES.md](https://github.com/NeoLabs-Systems/NeoAgent/blob/main/GUIDELINES.md)
59
+ and
60
+ [CONTRIBUTING.md](https://github.com/NeoLabs-Systems/NeoAgent/blob/main/CONTRIBUTING.md).
@@ -0,0 +1,48 @@
1
+ # Integrations and messaging architecture
2
+
3
+ Official integrations and messaging channels are separate service families.
4
+ They can expose the same external product while using different credentials
5
+ and data paths.
6
+
7
+ ## Integration registry
8
+
9
+ The integration registry loads provider implementations. A provider describes
10
+ its applications, environment readiness, connection flow, tool definitions,
11
+ access modes, and optional memory-ingestion support.
12
+
13
+ OAuth state is short-lived and server-stored. Connection credentials are
14
+ encrypted before they are written to SQLite. Refresh responses are merged with
15
+ existing credentials so providers that omit a new refresh token do not erase
16
+ the durable token.
17
+
18
+ Connections are scoped by user, agent, provider, and account. Read-only access
19
+ is enforced when the integration tool is executed, not through prompt wording.
20
+
21
+ ## Tool execution
22
+
23
+ Integration tools join the agent tool catalog when the owning agent has a
24
+ usable connection. The integration manager resolves the connection, refreshes
25
+ credentials when required, enforces access mode, invokes the provider, and
26
+ persists updated credentials.
27
+
28
+ ## Memory ingestion
29
+
30
+ Providers that support background memory expose source collectors. The
31
+ ingestion service creates durable jobs, fetches changed source objects, stores
32
+ source documents, chunks content, and links extracted memory back to those
33
+ chunks.
34
+
35
+ Provider snapshots shown in the client are decorated with ingestion coverage
36
+ and status.
37
+
38
+ ## Messaging
39
+
40
+ Messaging providers are long-running channel adapters managed separately from
41
+ official integrations. They normalize inbound messages, enforce chat and
42
+ sender allowlists, create agent runs, send typing state, and deliver outbound
43
+ messages.
44
+
45
+ Webhook-backed channels enter through shared HTTP routes. Native adapters can
46
+ maintain sockets, polling loops, or provider-specific sessions. Personal
47
+ WhatsApp integration credentials remain separate from the WhatsApp messaging
48
+ bridge.
@@ -1,66 +1,71 @@
1
- # Integrations
1
+ # Integrations and messaging
2
2
 
3
- NeoAgent has two integration layers: official integrations for structured app tools, and messaging platforms for communicating with the agent.
3
+ NeoAgent has two connection layers with different purposes.
4
4
 
5
- ## Official Integrations
5
+ **Integrations** give the agent structured tools for an account. **Messaging
6
+ channels** let people talk to the agent and receive automation results.
7
+ Connecting Slack or WhatsApp in one layer does not automatically configure the
8
+ other.
6
9
 
7
- Structured OAuth-backed tools the agent can use in chat and automation. Connect accounts in the Flutter app under **Integrations**.
10
+ ## Official integrations
8
11
 
9
- | Provider | What the agent can do |
12
+ Connect accounts in **Integrations**.
13
+
14
+ | Provider | Available areas |
10
15
  |---|---|
11
- | **Google Workspace** | Search and send Gmail, read/create Calendar events, Drive upload/download/share, Docs create/append, Sheets read/write |
12
- | **Microsoft 365** | Outlook mail, Calendar, OneDrive, Teams messages, Graph API |
13
- | **Notion** | Search pages, read/write databases and blocks, manage comments |
14
- | **Slack** | Read and send messages, search conversations |
15
- | **Figma** | Read files and nodes, get rendered images, manage comments |
16
- | **Home Assistant** | Read entity state, call services |
17
- | **Trello** | Manage boards, lists, cards, comments, and search |
18
- | **Spotify** | Playback controls, search, queue management |
19
- | **Weather** | Current conditions and forecasts — no API key needed |
20
- | **Personal WhatsApp** | Per-account read and send with isolated access |
16
+ | Google Workspace | Gmail, Calendar, Drive, Docs, Sheets |
17
+ | Microsoft 365 | Outlook, Calendar, OneDrive, Teams |
18
+ | GitHub | Repositories, issues, pull requests, files, branches, workflows |
19
+ | Notion | Pages, databases, blocks, search |
20
+ | Slack | Conversations, history, search, messages |
21
+ | Figma | Files, nodes, rendered images, comments |
22
+ | Home Assistant | Entity state and service calls |
23
+ | Trello | Boards, lists, cards, comments, search |
24
+ | Spotify | Playback, history, search, queue |
25
+ | Weather | Location search, current conditions, forecasts |
26
+ | Personal WhatsApp | Private account chat history and send tools |
21
27
 
22
- ### Access Modes
28
+ Available operations are discovered from the current server implementation and
29
+ connected account. They may differ by provider permissions.
23
30
 
24
- Each connected account can be set to **Read/Write** (default) or **Read Only**. Read-only blocks all write operations server-side — sending, creating, updating, and deleting.
31
+ ### Read-only accounts
25
32
 
26
- ### OAuth Setup
33
+ Connected accounts can be set to **Read Only**. NeoAgent blocks their write
34
+ tools server-side. Use read-only mode unless an agent must create, send, update,
35
+ or delete data.
27
36
 
28
- Most providers require OAuth app credentials in server config before users can connect. See [Configuration: Official Integrations](configuration.md#official-integrations) for the required environment variables.
37
+ ### Setup
29
38
 
30
- Home Assistant and Trello can be configured per-user in the **Integrations** UI without any server-side setup.
39
+ Google, Microsoft, GitHub, Notion, Slack, Figma, and Spotify require OAuth
40
+ application credentials on the server. The default callback is:
31
41
 
32
- The default OAuth callback URL is `PUBLIC_URL + /api/integrations/oauth/callback`.
42
+ ```text
43
+ PUBLIC_URL/api/integrations/oauth/callback
44
+ ```
33
45
 
34
- **If an OAuth connection fails:**
35
- 1. Confirm `PUBLIC_URL` is reachable by the provider
36
- 2. Confirm the redirect URI in your OAuth app matches NeoAgent's callback URL
37
- 3. Confirm the client ID and secret are set in server config
38
- 4. Restart after changing environment variables: `neoagent restart`
46
+ Home Assistant and Trello can be configured for a user from the application.
47
+ See [Configuration](configuration.md#official-integrations).
39
48
 
40
- ## Messaging Platforms
49
+ ## Messaging channels
41
50
 
42
- Channels through which users and the agent communicate. Configure credentials in the Flutter app under **Settings Messaging** not in `.env`.
51
+ Configure messaging under **Settings > Messaging**. Supported bridges include
52
+ WhatsApp, Telegram, Discord, Slack, Google Chat, Teams, Matrix, Signal,
53
+ iMessage through BlueBubbles, IRC, Twitch, LINE, Mattermost, Telnyx Voice, and
54
+ several webhook-backed services.
43
55
 
44
- | Platform | Notes |
45
- |---|---|
46
- | **WhatsApp** | Messaging bridge for agent chat; separate official integration for structured read/send tools |
47
- | **Telegram** | Bot token plus approved chat IDs |
48
- | **Discord** | Bot token plus server or channel access |
49
- | **Slack** | Bot token sends, Events API callbacks |
50
- | **Google Chat** | Space webhook sends, app callback ingestion |
51
- | **Microsoft Teams** | Incoming webhook sends, outgoing webhook ingestion |
52
- | **Matrix** | Homeserver access token, room send, polling |
53
- | **Signal** | signal-cli REST API bridge |
54
- | **iMessage / BlueBubbles** | BlueBubbles-compatible bridge on a macOS host |
55
- | **IRC and Twitch** | IRC-style channel connections |
56
- | **LINE and Mattermost** | Native send, webhook ingestion |
57
- | **Telnyx Voice** | Inbound and outbound calls with text-to-speech |
58
- | **Webhook bridges** | Feishu, Nextcloud Talk, Nostr, Synology Chat, Tlon, Zalo, WeChat, WebChat |
59
-
60
- Inbound webhook path: `PUBLIC_URL + /api/messaging/webhook/:platform`
61
-
62
- `TELNYX_WEBHOOK_TOKEN` is the only messaging credential that goes in `.env` — all others are configured through the app messaging tab.
63
-
64
- ## Security
65
-
66
- Keep OAuth client secrets, bot tokens, and API keys on the server. Don't put them in skill files, task prompts, screenshots, or logs. Rotate immediately if a credential is exposed.
56
+ Each channel has its own authentication and allowlist behavior. Restrict which
57
+ chats, rooms, groups, and senders may start agent runs.
58
+
59
+ Webhook-based channels require a reachable `PUBLIC_URL`. The generic inbound
60
+ path is:
61
+
62
+ ```text
63
+ PUBLIC_URL/api/messaging/webhook/:platform
64
+ ```
65
+
66
+ ## Troubleshooting
67
+
68
+ For failed OAuth connections, confirm the public URL, callback, client
69
+ credentials, and provider scopes. For messaging failures, inspect **Runs** and
70
+ server logs on the NeoAgent host, then verify the channel allowlist and webhook
71
+ reachability.
@@ -0,0 +1,90 @@
1
+ # Memory architecture
2
+
3
+ NeoAgent memory separates source material, readable memories, structured
4
+ facts, and retrieval telemetry. The design keeps current facts useful while
5
+ retaining provenance and history.
6
+
7
+ ## Data model
8
+
9
+ ### Memories
10
+
11
+ `memories` stores the readable unit used for recall. Each row is scoped by user
12
+ and agent and includes category, source reference, importance, confidence,
13
+ summary, embedding metadata, archive state, and timestamps.
14
+
15
+ ### Facts and relations
16
+
17
+ `memory_facts` stores atomic subject-predicate-object facts. Facts can have
18
+ event time, validity bounds, learned time, status, and a superseded fact ID.
19
+
20
+ `memory_relations` links memories with:
21
+
22
+ - `updates` for replacement;
23
+ - `extends` for compatible additional detail; and
24
+ - `derives` for supported inference.
25
+
26
+ When a new fact conflicts with an active fact for the same subject and
27
+ predicate, the previous fact is superseded unless the new fact is an extension
28
+ or derivation. External-source conflicts with stable or high-confidence facts
29
+ can be held for review.
30
+
31
+ ### Sources and provenance
32
+
33
+ Integration ingestion stores source documents separately from memory.
34
+ Documents are split into position-aware chunks. `memory_source_links` connects
35
+ an extracted memory to its source chunk and document.
36
+
37
+ This keeps source evidence available without injecting complete documents into
38
+ every prompt.
39
+
40
+ ## Ingestion
41
+
42
+ Conversation consolidation is a structured model pass after the run. It
43
+ extracts a bounded list of durable candidates and excludes secrets, routine
44
+ tool output, unsupported guesses, and thread-only details.
45
+
46
+ Integration ingestion runs through durable jobs with source cursors and
47
+ freshness metadata. Chunk extraction attempts are tracked so failed work can be
48
+ retried without treating incomplete content as processed.
49
+
50
+ ## Retrieval
51
+
52
+ The local candidate stage combines:
53
+
54
+ - Approximate semantic candidates from embedding bands
55
+ - SQLite full-text and lexical matches
56
+ - Entity mentions
57
+ - Memory relations
58
+ - Importance, confidence, freshness, and access signals
59
+
60
+ Superseded and expired facts are excluded from normal current recall. Selected
61
+ results can include a bounded version-history note and source location.
62
+
63
+ When the top result is missing, weak, or ambiguous, the AI engine can generate
64
+ query variants and temporal intent, merge the resulting candidates, and rerank
65
+ only those candidates. Confident retrieval avoids this additional model call.
66
+
67
+ Retrieval events record candidate counts, result IDs, estimated context size,
68
+ and latency. Enhancement events record why planning was used and which results
69
+ survived.
70
+
71
+ ## Prompt context
72
+
73
+ Memory reaches the model through three bounded paths:
74
+
75
+ 1. Core memory for explicit always-relevant values
76
+ 2. An auto-maintained static and dynamic profile built from active facts
77
+ 3. Query-specific recalled memories
78
+
79
+ All paths are scoped to the selected user and agent. Subagents receive the
80
+ agent scope supplied by their parent run.
81
+
82
+ ## Privacy and trust
83
+
84
+ Memory remains in NeoAgent storage, but hosted models and embedding providers
85
+ receive the text sent to them. External source content is marked as untrusted
86
+ data in recalled context.
87
+
88
+ Memory quality claims require reproducible evaluation. The repository includes
89
+ retrieval evaluation and benchmark tooling, but the documentation does not
90
+ claim parity or superiority based on architecture alone.
package/docs/memory.md ADDED
@@ -0,0 +1,78 @@
1
+ # Memory
2
+
3
+ NeoAgent keeps useful context across conversations without treating the entire
4
+ chat transcript as permanent memory. Memory data is stored by the NeoAgent
5
+ server and scoped to a user and agent.
6
+
7
+ ## What gets remembered
8
+
9
+ After a conversation, the model can extract durable information such as:
10
+
11
+ - Identity and stable preferences
12
+ - Ongoing projects and responsibilities
13
+ - Important contacts and relationships
14
+ - Events with meaningful dates
15
+ - Current context that will matter in a later conversation
16
+
17
+ Routine tool output, credentials, guesses, and one-off task narration should
18
+ not become long-term memory. The agent can also save an explicit fact with its
19
+ memory tool when a conversation requires it.
20
+
21
+ ## Structured facts
22
+
23
+ A saved memory contains readable text plus structured facts. A fact records a
24
+ subject, relationship, value, category, confidence, and optional time bounds.
25
+ New information can:
26
+
27
+ - update and supersede an older fact;
28
+ - extend an existing fact with compatible detail; or
29
+ - record a supported inference at lower confidence.
30
+
31
+ Normal recall favors active facts and excludes superseded or expired facts.
32
+ Historical queries can still use version context when it is relevant.
33
+
34
+ ## Retrieval
35
+
36
+ NeoAgent combines several local signals:
37
+
38
+ - Semantic similarity when embeddings are configured
39
+ - SQLite full-text and lexical matching
40
+ - Entity matches
41
+ - Fact relationships and current-version status
42
+ - Importance, confidence, freshness, and prior use
43
+
44
+ Confident results use this local fast path. Ambiguous retrieval can ask the
45
+ configured model to reformulate the search and rerank known candidates. The
46
+ model does not receive unrestricted access to the database.
47
+
48
+ Stable facts and current context also form a bounded user profile that is
49
+ available to the owning agent even when a narrow search would not retrieve it.
50
+
51
+ ## Integration memory
52
+
53
+ Supported integrations can ingest source documents in the background. Source
54
+ content is chunked, indexed, and linked to extracted memories so recalled
55
+ context can retain provenance.
56
+
57
+ External source text is treated as data rather than instructions. Conflicts
58
+ with high-confidence or stable memories may require review instead of silently
59
+ replacing the existing fact.
60
+
61
+ ## Manage memory
62
+
63
+ Open **Memory** to search and inspect stored items. NeoAgent supports editing,
64
+ archiving, bulk deletion, permanent deletion, core-memory management, and
65
+ conversation search.
66
+
67
+ Deleting a conversation is not the same as deleting extracted memory. Review
68
+ both areas when removing personal information.
69
+
70
+ ## Storage and privacy
71
+
72
+ Memory is stored in NeoAgent's SQLite database and runtime data directories.
73
+ It is not sent to an external memory service. Content still leaves the server
74
+ when a hosted model or hosted embedding provider is used to process it.
75
+
76
+ Back up `~/.neoagent/data/` and `~/.neoagent/agent-data/` together. See
77
+ [Memory architecture](memory-architecture.md) for the implementation and
78
+ [Operations](operations.md) for backup guidance.
package/docs/migration.md CHANGED
@@ -6,7 +6,9 @@ sidebar_label: Migration
6
6
 
7
7
  # Migration Guide
8
8
 
9
- Migrate your existing agent setup from OpenClaw or Hermes to NeoAgent with a single command.
9
+ NeoAgent can copy supported files and selected configuration from a default
10
+ OpenClaw or Hermes installation. Run a dry run first and review imported
11
+ content before using it with an agent.
10
12
 
11
13
  ## Quick Start
12
14
 
@@ -16,12 +18,12 @@ neoagent migrate dry-run # preview what would be migrated
16
18
  neoagent migrate status # check what's detected
17
19
  ```
18
20
 
19
- ## What Gets Migrated
21
+ ## What gets migrated
20
22
 
21
23
  | Data | OpenClaw source | Hermes source | Destination |
22
24
  |---|---|---|---|
23
25
  | Skills | `~/.openclaw/skills/*.md` | `~/.hermes/skills/*.md` | `~/.neoagent/agent-data/skills/openclaw-imports/` or `hermes-imports/` |
24
- | Memory | `SOUL.md`, `MEMORY.md`, `USER.md` | `MEMORY.md`, `USER.md` | `~/.neoagent/agent-data/memory/openclaw/` or `hermes/` |
26
+ | Memory files | `SOUL.md`, `MEMORY.md`, `USER.md` | `MEMORY.md`, `USER.md` | `~/.neoagent/agent-data/memory/openclaw/` or `hermes/` |
25
27
  | API keys | from `.env` | from `.env` | merged into `~/.neoagent/.env` |
26
28
 
27
29
  ## Prerequisites
@@ -113,13 +115,18 @@ Choice [1]:
113
115
 
114
116
  `ANTHROPIC_API_KEY`, `OPENAI_API_KEY`, `XAI_API_KEY`, `GOOGLE_AI_KEY`, `MINIMAX_API_KEY`, `BRAVE_SEARCH_API_KEY`, `DEEPGRAM_API_KEY`, `TELEGRAM_BOT_TOKEN`, `OPENROUTER_API_KEY`, `ELEVENLABS_API_KEY`, `SLACK_BOT_TOKEN`, `DISCORD_BOT_TOKEN`
115
117
 
116
- ## Post-Migration Steps
118
+ Imported Markdown is preserved as source material. Copying it does not turn
119
+ every line into a verified structured memory fact. Review it for stale,
120
+ conflicting, or sensitive information.
121
+
122
+ ## Post-migration steps
117
123
 
118
124
  1. `neoagent status` — verify the installation
119
125
  2. `neoagent start` — start the server
120
126
  3. Review imported skills in `~/.neoagent/agent-data/skills/openclaw-imports/` and `hermes-imports/`
121
127
  4. Review imported memory in `~/.neoagent/agent-data/memory/`
122
- 5. Reconfigure messaging channels in the NeoAgent UI if you had Telegram or Discord set up
128
+ 5. Reconfigure messaging channels and official integrations in the NeoAgent UI
129
+ 6. Test recall with non-sensitive facts before relying on imported memory
123
130
 
124
131
  ## Troubleshooting
125
132