🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

Ephemeral-AI-Lab/mayfly

DeepSeek Harnessspec-screened扫描:中风险在 GitHub 查看 ↗
需源码安装

Mayfly 是 DeepSeek Harness

暂不能直接安装(需源码编译或环境不满足):缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装。 · 最近上游提交 2026/9/25 · 已提供中文文档

DeepSeek Harness 的 Mayfly 终端 UI 包

综合分
34.3
GitHub 分
34.3
用户评分
—
★ Stars
6
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add Ephemeral-AI-Lab/mayfly
缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装,改用 GitHub 源安装
信任档位:已验证本站已于 4 天前真实安装成功(L4 · 真实安装)
是什么
dsh 原生插件 · ui
装得上吗
本站已真实安装成功(L4 · 真实安装,非静态推断)
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 1 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

🟢实装验证通过· 2026/9/22
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/25(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查需源码安装

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包@ephemeral-ai/mayfly-root(未发布到 npm,仅可源码安装)
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明

缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/20 11:27:48

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-llm-mock-server
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
Mayfly

CI
Node
pnpm
License: MIT

Mayfly 是 DeepSeek Harness
(dsh)的交互式终端界面。它是叠加在 dsh-base 上的树外 Cordis
bundle,针对 Harness 0.1.7-rc.1 构建。Mayfly 0.1.0-alpha.5
刻意与 dsh Web 使用同一种插件模型:插件是普通 Cordis sibling,直接消费
dsh 原生服务。

Mayfly 可以直接在终端显示 Markdown 表格、assistant 消息中的闭合 Mermaid fence,
以及 renderer-neutral 的 line、point、bar、sparkline 与 heatmap 节点;超宽或不支持
的内容会安全回退为源码或文本。

流式思考时,标题显示当前思考块的估算 token 数和输出速率,例如
thinking... ↓1.2k · ≈42 tok/s。正文开始后,思考动画停止,activity 行显示
正文阶段独立的计数与速率。速率按每四个字符一个 token 估算,不计首个 chunk
之前的等待时间;两秒没有新输出后隐藏。窄终端优先省略提示和速率。

插件模型

插件通过 inject 声明服务,然后直接从 Cordis context 使用:

- ctx.commands、ctx.sessionProjections、ctx.tools 以及其他有文档的
dsh 服务直接复用,不经过 Mayfly 适配。
- ctx.mayflyPanes、ctx.mayflyStatus、ctx.mayflyOverlays 与
ctx.mayflyEditorExtensions 是仅有的 Mayfly 专属 UI 贡献服务。
- Agent-scoped 原生服务需要当前对象时,通过
ctx.mayflyCurrentAgent.current() 获取这个 Mayfly frontend 当前选择的精确
Agent。
- 每次注册都属于调用方的 Cordis Fiber;插件卸载会移除命令和 UI 贡献。

Mayfly 不再有专用插件 manifest、能力协商、适配 facade、私有插件域或独立的
插件作者 CLI。Mayfly 官方功能与外部插件注册到完全相同的服务。

插件始终只返回普通的 renderer-neutral 节点。Mayfly 会自动窗口化大型 list
节点,并延迟隐藏的响应式分支;插件无需管理 viewport range、overscan、renderer
cache 或 scroll controller。数据库与网络取数仍由插件负责。

交互式 pane 与 overlay 声明 onEvent: { observe, action }。Mayfly frontend owner
在 renderer reload 期间保留表单草稿、选择、tabs、文档锚点、确认、operation 状态
与反馈。插件在 action 中执行原生读写,再返回 accepted、invalid、conflict
或 failed 等结构化结算;外部数据刷新使用
set(node, { reason: 'data', source })。

import type { Context } from '@deepseek-ai/cordis'
import type {} from '@deepseek-ai/dsh-commands'
import type {} from '@ephemeral-ai/mayfly-ui'
import { ui } from '@ephemeral-ai/mayfly-ui'

export const name = '@acme/build-health'
export const inject = ['commands', 'mayflyPanes']

export function apply(ctx: Context): void {
ctx.commands.register({
name: 'health',
description: 'Show build health',
handler: () => ({ kind: 'success', text: 'healthy' }),
})
ctx.mayflyPanes.register({
id: 'acme.build-health',
placement: 'right',
narrow: 'bottom',
}, ui.text('healthy'))
}

用法

前置条件为 Node ^22.19 || >=24 与 pnpm 11。

npm i -g @deepseek-ai/dsh
dsh plugin --profile mayfly add @ephemeral-ai/mayfly
dsh --profile mayfly

也可以安装包含已测试 dsh runtime 的独立启动器:

npm -g install @ephemeral-ai/mayfly-cli
mayfly

首次运行前设置 DEEPSEEK_API_KEY。/help 会列出当前有效的命令和键位。

/agents 浏览当前会话的 subagent 树;Enter 打开 child,
/agents stop  停止没有 live 后代的 live continuable child;仍有 live 后代的
父节点会被拒绝,避免一次操作静默销毁整棵子树。/btw  打开临时
旁路 Agent。live 辅助 Agent 复用完整的 Mayfly 布局与编辑器:F7 在主/辅助会话间
切换,F8 关闭辅助视图。中断当前会话时也会中断它仍在运行的所有 continuable
后代,但不会关闭这些 Agent。

架构

公开 npm surface 明确收敛为三个包:

- @ephemeral-ai/mayfly-ui:renderer-neutral contract、builder 与四个 UI service/provider。
- @ephemeral-ai/mayfly:全部运行时区域、公开 subpath、composition 与 presets。
- @ephemeral-ai/mayfly-cli:无运行时依赖的全局启动器。

frontend、conversation、app、core、transcript 与 interaction 继续作为
@ephemeral-ai/mayfly 内部的源码所有权区域和 Cordis row,不再独立发布。

flowchart TB
ROOT["一个 dsh 进程 · 一张 Cordis service graph"]
DSH["dsh 原生服务commands · sessionProjections · tools · agents"]
PLUGIN["普通 Cordis 插件Mayfly 官方行与外部 sibling"]
AGENT["mayflyCurrentAgent主会话 + 单辅助槽当前展示的精确 Agent"]
UI["Mayfly 直接 UI 服务mayflyPanes · mayflyStatusmayflyOverlays · mayflyEditorExtensions"]
CORE["@ephemeral-ai/mayfly core 区域唯一 pi-tui 与原始终端 owner"]
TERM["终端"]

ROOT --> DSH
ROOT --> PLUGIN
DSH --> PLUGIN
AGENT --> PLUGIN
PLUGIN --> UI
UI --> CORE
CORE --> TERM

只有 packages/mayfly/src/core/ 可以导入 pi-tui 或处理原始终端行为。
@ephemeral-ai/mayfly-ui 定义 renderer-neutral 节点和直接 registry;app 区域
选择当前 Agent 并协调启动;transcript 与 interaction 区域消费 dsh 原生服务并
发布 UI 贡献。

进一步阅读:架构、服务 seam、
开发手册。

社区

欢迎加入 Mayfly 官方飞书群——反馈、排障、功能讨论与版本动态的第一线。入群链接 7 天过期,请从置顶的群组 issue 最新评论获取当前链接;bug 仍请通过 issue 提交追踪。

许可证

MIT。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

同作者(Ephemeral-AI-Lab)的其他插件

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群