@adelie/requirements-box

中文文档
0.6.5发布于 2026/11/07Apache-2.0零依赖近 30 天下载 2768

A requirements box: one keyed page where the user files what they want done, a scheduled task that wakes the agent to work through them, and a per-round report by mail — the service being a single dependency-free Node file with a JSON store and a keyed AP

原始使用文档
文档目录4 节
  1. What's inside
  2. Why it exists
  3. Install
  4. Notes

requirements-box

A requirements box: one page where the user writes down what they want done, a scheduled task that wakes the agent to work through it, and a report by mail per round — so asking for something does not cost a conversation, and nothing gets lost between them.

user files a request on the page
        │
        ├─ status=new … the page keeps it, the schedule waits
        ▼
every <period> the agent wakes, reads the list, marks each item doing, and works through up to three
        │
        ├─ done      → committed, gated, shipped; item archived, one mail per round
        ├─ blocked   → the question it could not answer, mailed to the user
        └─ rejected  → why not, in the same mail

What's inside

PieceWhat it is
kit/requirements.mjsThe whole service: a JSON store with atomic writes, the keyed API (list/create/read/patch, the patrol cadence, and the do-it-now trigger), and it serves the page. Node standard library only — no build step, no dependency tree.
kit/requirements.htmlThe page: file a request, edit or withdraw one, select several and act in bulk, schedule an item, pause the patrol or change its cadence, see which commits are not released or not on the live server yet, and a "do it now" button.
kit/serve.mjsA standalone server for the box alone, so it can run on its own port without touching anything else already on the machine.
kit/patrol.mdThe protocol the scheduled round follows: take work, mark it doing before touching it, triage, gate, ship, mail, archive — and the red lines.
kit/install.mjsLays the files down, generates the key, writes box.config.json, writes the schedule, and prints the two commands left to run.

Why it exists

  • Asking is not a conversation. The user's own words are on the page; the agent reads them when it wakes, not when it happens to be listening.
  • No dependency tree for a form. One Node file, one JSON store — nothing to install, nothing to upgrade, and the whole state is a file you can read.
  • The schedule is a file, not a black box. The round is a .toml the platform re-reads; the cadence, the on/off switch and the "do it now" button all write that one file.
  • You can see what is not out yet. The page carries a "commit sync" card: the commits after the last release tag, what the live server is actually running (asked of its own /api/version, not read off disk), whether an update is installed but not restarted yet, and the released commits the running server has not picked up. All four come from box.config.json (repoDir / serverUrl / serverTokenFile / installDir), which the installer works out for you; anything it cannot work out is reported as "not configured" rather than guessed. The token file stays in this process and never reaches the browser.
  • Doing it now is one click. Waiting for the next tick is the common complaint, so the page can start a session immediately, and can do it for just the items the user selected.

Install

node <skill dir>/kit/install.mjs --dir ~/requirements-box --workspace ~/my-project --port 3007 --period 2h

Then start node ~/requirements-box/serve.mjs and open the printed URL (the key rides in ?key= once and the page remembers it). Everything machine-specific lives in the generated box.config.json; environment variables override it.

Notes

  • The key is the ability to make the agent work. It lives in key.txt (0600) and must not reach a commit, a log or a mail body.
  • The page is meant to be reachable by one person, not published: bind 127.0.0.1 unless the user asked for a wider listen, and never expose it without the key.
  • The patrol protocol is deliberately in one markdown file the user can rewrite — the flow is theirs to change.

版本与发布记录

@adelie/requirements-box 共发布 19 个版本,首次发布于 2026/10/17;过去 12 个月发布了 19 个版本。

版本发布日期距今
0.6.5latest2026/11/07今天
0.6.42026/11/052 天前
0.6.32026/11/043 天前
0.6.22026/11/025 天前
0.6.12026/11/016 天前
0.6.02026/10/308 天前

关于 @adelie/requirements-box 的常见问题

@adelie/requirements-box 是什么?

A requirements box: one keyed page where the user files what they want done, a scheduled task that wakes the agent to work through them, and a per-round report by mail — the service being a single dependency-free Node file with a JSON store and a keyed AP

如何安装 @adelie/requirements-box?

在项目目录运行 npm install @adelie/requirements-box,或使用 pnpm add / yarn add / bun add。

@adelie/requirements-box 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/adelie__requirements-box 是否存在。

@adelie/requirements-box 可以商用吗?

@adelie/requirements-box 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@adelie/requirements-box 的下载量有多少?

根据 npm 官方下载统计,@adelie/requirements-box 在 2026/10/05 – 2026/11/03 这 30 天内被下载 2,768 次,日均约 92 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@adelie/requirements-box 还在维护吗?

最新版本 0.6.5 发布于 2026/11/07(今天);至今共发布 19 个版本,其中过去 12 个月发布了 19 个;首次发布于 2026/10/17。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。