tsstream
Discovered🌊 Agent-native time-series streaming for DeepSeek Harness (DSH plugin) — terminal/serial byte streams → indexed, queryable, event-driven timeline. 19 tools · 9 operators · 🧪 experimental
🌊 tsstream
Agent 原生时序流式分析 —— DeepSeek Harness(DSH)插件
把终端 / 串口字节流,变成可索引、可回查、事件驱动的时序数据流
⚠️ 实验性项目:当前处于早期开发阶段,尚不稳定,接口与行为可能随版本变动;建议仅用于学习、研究与实验环境。本项目会持续维护与更新,欢迎反馈与贡献。
这是什么
tsstream 是一个可安装的 DSH 插件(TypeScript 包 @tsstream/core),让 DeepSeek Harness 的 Agent 能以时序的方式处理持续输出的字节流——终端日志、串口数据等。
Agent 处理长日志的传统做法是「整段灌进上下文再 grep」,又贵又慢。tsstream 改为 事件钩子唤醒 + 有界窗口回查 + 降采样,让 Agent 只读它真正需要的那几行。
✨ 特性
- 🕒 持续采集 + 时间轴:捕获终端 / 串口输出(stdout + stderr 合并),每个数据包带微秒级时间戳(PTS)。
- 🔔 事件触发(免轮询):自动标记
error/warning/idle等事件;1 秒轮询器只查新事件索引(极低开销),仅有事件时才唤醒 Agent——对 Agent 而言就是事件触发,无需自己轮询。 - 🔁 收发完整记录:发送的输入也记入同一条时间线,可确认发送成功、回溯完整交互;进程退出码 / 信号可查(
stream_info)。 - 🧩 Agent 可自我配置:以结构化配置下发声明式算子,Agent 在线搭建「行分割 → 解析 → 索引」处理链。
- 🎯 随机访问 + 降采样:按时间窗口回查、长窗口均匀抽样,大幅削减注入上下文的体积。
🚀 安装
dsh plugin --profile <name> add file:./packages/core # 安装为依赖
# 在 profile 的 cordis.patch.yml 追加:
# - insert:
# - id: tsstream
# name: '@tsstream/core'
# config: {} # 默认:数据缓冲/结果落在 <workspace>/.tsstream(沙箱内,自动创建)
dsh --profile <name> --dump-config # 验证 compose
环境要求:Node.js ≥ 22。唯一运行时依赖为
zod;serialport/node-pty为可选原生依赖,未安装不影响终端与模拟场景。
🛡️ 安全模型(兼容 DSH 沙箱 + 审批栈):① 串口注册
stream_profile_create与批处理batch_submit属「能力授予」,执行前走ctx.approval(无审批服务则 fail-closed 拒绝);② 管线算子为声明式、固定 9 类、无 IO,只能变换管线、无法逃逸;③ 中台的数据缓冲与结果一律落在沙箱工作区<workspaceRoot>/.tsstream隐藏目录树内,不越workspace-write边界。
⚡ 快速体验(无需硬件)
# 端到端 Demo:采集 → 行分割 → CSV 解析 → 字段提取 → 阈值索引
node examples/demo.ts
# 终端场景 Demo:长构建日志中定位报错 + 读上下文(对比上下文注入体积)
node examples/demo-terminal.ts
# 运行测试
node --test packages/core/test/*.test.ts
🧰 Agent 工具(24 个)
- 查询:
stream_list/stream_info/stream_read/stream_recent/stream_events/stream_context/stream_lineage - 交互:
stream_write(发送输入,TX 记入时间线)·stream_close(关闭流并终止进程) - 监听:
stream_wait(阻塞等待新事件,事件触发唤醒)·stream_watch(静默时植入 idle 事件) - 串口:
stream_ports(只读扫描)·stream_profiles/stream_profile_get(列出/读取授权 profile)·stream_profile_create(显式授权,走审批)·stream_open(仅凭已授权 profile id 打开) - 算子:
plugin_deploy/plugin_list/plugin_status/plugin_remove - 批处理:
batch_submit(走审批) /batch_status - 缓存:
cache_protect/cache_list_protected
🧩 内置算子(9 个)
line-split · csv-parse · field-extract · fixed-split · unit-convert · regex-index · threshold-index · keyword-index · idle-index
📄 License
Comments
Loading…
Similar plugins
by shengsheng90
Native local Taskboard plugin for DeepSeek Harness. SQLite-backed projects, Agent claim/review, and a native Web UI — no iframe, no second chat runtime.
★ 330
↓ 381/wk
Apache-2.0
TypeScript
Sep 30, 2026
dsh plugin --profile web add @shengsheng/dsh-taskboardby mario841859784
Agent preset plugin for DeepSeek Harness that triages every request, delegates implementation to an expert, and schedules parallel work through a dependency-DAG taskboard and a file-based message bus
★ 1
↓ 819/wk
MIT
JavaScript
Sep 27, 2026
dsh plugin --profile web add dsh-expert-orchestratorby andrepontesmelo
The DSH productivity suite: plugins + agent skills for the DeepSeek Harness, installable in one command.
★ 0
MIT
JavaScript
Sep 11, 2026
dsh plugin --profile web add @andrepontesmelo/dsh-suiteby bpc-oss
DeepSeek Harness plugin: subagent_routed — run a one-shot subagent fully mounted on ANY agent preset from ANY session, with per-call model/provider override and a model-availability pre-check.
★ 3
MIT
JavaScript
Sep 12, 2026
dsh plugin --profile web add dsh-routed-subagentby maxiaovivi
Native CloakBrowser tools for DeepSeek Harness: isolated browser sessions, snapshots, interaction, screenshots, and safe Agent routing.
★ 4
MIT
JavaScript
Aug 16, 2026
dsh plugin --profile web add dsh-cloak-browserby bluefateludi
Local JSONL run tracing plugin for DeepSeek Harness — records agent runs, model steps, tool calls, timings, outcomes, and token usage.
★ 0
MIT
TypeScript
Aug 18, 2026
dsh plugin --profile web add dsh-agent-run-logger