[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-95116":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":9,"totalLinesOfCode":9,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":9,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":17,"compositeScore":18,"rankGlobal":9,"rankLanguage":9,"license":9,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":19,"hasPages":19,"topics":9,"createdAt":9,"pushedAt":9,"updatedAt":21,"readmeContent":22,"aiSummary":23,"trendingCount":16,"starSnapshotCount":16,"syncStatus":24,"lastSyncTime":25,"discoverSource":26},95116,"maka","apache\u002Fmaka","apache","Apache Maka (Incubating) is a local-first AI agent workspace. Model messages, tool calls, tool results, permission decisions, and termination events are recorded as an append-only log.",null,"https:\u002F\u002Fgithub.com\u002Fapache\u002Fmaka","TypeScript",1865,227,6,141,0,100,82.07,false,"main","2026-08-24 04:01:23","# Maka\n\n[![CI](https:\u002F\u002Fgithub.com\u002Fapache\u002Fmaka\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fapache\u002Fmaka\u002Factions\u002Fworkflows\u002Fci.yml)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache_2.0-blue.svg)](.\u002FLICENSE)\n[![docs](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocs-%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87-blue?logo=googletranslate&logoColor=white)](.\u002FREADME.zh-CN.md)\n\n![Maka — Your work. Your agent.](.\u002F.github\u002Fassets\u002Fmaka-hero.en.png)\n\n**A local-first Agent workspace built for real work.**\n\nMaka does more than answer questions. With controlled permissions, it can inspect projects, execute tools, produce artifacts, and preserve model messages and tool calls as recoverable execution facts. Desktop, the terminal TUI, the non-interactive CLI, and Maka evaluation subjects all execute through Runtime Host.\n\n> [!IMPORTANT]\n> Maka is under active development. The macOS Apple Silicon desktop build is an early public release; data formats, CLI commands, and experimental capabilities may still change.\n\n## Why Maka\n\n- **Local-first instead of hosted-first**: sessions, settings, and run records stay on your machine by default. You choose the model connection: cloud API, local model, or compatible gateway.\n- **Log is the Runtime**: model messages, Tool Calls, Tool Results, and termination facts enter Runtime Event Log. Sessions, UI, model context, and recovery are projections over that log.\n- **Context is not history**: Tool Result pruning and LLM Compaction change what the next inference sees without treating recorded evidence as disposable context.\n- **One execution authority**: Runtime Host owns Session, Turn, agent lifecycle, continuation, tools, and events. Eval owns only experiment semantics and results.\n\nRead [Maka Backend Architecture](.\u002FARCHITECTURE.md) for the complete design.\n\n## Surfaces\n\n| Entry point | Best for | Current capability |\n|---|---|---|\n| **Desktop** | Daily interaction, file and Artifact workflows, model and permission setup | Electron + React with streaming sessions, tool timelines, branching, search, and recovery |\n| **TUI \u002F CLI** | Using Maka in the current project directory or running one non-interactive Turn | `maka`, `maka run`; shares workspace and model connections with Desktop |\n| **Eval** | Reproducible benchmark experiments across Maka and external subjects | `maka eval run \u003Cspec> --out \u003Cdirectory>` |\n\n## Current capabilities\n\n### Agent Runtime\n\n- Multiple model connections, streaming output, thinking, usage accounting, and provider-error normalization;\n- Local tools including `Read`, `Write`, `Edit`, `Bash`, `Glob`, and `Grep`;\n- Tool schema validation, dynamic availability, permission policy, watchdogs, abort, and error classification;\n- Runtime Event Log, AgentRun ledger, startup recovery, Turn Evidence, active Tool Result pruning, and history compaction.\n\n### Desktop workspace\n\n- Create, archive, search, rename, retry, regenerate, and branch sessions from a Turn;\n- Artifact lists and previews, workspace instructions, model settings, and permission settings;\n- Local memory, web search, and bot entry points;\n- Integrations are configured independently, and not every experimental entry is available by default.\n\n### Evaluation\n\n- Declarative multi-arm experiments expanded into task × repetition × subject cells;\n- Immutable per-cell attempts with targeted infrastructure replacement and earliest-valid selection;\n- A small result kernel for score, normalized usage, attributable cost, duration, status, failure reason, and artifacts;\n- Maka subjects execute only through Runtime Host; external competitors use generic external subject adapters.\n\n## Quick start\n\n### Download Desktop for macOS\n\nThe signed and notarized Desktop app is available from [GitHub Releases](https:\u002F\u002Fgithub.com\u002Fapache\u002Fmaka\u002Freleases\u002Flatest) for Apple Silicon Macs only (`arm64`).\n\n1. Download `Maka-\u003Cversion>-mac-arm64.dmg`;\n2. Open the DMG and drag Maka to Applications;\n3. Install `ripgrep` with `brew install ripgrep` to enable Runtime's `Grep` tool;\n4. Launch Maka and configure your own model connection under `Settings → Models`.\n\nComputer Use is not included in this first public build. Intel Macs, Windows, and Linux packages are not supported yet.\n\n### Windows x64 preview\n\nWindows is still an unsigned preview, not a supported release tier. When a release includes Windows\nassets, follow the [Windows preview installation and verification guide](docs\u002Fwindows-support.md#install-the-windows-x64-preview)\nbefore running `Maka-\u003Cversion>-win-x64.exe`. SmartScreen will identify the installer as coming from\nan unknown publisher; do not bypass that warning unless the downloaded SHA-256 matches the checksum\npublished with the same release.\n\n### Requirements\n\n- Node.js 22.19 or newer (CI uses Node.js 24);\n- npm (the lockfile and scripts use npm; the current `packageManager` is npm 11);\n- Git;\n- `ripgrep`, used by Runtime's `Grep` tool.\n\n### Start Desktop\n\n```sh\ngit clone https:\u002F\u002Fgithub.com\u002Fapache\u002Fmaka.git\ncd maka\nnpm ci\nnpm run dev\n```\n\n`npm run dev` starts the Desktop development environment with HMR. To build every workspace before starting Electron, use:\n\n```sh\nnpm run dev:full\n```\n\nIf dependencies were installed with `ELECTRON_SKIP_BINARY_DOWNLOAD=1`, install the Electron platform binary before starting:\n\n```sh\nnode node_modules\u002Felectron\u002Finstall.js\n```\n\n### First run\n\nMaka does not bundle a shared model account. On first launch:\n\n1. Open `Settings → Models`;\n2. Add an API, local-model, or supported account connection;\n3. Test it and choose a default model;\n4. Return to the workspace and start a task.\n\nThe app distinguishes configured, send-ready, and experimental connection states. An account flow that is not wired into Runtime is not presented as a usable model.\n\n## Terminal entry points\n\nFor the public npm package, see the [CLI installation and usage guide](.\u002Fpackages\u002Fcli\u002FREADME.md).\nThe commands below run the development CLI from a source checkout.\n\nBuild the workspaces first:\n\n```sh\nnpm run build\n```\n\nThen start the TUI or run one Turn:\n\n```sh\nnpm run cli:dev\nnpm run cli:dev -- run \"Summarize this repository and identify its most important risk\"\nnpm run cli:dev -- run --graph \"Implement two independent slices, integrate them, then review the result\"\nnpm run cli:dev -- --help\n```\n\nThe TUI also accepts `\u002Fgraph on`, `\u002Fgraph off`, and `\u002Fgraph \u003Ctask>`. Non-interactive\n`--graph` runs wait for the durable Graph to finish before printing the final\nsupervisor output. Graph implementation operators use isolated Git worktrees, so\nthe source project must be a clean Git worktree.\n\nThe repository CLI uses the same `Maka Dev` profile as a development Desktop build. The\nreleased `maka` binary continues to use the `Maka` profile; the two profiles are not copied or\nsynchronized automatically. Evaluation specs and adapters live in [`packages\u002Feval`](.\u002Fpackages\u002Feval).\n\n## Architecture\n\nThe backend spine is:\n\n```text\nDesktop \u002F TUI \u002F CLI → Runtime Host → SessionManager → AgentRun\n                                             ↓\n                         Model + Tool Runtime → Runtime Event Log\n                                             ↓\n                              Context \u002F Session \u002F UI projections\n\nExperiment → Cells → Attempts → Results\n                    ↓\n       Runtime Host executes Maka subjects\n```\n\nStart with [ARCHITECTURE.md](.\u002FARCHITECTURE.md). It provides the system map, code boundaries, problem-oriented reading paths, and six bilingual deep dives.\n\n## Repository layout\n\n```text\napps\u002Fdesktop\u002F       Electron main \u002F preload \u002F React renderer\n\npackages\u002Fcore\u002F      Pure contracts for Sessions, Events, Permissions, and Connections\npackages\u002Fstorage\u002F   SQLite operational state, configuration, and payload stores\npackages\u002Fruntime\u002F   AgentRun, model adapters, tools, context, and recovery\npackages\u002Feval\u002F      Experiment cells, attempts, results, and executor\u002Fsubject adapters\npackages\u002Fcli\u002F       TUI and non-interactive CLI\npackages\u002Fui\u002F        Shared conversation, Markdown, Artifact, and UI primitives\n\ndocs\u002F               Architecture, product, security, privacy, and test contracts\nscripts\u002F            Build hygiene, visual checks, smoke tests, and release helpers\n```\n\n## Local data and security boundary\n\nMaka stores workspace data under Electron `userData` by default:\n\n```text\n\u003CElectron userData>\u002Fworkspaces\u002Fdefault\u002F\n  runtime.sqlite\n  connection-catalog.json\n  credential-vault.json\n  settings.json\n  artifacts\u002F\n```\n\nCurrent boundaries that matter:\n\n- The current connection catalog is `connection-catalog.json`. Existing `llm-connections.json` files stay on disk and are not imported;\n- Sessions, messages, execution ledgers, workflows, usage, Automations, and Daily Review live in `runtime.sqlite`;\n- Runtime Policy credentials, including Connection API\u002FOAuth material, request headers, web-search keys, and proxy passwords, live in local plaintext `credential-vault.json`, behind the OS account boundary, with POSIX directory mode `0700` and file mode `0600` enforced;\n- Runtime Host client profile access credentials are separate and live under `\u003CElectron userData>\u002Fruntime-host-client\u002Fcredentials.json`. Pre-existing Electron `safeStorage` credential\u002Ftoken files are not imported; affected users must re-authenticate;\n- Renderer does not receive plaintext credentials. File writes, Shell, and dangerous tool calls pass through the permission engine;\n- Eval does not construct Runtime or read Runtime storage. Maka subjects connect to an existing Runtime Host.\n\nRead [SECURITY.md](.\u002FSECURITY.md) for security reporting and policy, and [docs\u002FREADME.md](.\u002Fdocs\u002FREADME.md) for current privacy and sandbox contracts.\n\n## Runtime storage and recovery\n\n`runtime.sqlite` is the sole operational authority. It owns RuntimeEvents,\nsession metadata and message history, Agent Graph control, core execution state,\nworkflow state, usage and pricing, Artifact metadata, Automations, Daily Review,\nand Runtime continuation records. Artifact payload bytes remain regular files under\n`artifacts\u002F`; connections, credentials, settings, MCP configuration, skills,\nand device identity remain configuration files.\n\nThis storage generation does not import earlier File\u002FJSONL authorities. On\nupgrade, legacy session titles may still be discoverable through current\nmetadata, but conversation history that exists only in legacy transcript files\nis not copied into `session_messages` and opens as an empty thread. Likewise,\npre-version or `safeStorage`-encrypted credential\u002Ftoken files are not migrated;\nusers with only those copies must re-authenticate. This data-loss boundary is\nintentional for this release and must be considered before upgrading an\nexisting workspace.\n\nFull operational backup uses the database owner's online SQLite backup API and\ncopies canonical Artifact payloads under the Artifact writer lock. Its manifest\nbinds every file by size and SHA-256. Validation checks the standalone SQLite\nsnapshot's integrity, foreign keys, schema registry and required tables,\ndecodes canonical session-message and Artifact records, and verifies Artifact\npayload sizes against SQLite metadata before restore. Backup and restore use\nowner-only file modes, file and directory synchronization, staging, and atomic\npublication.\n\nRuntime continuation remains opt-in:\n\n- `MAKA_RUNTIME_SAFE_BOUNDARY_RESUME=1` enables the Desktop interrupted-turn\n  **Safe resume** action, CLI\u002FTUI `\u002Fresume`, and Desktop startup auto-resume.\n  These paths may call the configured model provider and consume tokens. Enable\n  the flag only when that behavior is explicitly desired.\n\nPhase 2 provides the durable write-side boundary and fail-closed safe-boundary\ncontinuation. Phase 3 reconciliation for indeterminate tool side effects is not\nimplemented yet; ambiguous tool outcomes remain parked rather than retried.\n\n## Development and verification\n\nBefore sending a change, read [CONTRIBUTING.md](.\u002FCONTRIBUTING.md).\n\nCommon repository-level commands:\n\n```sh\nnpm run build\nnpm run typecheck\nnpm test\nnpm run check:release\n```\n\nRun one workspace in isolation:\n\n```sh\nnpm --workspace @maka\u002Fruntime test\nnpm --workspace @maka\u002Feval test\nnpm --workspace @maka\u002Fdesktop test\n```\n\nUse the following commands to update `packages\u002Fcore\u002Fsrc\u002Fmodel-metadata.generated.ts` from models.dev and run the focused tests. Keep access-path-specific overrides in `model-metadata.ts`; do not edit the generated file by hand.\n\n```sh\nnpm run sync:model-metadata\nnpm --workspace @maka\u002Fcore test\n```\n\nDesktop real-window and visual verification:\n\n```sh\nnpm --workspace @maka\u002Fdesktop run e2e\nnpm --workspace @maka\u002Fdesktop run smoke:real-window\n```\n\nBefore submitting code, run typecheck, build, and focused tests proportionate to the change, followed by `git diff --check`.\n\n## Documentation\n\n- [Documentation index and authority map](.\u002Fdocs\u002FREADME.md)\n- [Backend architecture](.\u002FARCHITECTURE.md)\n- [Product design](.\u002FDESIGN.md)\n- [Contributing guide](.\u002FCONTRIBUTING.md)\n- [Security policy](.\u002FSECURITY.md)\n\n## License\n\nMaka is licensed under the [Apache License 2.0](.\u002FLICENSE). See\n[NOTICE](.\u002FNOTICE) for attribution information. Third-party components remain\nsubject to their respective licenses and notices.\n","Apache Maka 是一个本地优先的 AI 智能体工作区，专注于可追溯、可恢复的智能体执行过程管理。其核心特点是将模型消息、工具调用、工具结果、权限决策和终止事件以追加只写日志（append-only log）形式持久化，所有运行时状态均基于该日志投影生成；支持多模型连接（云API\u002F本地模型\u002F网关）、内置文件与系统工具（Read\u002FWrite\u002FEdit\u002FBash等）、细粒度权限控制及上下文压缩机制。适用于开发者本地调试AI智能体、构建可审计的自动化工作流、以及进行可控的智能体行为评估与复现实验。",2,"2026-08-21 02:30:13","trending"]