[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-82281":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":15,"stars7d":16,"stars30d":17,"stars90d":14,"forks30d":14,"starsTrendScore":18,"compositeScore":19,"rankGlobal":9,"rankLanguage":9,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":9,"pushedAt":9,"updatedAt":35,"readmeContent":36,"aiSummary":37,"trendingCount":14,"starSnapshotCount":14,"syncStatus":38,"lastSyncTime":39,"discoverSource":40},82281,"MineEcho","Health-Yang\u002FMineEcho","Health-Yang","Local-first Memory OS for personal AI assistants with L0-L3 memory, Wiki++ knowledge, skill routing, and TokenLess context compression.",null,"TypeScript",260,26,10,0,3,149,236,54,80.29,"Other",false,"main",true,[25,26,27,28,29,30,31,32,33,34],"ai-agent","ai-assistant","knowledge-graph","local-first","memory","openclaw","personal-ai","rag","skills","typescript","2026-06-12 04:01:37","# MineEcho\n\n**A local-first Memory OS for personal AI assistants: remember, learn, use skills, and spend fewer tokens.**\n\n[中文文档](README.zh-CN.md)\n\nMineEcho is a source-available, local-first AI assistant framework for building private, extensible assistant workflows on top of local services and user-owned knowledge.\n\nMineEcho is not meant to be just another chat UI. Its product loop is:\n\n> **Remember** user preferences and past work.  \n> **Learn** from imported knowledge through Wiki++ and graph context.  \n> **Use** skills and external AI apps through one routing surface.  \n> **Save** context cost with TokenLess reducers and local metrics.\n\nUse MineEcho when a normal chat UI is too forgetful, a RAG app is too passive, and an agent framework is too noisy to run as a long-term personal assistant.\n\n## Why MineEcho\n\n| Common product shape | Typical gap | MineEcho difference |\n|----------------------|-------------|---------------------|\n| Chat UI | No durable memory, tools and knowledge stay separate | Memory tree + knowledge base + skill routing + cost layer |\n| RAG knowledge base | Fragmented chunks, little action capability | raw\u002Fwiki storage, four-channel retrieval, AI apps as callable skills |\n| Agent tool framework | Tool output is noisy and context-heavy | TokenLess keeps key errors, counts, and actionable lines |\n| Enterprise AI app portal | Apps become silos | AI apps are converted into skills with triggers, routing, and health checks |\n\n## What Makes It Different\n\n- **Memory-first assistant loop:** MineEcho stores raw interaction memory, daily\u002Fweekly\u002Fmonthly summaries, semantic recall evidence, and memory-to-knowledge alignment instead of treating every chat as disposable.\n- **Wiki++ knowledge system:** imported sources become raw files, wiki pages, chunk indexes, graph nodes, and alignment candidates, so knowledge stays inspectable rather than becoming opaque vector chunks.\n- **Skill and AI app convergence:** external AI apps are registered as callable skills and participate in the same trigger, routing, health, and workflow surface as local skills.\n- **TokenLess cost layer:** long command logs, tool outputs, URL imports, and document extraction results are compressed by scenario-aware reducers before they enter memory or context.\n- **Local-first release posture:** runtime data, provider keys, chat history, audio, and metrics live under local MineEcho state and are excluded from the release tree.\n\nThe project is designed around four baseline ideas:\n\n- **Skill routing:** route user intent to focused capabilities instead of pushing every task through one general prompt.\n- **Memory distillation:** compact interaction history into durable working memory while keeping raw transcripts optional and local.\n- **Wiki and graph knowledge base:** organize notes, entities, and relationships into a browsable knowledge layer that can support retrieval and reasoning.\n- **Cost controls:** keep local defaults, explicit provider configuration, and bounded memory\u002Fperformance settings so experimentation does not silently become expensive.\n\n## Current Capabilities\n\n- Local console and BFF for chat, skills, memory, knowledge base, calendar\u002Fmeeting helpers, and configuration.\n- Skill center with JSON skill import, ZIP\u002F.skill package import, URL install, AI app registration, trigger refresh, and routing preview APIs.\n- AI app adapters that convert RAG\u002Fworkflow apps into Gateway-callable skills.\n- Memory-to-knowledge alignment preview, commit history, and knowledge graph refresh hooks.\n- Knowledge graph neighborhood API for explaining selected nodes and one-hop relationships.\n- TokenLess compression metrics with local persistence.\n\n## Core Highlights\n\n### Memory: runtime memory plus L0-L3 memory tree\n\nMineEcho separates memory into two complementary views:\n\n- **Working \u002F Short-term \u002F Long-term:** current session, daily interactions, cross-session profile and insights.\n- **L0 \u002F L1 \u002F L2 \u002F L3 Memory Tree:** raw memory chunks, daily summaries, weekly summaries, and monthly archives.\n\nWhen a user asks a question, MineEcho recalls recent L0 chunks with keyword, semantic, local-vector, importance, and recency scoring, then reranks the top candidates with the configured embedding provider when available. L1\u002FL2 summaries pass a local semantic gate before embedding-enhanced ranking, which reduces unrelated long-term context injection.\n\n### Wiki++ knowledge base\n\nMineEcho's knowledge base is organized as raw source files plus AI-maintained wiki pages. Query-time retrieval uses four channels:\n\n1. Vector search for semantic similarity.\n2. BM25 for Chinese\u002FEnglish keyword matching.\n3. Structured search over title, type, tags, and headings.\n4. Graph channel search over entities and one-hop neighborhoods.\n\nThis makes it closer to a high-density, maintainable AI knowledge substrate than a simple chunk-only RAG store.\n\n### Skills and AI apps as one capability layer\n\nNative skills, imported skills, and registered AI apps enter the same registry. AI apps are converted into Gateway-callable skills, triggers are derived from `name + description`, and the router scores trigger, name, description, and mode evidence before returning candidates. AI apps therefore participate in the same routing and workflow surface as local skills.\n\n### TokenLess cost controls\n\nTokenLess ships with 15 built-in reducer rules for git, npm, cargo, docker, document extraction, and generic long output. It keeps errors, counts, head\u002Ftail context, and actionable lines instead of blindly truncating output. Based on the current rule structure, long tool\u002Fdocument outputs commonly fall into an estimated 20%-85% token-saving range depending on repetition and output shape; MineEcho records raw\u002Freduced characters and estimated tokens saved locally for real workload measurement.\n\n## Quick Start\n\nThis is the full path for first-time users.\n\n### 1. Prepare your machine\n\nInstall:\n\n- Git\n- Node.js 22 or later\n- npm, usually bundled with Node.js\n\nCheck versions:\n\n```sh\ngit --version\nnode -v\nnpm -v\n```\n\nIf `node -v` is lower than 22, upgrade Node.js first.\n\n### 2. Clone the repository\n\n```sh\ngit clone https:\u002F\u002Fgithub.com\u002FHealth-Yang\u002FMineEcho.git\ncd MineEcho\n```\n\n### 3. Install dependencies\n\n```sh\nnpm run install:apps\n```\n\nThis installs dependencies for BFF, Console, and the vendored OpenClaw Gateway runtime under `vendor\u002Fopenclaw-gateway`. MineEcho ships the OpenClaw Gateway runtime source in this repository, so users do not need to install OpenClaw separately.\n\n### 4. Create local environment files\n\n```sh\ncp apps\u002Fbff\u002F.env.example apps\u002Fbff\u002F.env\n# Optional, only when you need to override Console defaults:\n# cp apps\u002Fconsole\u002F.env.example apps\u002Fconsole\u002F.env\n```\n\nMineEcho does not ship real model API keys. You can start without keys first, then configure model providers in the Console settings page.\n\n### 5. Start development services\n\n```sh\nnpm run dev\n```\n\nThe development URLs are:\n\n- Console: `http:\u002F\u002F127.0.0.1:5175\u002F`\n- BFF: `http:\u002F\u002F127.0.0.1:3085\u002F`\n\nThe checked-in Vite dev config proxies `\u002Fapi` to the local BFF.\n\nOn first launch, open the Console and complete model\u002FAPI key configuration in Settings. Keep real provider keys in local `.env` files or local Console settings, not in Git.\n\n### 6. Debug BFF or Console separately\n\nYou can start the two apps separately when debugging one side:\n\n```sh\nnpm run dev:bff\nnpm run dev:console\n```\n\n### 7. Verify and build\n\nBuild checks:\n\n```sh\nnpm run build\n```\n\nStart the built BFF package:\n\n```sh\nnpm run start:bff\n```\n\nFull verification:\n\n```sh\nnpm run verify\n```\n\nRuntime smoke check, after `npm run dev` is running:\n\n```sh\nnpm run smoke\n```\n\nDependency audit for release-blocking advisories:\n\n```sh\nnpm run audit:apps\n```\n\nExport a filtered source tree for public release:\n\n```sh\nnpm run export:release\n```\n\nThe export command writes to `releases\u002Fmineecho-source-\u003Cversion>\u002F` and checks that local runtime data, `.env` files, databases, keys, logs, and cache artifacts are not included. Publish from the export directory or a fresh clone, not from a local development tree.\n\n## Local-First Defaults\n\nMineEcho should run against loopback services by default. Secrets, provider API keys, production endpoints, and user data belong in ignored local environment files, not in source control.\n\nStart from the example environment files and copy only the settings needed for your machine:\n\n```sh\ncp apps\u002Fbff\u002F.env.example apps\u002Fbff\u002F.env\n# Optional:\n# cp apps\u002Fconsole\u002F.env.example apps\u002Fconsole\u002F.env\n```\n\nThen edit `.env` locally. Keep any real tokens or service credentials out of commits.\n\nLocal development does not force the console login screen by default. Set `VITE_MINEECHO_AUTH_REQUIRED=true` when you need to test the auth flow explicitly.\n\nThe BFF defaults to port `3085`. Override it with `BFF_PORT` only if you also update the Console proxy target.\n\nThe following runtime directories are intentionally ignored and should stay out of source control:\n\n- `.mineecho\u002F`\n- `.openclaw\u002F`\n- `apps\u002F**\u002F.mineecho\u002F`\n- `apps\u002F**\u002F.openclaw\u002F`\n- `apps\u002F**\u002Fworkspace\u002F`\n\nMineEcho reuses Gateway-related packages from the OpenClaw PI framework in parts of the backend. Those names can appear in protocol adapters, package names, and config-file compatibility code; they are implementation details, not user-facing product branding.\n\nThe repository includes `vendor\u002Fopenclaw-gateway\u002F`, a vendored copy of the OpenClaw Gateway runtime source from `openclaw@2026.5.27` under the upstream MIT license. `node_modules` are not committed; `npm run install:apps` installs the Gateway runtime's third-party dependencies locally.\n\nFor a more detailed file-by-file map, see [`docs\u002Fruntime-data.md`](docs\u002Fruntime-data.md).\n\n## Project Docs\n\n- Environment variables: [`docs\u002Fenvironment.md`](docs\u002Fenvironment.md)\n- Architecture overview: [`docs\u002Farchitecture.md`](docs\u002Farchitecture.md)\n- Product positioning and highlights: [`docs\u002Fproduct-positioning.md`](docs\u002Fproduct-positioning.md)\n- Runtime data and local secrets: [`docs\u002Fruntime-data.md`](docs\u002Fruntime-data.md)\n- Commercial use: [`COMMERCIAL.md`](COMMERCIAL.md)\n- Contribution workflow: [`CONTRIBUTING.md`](CONTRIBUTING.md)\n- Security policy: [`SECURITY.md`](SECURITY.md)\n- Release checklist: [`docs\u002Frelease-checklist.md`](docs\u002Frelease-checklist.md)\n- Changelog: [`CHANGELOG.md`](CHANGELOG.md)\n\n## Skill and AI App Routing\n\nMineEcho routes user intent to skills before pushing every request through a generic chat flow.\n\n- Imported skills and AI apps are represented in the skill registry.\n- ZIP\u002F.skill imports are safety-scanned and normalized so `SKILL.md` lands at the skill root.\n- AI apps and custom skills derive fallback triggers from `name + description`, so they remain discoverable even before a trigger index is refreshed.\n- When a user asks a question, the router scores trigger, name, description, and mode evidence, then returns the best skill candidates.\n\n## Memory and Knowledge\n\nMineEcho includes memory and knowledge-base primitives that are intended to evolve into a long-running personal or team assistant:\n\n- Interaction memory and user profile data can be summarized into durable memory layers.\n- Imported knowledge can be organized into wiki files and graph nodes.\n- Memory-to-knowledge alignment can preview candidate links, commit reviewed links, and store per-user alignment history.\n\nThe current implementation is intentionally review-first. Fully autonomous background consolidation is still on the roadmap.\n\n## OpenClaw Gateway Compatibility\n\nMineEcho is developed on top of capabilities from the OpenClaw PI framework, with additional product layers for memory, Wiki++ knowledge, AI-app-to-skill conversion, TokenLess, and the local Console.\n\nThe current PI-framework integration still uses Gateway-related packages at runtime for skill execution, tool calls, and protocol bridging. Source files may therefore still contain OpenClaw protocol names, Gateway package names, config file names, or adapter comments.\n\nThe intended boundary is:\n\n- **MineEcho:** product UI, BFF orchestration, memory, knowledge, skill registry, routing, and local-first runtime defaults.\n- **PI\u002FGateway compatibility layer:** Gateway-related packages and protocol capabilities from the OpenClaw PI framework, reused for skill execution and tool interoperability.\n\nAvoid renaming OpenClaw\u002FGateway protocol or config paths blindly; doing so can break lower-level compatibility.\n\n## Repository Layout\n\n- `apps\u002Fbff\u002F` - backend-for-frontend service configuration and runtime package.\n- `apps\u002Fconsole\u002F` - console application package.\n- `docs\u002F` - project notes and documentation.\n- `vendor\u002Fopenclaw-gateway\u002F` - vendored OpenClaw Gateway runtime source and built runtime files.\n\n## Roadmap\n\n- Memory consolidation jobs that summarize old interactions into knowledge candidates.\n- Knowledge graph entity normalization, alias merging, and node-level change history.\n- Skill health checks: trigger preview, script presence, route test, connectivity, and risk report.\n- TokenLess budget agent for task-aware model\u002Fcontext routing.\n- Runtime data consolidation through a single config-home abstraction.\n- End-to-end integration tests for AI app import, skill package import, chat routing, and knowledge alignment.\n\n## License\n\nMineEcho is source-available under the PolyForm Noncommercial License 1.0.0. Noncommercial use is allowed under [`LICENSE`](LICENSE). Commercial use requires a separate written license; see [`COMMERCIAL.md`](COMMERCIAL.md).\n\nBecause this license restricts commercial use, MineEcho is not distributed under an OSI-approved open source license.\n","MineEcho 是一个面向个人AI助手的本地优先记忆操作系统，支持L0-L3级别的记忆、Wiki++知识系统、技能路由和无Token上下文压缩。其核心功能包括持久化的用户偏好与历史工作记忆存储、通过Wiki++和图谱上下文学习导入的知识、统一界面调用技能及外部AI应用以及利用无Token压缩器减少上下文成本。适用于需要长期记忆能力、主动学习能力和高效技能调度的场景，如当普通聊天界面过于健忘、RAG应用程序过于被动或代理框架运行时噪音过大时。MineEcho旨在为用户提供更加个性化且可扩展的AI助手体验。",2,"2026-06-11 04:08:14","CREATED_QUERY"]