← Back to home@Ck-epsilon

Aura

Aura — small, focused tools for agents and people. Monorepo for AuraArgus and AuraCardea.

Stars
0
Language
JavaScript
Created
Oct 21, 2026
Updated
Oct 25, 2026

Introduction

Aura

aura-argus on npm aura-cardea on npm aura-basetools on npm license: MIT node: >=20

中文

Aura is a monorepo for independently installable tools. It is a distribution and maintenance boundary, not a shared runtime: each package has its own manifest, version, tests, and release cadence.

The shared constraints are deliberate:

  • Local-first. No mandatory cloud account; data stays on the machine unless a tool explicitly retrieves a source.
  • Keyless where possible. AuraArgus, AuraCardea, and AuraBasetools require no API key.
  • Agent-callable. CLI, HTTP, MCP, and library surfaces are provided where they make sense.
  • MIT. The code is readable, modifiable, and self-hostable.

Projects

AuraArgus — source-routed retrieval

AuraArgus routes a technical question to a registered official source, retrieves the page, extracts relevant passages, and returns an evidence bundle with URLs and scores. It also converts a URL into clean Markdown.

  • 18 entities / 34 official sources currently registered.
  • No API key, no per-call billing, zero runtime dependencies.
  • Node.js ≥ 20; Windows, macOS, and Linux.
  • CLI, HTTP, MCP stdio, and Node library surfaces.
  • npm: aura-argus
  • Source: aura-argus/

Actual AuraArgus CLI output

Actual output from v0.1.2, trimmed for display. The command and the retrieved passage are unmodified.

npm i -g aura-argus
aura-argus search "SearXNG 对 429 的冷却时间是多少秒?" --json
aura-argus fetch https://docs.searxng.org/dev/search_api.html --max-chars 4000

MCP client configuration:

{
  "mcpServers": {
    "aura-argus": {
      "command": "npx",
      "args": ["-y", "aura-argus", "mcp"]
    }
  }
}

Scope. AuraArgus is a registry-bound retrieval layer, not a general-purpose search engine. Unregistered entities return no evidence by default. Web fallback is opt-in and can be blocked by anti-bot pages. It does not log in, bypass CAPTCHAs, or generate an answer; the caller's model writes the answer from the returned passages.

AuraCardea — DSH chat fold

AuraCardea is a web client plugin for DeepSeek Harness. It replaces the conversation.chat.node turn-process renderer and folds the intermediate rows of a turn — tool calls, reasoning, context injections, retries — into one row per kind. Category rows show success/failure counts and total duration; expanding a category reveals individual calls, parameters, output, exit codes, and image thumbnails.

  • DSH 0.2.x web profile; Node.js ≥ 20.
  • npm: aura-cardea
  • Source: aura-cardea/
  • Package shape: dsh.bundle with cordis.patch.yml, plus dsh.client for the browser half.
dsh plugin --profile web add aura-cardea

Then add the mount row to ~/.dsh/profiles/web/cordis.patch.yml:

- insert:
    - id: client-aura-cardea
      name: 'aura-cardea'

Restart dsh web. When the package is installed as a bundle through a configured plugin market, the bundle patch performs the mount automatically.

Scope. AuraCardea is DSH-specific. It does not add retrieval tools, alter model output, or provide a portable chat UI. It depends on DSH's chat DOM contracts, which can change between DSH versions; tools/check-kinds.mjs is included to detect new node kinds.

AuraCardea in DSH: intermediate tool calls folded by kind

AuraCardea running in DSH 0.2.x from the published npm package. One turn's tool calls, reasoning, edits, and reads are folded by kind; each category row carries counts, failure markers, and duration.

AuraBasetools — byte-fidelity file tools for agents

AuraBasetools is a read / edit / write engine for coding agents that keeps bytes intact. Reads are intent-shaped — map, digest, around, lines, search, changed, plus a metadata-only probe — so a call returns the part that matters instead of the whole file. Edits address content (old), symbols (target), byte ranges (handle), or lines; stale regions are refused, and the file is read back to verify what landed.

  • Encodings: UTF-8 (with or without BOM), UTF-16LE/BE, GB18030/GBK (including the 4-byte supplementary range), Shift_JIS, EUC-KR, Big5, Windows-1252. Writes go back in the file's own encoding and bytes outside the edit are preserved; ambiguous or non-reversible encodings are refused instead of guessed.
  • Structure: 65 code extensions, plus documents and configs (.md with ATX and setext headings, .json/.jsonc/.json5 key paths, .yaml, .toml).
  • Zero runtime dependencies; Node.js ≥ 20; Windows, macOS, and Linux.
  • CLI and MCP stdio; aura-basetools-dsh adds the DeepSeek Harness shell (aura_basetools_* tools).
  • npm: aura-basetools, aura-basetools-dsh
  • Source: aura-basetools/
npx -y --package aura-basetools aura basetools mcp   # MCP server, zero install
npm i -g aura-basetools                              # CLI
dsh plugin --profile web add aura-basetools-dsh      # DSH plugin

Scope. AuraBasetools is a file layer, not a search engine or an agent: it does not decide what to edit, generate patches, or index a repository. On the DSH surface it sees host-decoded text only, so non-UTF-8 files are handled through the CLI or MCP. The strongest guarantee it makes is byte-level: if a file cannot be reproduced byte-for-byte, the write is refused.


Verification

Last verified: 2026-10-22. Network-dependent checks are not part of CI. The evaluation is a fixed internal regression set, not a public benchmark.

PackageCheckResult
AuraArgus 0.1.2npm test51 / 51
node eval/run.mjs31 questions; 141 / 141 hard checks
node eval/verify.mjs34 / 34 registered sources reachable
Public npm install (npm i -g aura-argus@0.1.2)4 tools; initialize and tools/list verified; CLI version and search verified
AuraCardea 1.1.0node tools/check-kinds.mjs19 / 19 discovered kinds have a rule
npm pack7 files; 23.7 kB packed
Host import, client syntax, npm installverified
Public profile install (dsh plugin ... aura-cardea@1.1.0)package resolves as aura-cardea; bundle metadata present
DSH UI after restartpublic bundle loaded; folded view verified (screenshot above)
DSH MCP + web provider after restartMCP search returned registry evidence; web_search returned the same official source

AuraBasetools 0.21.0 (verified 2026-10-25): node build/release-check.mjs exited 0 (full suite; encoding 34, doc-map 45, probe 21 among the assertions), and node build/post-publish-check.mjs --registry --version 0.21.0 passed 24 / 24 with the published files byte-identical to the local dist.

Two AuraArgus soft checks are intentionally disabled because web fallback is opt-in; they are reported separately from the hard suite and are not counted as passes.

The public packages were installed from the npm registry on 2026-10-22 and dsh web was restarted. The screenshot above is from that run. The DSH MCP search call returned registry evidence, and the DSH web provider returned the same official source. AuraCardea's UI is still manually inspected; no automated browser test is included.

Reproduction:

cd aura-argus
npm test
node eval/run.mjs
node eval/verify.mjs

cd ../aura-cardea
npm pack
node tools/check-kinds.mjs <dsh-node-modules>/@deepseek-ai

How it compares

AuraArgus: scope comparison, not a benchmark

DimensionAuraArgusGeneral search APIKeyless SERPDocumentation chatbot
CoverageRegistered entities: 18 / 34 sourcesBroad webBroad webA selected documentation corpus
CredentialsNoneAPI keyNoneUsually an account or key
BillingNonePer requestNoneVaries
OutputPassages with URL and scoreSnippets with URLLinks and snippetsGenerated prose
StrengthTraceable official-source evidenceRecall and freshnessNo keyFluent synthesis
Main limitationNot a general web indexCost, key managementStability and anti-bot blockingProvenance is indirect

AuraArgus is not positioned as a replacement for general web search. It is appropriate when the question belongs to a registered entity and the caller needs citable passages from the official source. For open-web recall, a general search API remains the appropriate tool.

AuraCardea: presentation layer, not a chat platform

DimensionAuraCardeaDSH default chat rendering
ScopeDSH 0.2.x webDSH web
Intermediate rowsFolded by kind with counts, timings, and inline detailsShown as individual rows
PortabilityDSH-onlyDSH-only
Model behaviorUnchangedUnchanged
TelemetryNone addedNot applicable

AuraCardea does not claim to improve model quality. It changes the density and scanability of an existing turn, at the cost of coupling to DSH's chat DOM.

AuraBasetools: byte fidelity, not another editor

Built-in file tools differ between agents; the right-hand column describes the common shape (single-file, UTF-8 text, whole-file write).

DimensionAuraBasetoolsTypical built-in Read / Edit
EncodingsUTF-8 (with BOM), UTF-16, GB18030/GBK, Shift_JIS, EUC-KR, Big5, Windows-1252; writes back in the file's own encodingUTF-8 text; other encodings are mojibake or refused
Byte fidelityBOM and per-line endings preserved; bytes outside the edit untouched; refuses when the file cannot be reproduced byte-for-byteWhole-file rewrite; normalization depends on the tool
AddressingContent (old), symbol (target), byte range (handle), line range, unique cue, remembered anchorExact string or line numbers
StalenessPer-region gate: a region changed since your last read is refusedNo gate, or a whole-file timestamp check
Read shapemap / digest / around / lines / search / changed / probeWhole file, or offset + limit
Write verificationRead-back byte comparison; a mismatch reports the first differing byteUsually none
Multiple changesSeveral hunks in one call, all-or-nothing; targets for several filesOne replacement per call
Failure outputStructured code, candidates, and a next stepFree-form error text
DependenciesZero runtime dependenciesBuilt into the host

AuraBasetools is not a code generator or a repository index. It is appropriate when the caller needs byte-exact edits, files that are not UTF-8, or an auditable write path; for bulk refactors and repo-wide search, dedicated tools remain better.


Repository access

Installing a package does not require cloning this repository. For source inspection:

Sparse checkout

git clone --filter=blob:none --sparse https://github.com/Ck-epsilon/Aura.git
cd Aura
git sparse-checkout set aura-cardea

Replace aura-cardea with aura-argus or aura-basetools for another package.

degit

npx degit Ck-epsilon/Aura/aura-cardea aura-cardea

Package managers

npm i -g aura-argus
npm i aura-cardea
npm i -g aura-basetools

Repository layout

Aura/
  README.md
  README.zh.md
  LICENSE
  docs/assets/
  aura-argus/          # retrieval: CLI / HTTP / MCP / Node library
  aura-cardea/         # DSH web client plugin
  aura-basetools/      # byte-fidelity read/edit: CLI / MCP / DSH plugin

Each package is independently publishable. Its manifest points back to this repository:

"repository": {
  "type": "git",
  "url": "https://github.com/Ck-epsilon/Aura",
  "directory": "aura-cardea"
}

Conventions

  • npm name: aura-<product> (aura-argus, aura-cardea, aura-basetools).
  • Product name: AuraXxx in prose and UI.
  • Versioning: independent semver per package; recommended tags are aura-cardea-v1.1.0.
  • DSH packages: declare both dsh.bundle and dsh.client; use engines.dsh for the supported DSH range.
  • No shared runtime: packages do not depend on each other. A small amount of duplication is preferred to a premature shared abstraction.
  • No mandatory root workspace: each package can be tested and released on its own.

Status

PackageVersionRuntimeNotes
AuraArgus0.1.2Node.js ≥ 20Registry-only by default; web fallback is opt-in
AuraCardea1.1.0DSH 0.2.x webBundle + client; manual or market installation
AuraBasetools0.21.0Node.js ≥ 20; DSH 0.2.x for the pluginCLI + MCP + DSH shell; multi-encoding, structure maps, probe mode

Each package is versioned and released independently; see its README for the current version.


License and third-party notices

Original code in this repository is released under the MIT License; see LICENSE and each package's LICENSE file.

Third-party names, trademarks, and works referenced by a package remain the property of their respective owners. The MIT license covers original code only and does not grant any license to third-party intellectual property.