Skip to content

Releases: RexHuang/novus

v1.2.2-dev (internal eval build)

Pre-release

Choose a tag to compare

@RexHuang RexHuang released this 27 Sep 21:19

Internal build for Harbor/terminal-bench adapter. Adds one-shot --output-format json (reply+usage+cost) and --no-identity eval mode.

v1.1.1 — Security patch: multi-tenant row-level isolation

Choose a tag to compare

@RexHuang RexHuang released this 15 Sep 03:34

Fixes the tenant-isolation issue reported in #1.

Fixed

  • Security: in --auth-file multi-tenant serve mode, knowledge / experience / knowledge-graph entries stored in one tenant context could be recalled from another (#1). Every entry now carries a row-level tenant ownership tag; all read paths (recall, contextual memory, meta-memory, stats, graph traversal) filter by the effective tenant scope. Entries written by the agent itself (CLI / single-user serve) remain unowned and invisible to tenants — strict isolation by default.
  • Destructive operations (prune / clear / compress / graph build·link·clear) are scoped or refused in tenant context — a tenant cannot delete or rebuild what it cannot see.
  • CLI and single-user serve behavior unchanged.

Added

  • Regression test suite for tenant isolation: src/tenant-isolation.test.ts
  • Vitest global setup (test/setup.ts) isolating the knowledge store into a temp dir during tests

Credits

  • Thanks @CaiHB2000 for the responsible disclosure.

Full Changelog: v1.1.0...v1.1.1

novus v1.1.0 — First public release

Choose a tag to compare

@RexHuang RexHuang released this 07 Sep 14:26

The essence of a self-evolving AI agent in ~15K lines of TypeScript.

Before this release: Novus ran as an internal system for one month of intense daily use (140+ sessions), maintaining a 3-node deployment (phone ↔ cloud VM ↔ overseas VPS), shipping daily news digests, and self-healing its own infrastructure. v1.1.0 is that same core, cleaned and open-sourced.

Core

  • Agent loop on pi-agent-core: tool calling, streaming, multi-turn sessions
  • CLI: interactive chat, one-shot mode, session management, --serve HTTP API + Web UI
  • Dual-track env vars: NOVUS_* with automatic ANTHROPIC_* (Claude Code) fallback — works with any Anthropic-protocol endpoint (DeepSeek, GLM, Kimi, gateways)

Memory

  • Three-layer persistent memory: knowledge base, episodic experience, project memory
  • Knowledge graph linking + MCP server exposing memory to other agents

Evolution

  • Evolution tracker: logs capability changes across sessions
  • Behavior guard: monitors the agent's own tool-call patterns (over-calling, repetition) and injects corrective rules

Tools (16 built-in, dynamic registry)

read/write/edit/bash/grep/find, connect (web senses), codebase-map, github, plan, execution-tracker, auto-manage (autonomous scheduled tasks), session-context, session-worklog, knowledge-graph, evolve-track, runtests, and more — drop a .ts file to add your own

Platform

  • Termux/Android native: storage mirroring, wake locks — designed to run on a phone
  • 109 tests, zero mandatory heavy dependencies (browser fetching is optional)

Install

git clone https://github.com/RexHuang/novus.git && cd novus
npm install && npm run build
npm link   # gives you the `novus` command

Requires Node.js 20+ and any Anthropic-protocol API endpoint. Termux/Android step-by-step: MOBILE.md.


Apache 2.0. Agent loop built on pi-agent-core by Mario Zechner.