KelaoHu/dsh-lowtide--packages-core9

lowtide-core

Platform-agnostic core logic for lowtide (windows/pricing/model/digest/scheduler/ledger)

包名
lowtide-core
版本
0.1.1
许可证
MIT
最近更新
2026年8月24日

安装

此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗

Day-to-day usage

Three ways to file a task. The intercept card (type at peak, one click, your draft becomes the ticket unchanged); the ticket modal ("New" beside the input area — prompt, strategy, rounds, priority); or the API (POST /ds-lowtide/tasks, wire it into your own automation).

Life in the queue dock. Grouped by workspace into pending / finished / dropped. Inline per task: ✓ approve, ⏸ defer, ✕ drop (soft delete, restorable). "Approve all" releases everything; "clear finished" keeps it tidy (the books are unaffected); "Run now" skips the wait and launches a batch immediately — that's how you debug.

Time semantics. Official peak hours are judged in Beijing time (DeepSeek bills in Beijing time, so the books stay aligned; weekends are off-peak all day). Your custom windows and the run window are judged in your local time, with overnight ranges and per-weekday rules. Window end stops new launches; running tasks are never interrupted.

The ledger. ledger[YYYY-MM-DD] = { yuan, savedYuan } — spend and savings, accrued daily. The displayed price is the billed price: one formula, auditable to the digit.

Configuration reference

GET /ds-lowtide/config reads; PUT partially updates (unlisted fields are rejected):

FieldTypeDefaultNotes
autonomy'l1'|'l2'|'l3'l2Autonomy level; per-task override in the ticket modal
batch.window"HH:MM-HH:MM"19:00-23:30Off-peak run window (local timezone)
batch.tzIANA timezonesystemRun-window timezone (empty = local)
batch.gateLeadMinminutes30Batch gate lead time
batch.maxTasksPerNightnumber10Tasks per batch cap
batch.maxDurationMinminutes240Per-task duration cap (cancel + one retry on timeout)
batch.maxConcurrencynumber3Max concurrency 1–8 (serial per workspace, parallel across)
batch.pausedbooleanfalsePause automatic batching
budgetDailyYuan¥0Daily budget (0 = unlimited)
windows[]array[]Custom windows; empty = official peak (Beijing time)
windows[].levelpeak|off|customPeak / off-peak / custom (off-peak price × multiplier)
windows[].start/end"HH:MM"Local clock, overnight supported
windows[].days1..7 arrayevery dayISO weekdays (1 = Mon … 7 = Sun)
windows[].tzIANA timezonesystemPer-window timezone
windows[].multipliernumber1Off-peak price multiplier for custom windows
prices[model].{peak,off}.{input,inputCached,output}¥/1MofficialPrice-table overrides