npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@aliyunrds/ctxdb-qoder

v0.0.1

Published

Qoder access layer for RDS ContextDatabase: hooks (UserPromptSubmit autoRecall + Stop autoCapture), `ctxdb-qoder` CLI (memory + KB ops), one-shot `setup` installer, and SKILL.md.

Readme

@aliyunrds/ctxdb-qoder

Qoder access layer for RDS ContextDatabase: hooks (UserPromptSubmit autoRecall + Stop autoCapture), ctxdb-qoder CLI (memory + KB ops), one-shot setup installer, and a Qoder-agent SKILL.md.

Install

npm install -g @aliyunrds/ctxdb-qoder

# One-shot install: writes ~/.qoder/ctxdb.json + idempotent settings.json
# hooks + chmod +x + skill copy + ping validation
ctxdb-qoder setup \
  --base-url https://context-database.aliyuncs.com \
  --api-key  ctxdb-... \
  --user-id  qoder-tester

# Verify
ctxdb-qoder status --json

Restart Qoder (CLI: just exit + restart; app: Cmd+R or quit/relaunch) so it picks up the new hooks.

What it does

| Trigger | Hook | What runs | |---|---|---| | User submits a prompt | UserPromptSubmit | Search /v3/memories/search/, format a <recalled-memories> block, inject as additionalContext. By default only memory is recalled. Set recall_knowledge: true in the config to also pull KB chunks into a <external-knowledge> block; otherwise the recommended path for KB is the agent calling ctxdb-qoder kb search explicitly when the user asks (see SKILL.md) | | Agent finishes its turn | Stop | Read transcript, detect KB-upload turns and skip capture (so uploaded content doesn't bleed into long-term memory), slice the current turn, sanitize the input, POST to memory store |

CLI

ctxdb-qoder ships 18 subcommands:

  • Top-level: init / status / ping / setup
  • Memory: memory add|search|list|get|update|delete
  • KB: kb upload-text|upload-file|list|documents-list|document-get|search

See ctxdb-qoder --help.

memory add … --no-infer stores the text verbatim (skips server-side LLM fact-extraction). Use it when the user explicitly asks for a verbatim memory ("记住 / 请记忆 / 原文记下"); without --no-infer the server may rewrite, merge, or skip details.

kb search <query> [--kb=name1,name2] [--top-k=N] [--threshold=F] is the agent-driven KB recall path — calls POST /v1/knowledge/query directly (distinct from memory search --knowledge, which is a memory + KB hybrid search). The SKILL points the agent here when the user explicitly asks for KB lookup ("结合知识库查询" / "从知识库召回"). --kb is comma-separated; omit it to search across all KBs.

Configuration

Lives at ~/.qoder/ctxdb.json. Schema:

{
  "api_key": "ctxdb-...",
  "base_url": "https://context-database.aliyuncs.com",
  "user_id": "qoder-tester",
  "auto_capture": true,
  "auto_recall": true,
  "recall_knowledge": false,
  "top_k": 10,
  "threshold": 0.4,
  "knowledge_top_k": 6,
  "debug": false
}

Field reference:

| Key | Type | Default | Meaning | |---|---|---|---| | auto_capture | bool | true | Stop hook captures each turn into long-term memory | | auto_recall | bool | true | UserPromptSubmit hook recalls memory on each user prompt | | recall_knowledge | bool | false | When auto_recall is on, also pull KB chunks alongside memory. Default is off — the recommended KB-recall path is the agent calling kb search explicitly when the user asks | | top_k / threshold | int / float | 10 / 0.4 | Memory recall pagination + similarity floor | | knowledge_top_k | int | 6 | KB chunks pulled per recall (only effective when recall_knowledge: true) | | debug | bool | false | Verbose hook logging |

Env-var overrides (env wins): CTXDB_API_KEY / CTXDB_BASE_URL / CTXDB_USER_ID.

Architecture

@aliyunrds/ctxdb-qoder      ← this package (hooks + CLI + setup)
       │
       └─ depends on @aliyunrds/ctxdb-shared  ← input sanitation,
                                          prompt-injection defenses,
                                          memory/KB types, recall pipeline
                                          (also consumed by openclaw_memory_rds_ctxdb)

Uninstall

ctxdb-qoder setup --remove   # unwires hooks from ~/.qoder/settings.json
npm uninstall -g @aliyunrds/ctxdb-qoder

Remote SSH (Qoder IDE)

When you connect to a remote host via Qoder IDE's SSH session, ctxdb-qoder does not travel with the Qoder server. Qoder syncs its own server bits to the remote machine, but ~/.qoder/{settings.json, ctxdb.json, skills/} are per-host — your local hooks, config, and skill are not propagated.

To enable autoCapture / autoRecall in the remote session, run the same install on the remote machine:

# on the remote host
npm install -g @aliyunrds/ctxdb-qoder
ctxdb-qoder setup \
  --base-url <your-ctxdb-server-url> \
  --api-key  ctxdb-... \
  --user-id  <id>

Each remote host needs its own one-time setup. If you want memories to be shared across machines, reuse the same user-id; if you want per-host bucketing, give each remote a distinct one.

Developer docs

Maintainer-facing docs (source layout, dev/test workflows, server-config archives) live in the project's internal notebooks and are not packaged with this release. npm consumers can ignore this section.

License

Apache-2.0