Skip to content

Latest commit

 

History

70 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nori Code / Nori Work

Multi-agent coding workspace — decompose, distribute, verify, remember.

Nori orchestrates multiple AI agents to plan, implement, review, and persist knowledge across sessions. Not another chat-over-code tool — a multi-agent engineering workspace.

中文说明

Nori Work conversation workspace

Nori Work browser workspace

Note

v2.0 adds team engineering: a department tree of durable partner sessions, Discuss/Assign before Code, and a conversation map (/map in the TUI, Map in Nori Work) linked by parent_session_id. Identity is injected via <session_self> and mount-change notices — not transcript copying.

Note

v1.0.0 was the first stable Nori Code and Nori Work release. Existing Nori Work installations are fully replaced during upgrade while user data is preserved.

What's included in v1.0.0

  • Browser page actions no longer wait for the 90-second bridge timeout when no page is open; the Agent immediately receives an instruction to navigate first.
  • Browser tools remain registered while the desktop bridge reconnects, and independent heartbeats prevent long-running actions from making the bridge appear offline.
  • Local .html and .htm files open in the embedded browser without granting arbitrary file:// access.
  • Desktop packaging rejects stale Web/SEA artifacts, and startup recovers from stale or incompatible local-server locks instead of silently connecting to an old backend.
  • Regular Agent and SubAgent work is visible by project and session with nested ownership, output, correct completion counts, and completed/failed states.
  • Opening Chat reliably returns to the conversation view and session list.
  • The vault no longer creates empty legacy plural folders; Related links use Obsidian-compatible paths and include both outgoing links and backlinks.
  • Built-in LSP discovery covers common language servers instead of reporting "No language server is configured" when a supported server is available.

Products

Nori Code Nori Work
What Terminal CLI/TUI for focused coding sessions Electron desktop workbench
Who for Terminal-first power users Full workspace with browser, terminal, Git, filesystem
Interface Ink-based TUI with split panes Multi-panel Electron desktop
Start nori Standalone installer (see releases)

Why Nori

Most AI coding tools are single-agent chat shells: one model, one context, one turn at a time. Nori is built differently:

  • Parallel, not serial. Complex tasks decompose into DAG-shaped agent workflows — plan → implement → verify → review — running in parallel with dependency scheduling.
  • Memory, not amnesia. Architecture decisions, code reviews, and patterns persist in a bidirectional-link vault. What you learned last month is available next session.
  • Policy, not guesswork. nori.yaml enforces deterministic rules: search memory before coding, run tests before exit, review before merge. AI flexibility backed by project discipline.
  • Desktop, not a web tab. Nori Work is an Electron native workspace — a proper local workbench.

Key Features

🧠 Multi-Agent DAG Orchestration

SubAgent splits a task into parallel sub-agents with explicit dependency chaining. A multi-file refactor dispatches { plan, implement-1, implement-2, verify, review } concurrently — no manual turn-by-turn handholding.

👥 Team engineering (2.0)

TeamCreate hires durable partners as mounted child sessions on the conversation map. Discuss (TeamDecide / TeamSpeak) gathers statements before TeamAssign enters Code; the main Agent stays read-only while members execute. /team opens partner sessions; /map manages mounts. TeamDismiss removes partners and deletes their sessions. Web Map mirrors the same forest with pan/zoom and local annotations.

📚 Persistent Project Memory

Every decision, review, and pattern lands in an Obsidian-compatible vault with [[wiki-links]]. The planner searches it automatically before each implementation phase. Cross-session knowledge means Nori gets smarter about your project over time.

⚙️ Policy-as-Code (nori.yaml)

Codify project rules that the agent loop enforces automatically:

rules:
  - name: search_before_code
    condition: { on_phase: implement, stage: enter }
    prompt: "Search vault for prior decisions and patterns."
    enforced: true

Orchestrator, coder, and reviewer can each use a different model/provider.

🔌 Provider Flexibility

Bring any OpenAI-compatible provider — local (Ollama, LM Studio) or cloud. Each agent role (orchestrator / coder / reviewer) can run its own model.

🖥️ Nori Work Engineering Workspace

Nori Work keeps the conversation, project files, live code changes, Git operations, LSP results, a persistent PTY terminal, and a multi-tab embedded browser in one resizable desktop layout. Inspector tools can be reordered or opened in standalone windows. Custom Agent roles define their own instructions and explicit read, write, terminal, web, and delegation permissions.

Agent and SubAgent work always runs in the background. The main model can inspect, pause, guide, resume, or stop a SubAgent while the collaboration view shows its project/session tree, status, output, and token usage.

🌐 Agent-Controlled Browser

The embedded browser is available to the main Agent through a structured Browser tool: navigate, snapshot stable element references, click, type, upload files, capture screenshots, inspect console/network activity, and work with page annotations. It supports web URLs and local .html/.htm files while blocking privileged URLs and arbitrary local files. User takeover can pause automation at any time, and actions fail immediately with actionable feedback when no page is open.

🔗 Obsidian-Compatible Knowledge

Memory notes use vault-relative [[folder/note|Title]] links. Nori Work renders outgoing links, backlinks, and the movable knowledge graph while retaining compatibility with legacy vault layouts and Obsidian.


Roadmap

Priority Feature Status
P0 Built-in LSP — diagnostics, hover, definitions, references, symbols, rename, and formatting ✅ Implemented
P0 Custom Agent Profiles — user-defined roles, prompts, base profiles, and tool permissions ✅ Implemented
P0 Nori Work — Embedded Terminal (persistent node-pty sessions) ✅ Implemented
P0 Nori Work — Embedded Browser (isolated WebContentsView tabs for research and preview) ✅ Implemented
P0 Nori Work — Filesystem Sandbox (whitelist + blocklist) 📝 Planned
P0 Nori Work — System Tray / Notifications ✅ Implemented
P0 Nori Work — Secure Preload Bridge ✅ Implemented
P1 Agent Browser Tool — navigation, snapshots, interaction, uploads, diagnostics, and annotations ✅ Implemented
P0 Team engineering — department tree, Discuss/Assign, conversation map, /team / /map ✅ Implemented

Quick Start

npm install -g nori-code

# Interactive TUI
nori

# One-shot prompt
nori -p "your task"

# Start the local web workspace
nori web

Nori Work is available as a standalone desktop installer. Download the stable v1.0.0 release, or browse all builds on Releases.

From source

git clone https://github.com/wangyuahn/nori-code.git
cd nori-code
corepack enable
pnpm install

pnpm dev:cli       # Terminal TUI
pnpm dev:web       # Web UI
pnpm dev:desktop   # Desktop workbench

Packages

Package Role
apps/nori-code CLI/TUI entry point
apps/nori-web Web UI (loaded by desktop)
apps/nori-desktop Electron desktop workbench
packages/agent-core Agent, session, Team/SubAgent, tool, workflow engine
packages/server REST/WebSocket server
packages/kosong Model/provider abstraction
packages/kaos File, process, environment abstractions
packages/node-sdk Public TypeScript SDK
packages/oauth Authentication and provider registry

Development

pnpm typecheck
pnpm lint
pnpm test
pnpm build
pnpm check:brand    # Verify no stray Kimi branding

Run focused checks per affected package first; expand to root-level checks before commit.


License

MIT. Based on Kimi Code CLI (MIT), from which Nori forked and grew its own architecture: multi-agent DAG orchestration, persistent memory, desktop environment, policy engine, and independent branding. Required upstream compatibility is maintained where shared protocol surfaces apply.

About

A coding assistant built on persistent multi-agent teams: durable members that discuss, chat, and re-sync continuously — Discuss -> Code in parallel -> Sync -> Verify together.

Topics

Resources

Contributing

Security policy

Stars

18 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages