Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ English | [中文](README.zh.md)
Mayfly is an interactive terminal UI for
[DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) (`dsh`) —
an out-of-tree Cordis bundle over `dsh-base`, built against Harness
`0.2.1-rc.2`. Mayfly `0.1.4-rc.1` deliberately uses the same plugin model
`0.2.1-rc.2`. Mayfly `0.1.4-rc.2` deliberately uses the same plugin model
as dsh Web: plugins are ordinary Cordis siblings and consume native dsh
services directly.

Expand Down
2 changes: 1 addition & 1 deletion README.zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

Mayfly 是 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)
(`dsh`)的交互式终端界面——叠加在 `dsh-base` 上的树外 Cordis
bundle,针对 Harness `0.2.1-rc.2` 构建。Mayfly `0.1.4-rc.1`
bundle,针对 Harness `0.2.1-rc.2` 构建。Mayfly `0.1.4-rc.2`
刻意与 dsh Web 使用同一种插件模型:插件是普通 Cordis sibling,直接消费
dsh 原生服务。

Expand Down
4 changes: 2 additions & 2 deletions docs/package-release.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Mayfly package and release workflow

Mayfly publishes three packages as one `0.1.4-rc.1` lockstep release:
Mayfly publishes three packages as one `0.1.4-rc.2` lockstep release:
`@ephemeral-ai/mayfly-ui`, `@ephemeral-ai/mayfly`, and
`@ephemeral-ai/mayfly-cli`. The exact release order lives in
`script/package-contract.mjs`. The supported Harness line is `0.2.1-rc.2`.
Expand All @@ -15,7 +15,7 @@ After preparing a new release and writing its changelog entry, set `VERSION`
to that release and run:

```sh
VERSION=0.1.4-rc.1
VERSION=0.1.4-rc.2
pnpm run check -- --tier full --plan
pnpm release:preflight "$VERSION"
pnpm run check -- --tier full
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@ephemeral-ai/mayfly-cli",
"description": "The Mayfly launcher with a prepacked, pinned dsh runtime",
"version": "0.1.4-rc.1",
"version": "0.1.4-rc.2",
"publishConfig": {
"access": "public"
},
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/tests/main.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ afterEach(() => {
})

/** The shell's own manifest version — the pin every fixture calibrates to. */
const PIN = '0.1.4-rc.1'
const PIN = '0.1.4-rc.2'
/** A release one minor line ahead of the pin. */
const AHEAD = `${PIN.split('.')[0]!}.${String(Number(PIN.split('.')[1]) + 1)}.0`

Expand Down
2 changes: 1 addition & 1 deletion packages/cli/tests/runtime.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import { bundledDsh, HARNESS_LINE } from '../src/runtime.ts'
registerTempDirCleanup()

const REAL = { ...cliInternals }
const VERSION = '0.1.4-rc.1'
const VERSION = '0.1.4-rc.2'

afterEach(() => {
Object.assign(cliInternals, REAL)
Expand Down
2 changes: 1 addition & 1 deletion packages/mayfly/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"pi-tui",
"coding-agent"
],
"version": "0.1.4-rc.1",
"version": "0.1.4-rc.2",
"publishConfig": {
"access": "public"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ my-plugin/
"peerDependencies": {
"@deepseek-ai/cordis": "^4.0.2",
"@deepseek-ai/dsh-commands": "^0.1.5-rc.2",
"@ephemeral-ai/mayfly-ui": "^0.1.4-rc.1"
"@ephemeral-ai/mayfly-ui": "^0.1.4-rc.2"
}
}
```
Expand Down
11 changes: 11 additions & 0 deletions packages/mayfly/src/interaction/changelog-content.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,17 @@ export interface ChangelogEntry {

/** Mayfly releases, newest first. */
export const CHANGELOG_ENTRIES: readonly ChangelogEntry[] = [
{
version: '0.1.4-rc.2',
summary: 'A fix-only follow-up to 0.1.4-rc.1: /btw stays open and keeps the primary queue out, session browsing survives service proxies, start-time preset and plan selection work before the first session, and conversation disclosure stays per view.',
highlights: [
'/btw - the side conversation owns its Agent for its whole life, so it stays open after the answer and accepts follow-ups; the inherited inbox is cleared before the question, keeping the primary\'s queued and steering messages in the primary.',
'Conversation disclosure - fold state follows each conversation view, and a turn folded under Ctrl+O no longer opens by itself.',
'Session browsing - retain the native session catalog across Cordis traceable service proxies, so /sessions and /stats keep their rows.',
'Startup - /preset and plan mode now run before the first session is created, and the pre-refactor error formatters are restored after the port.',
],
knownIssues: [],
},
{
version: '0.1.4-rc.1',
summary: 'Align with Harness 0.2.1-rc.2, add the compose layer and the themed launch surfaces, and finish the Phase 7 performance pass with live-stream and transcript fixes.',
Expand Down
2 changes: 1 addition & 1 deletion packages/mayfly/src/transcript/banner-content.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@
* The displayed Mayfly version; `tests/transcript/version.spec.ts` fails the suite on
* drift from `package.json`.
*/
export const MAYFLY_VERSION = '0.1.4-rc.1'
export const MAYFLY_VERSION = '0.1.4-rc.2'
2 changes: 1 addition & 1 deletion packages/mayfly/tests/transcript/banner.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -418,7 +418,7 @@ describe('mayfly-banner plugin', () => {
const named = await bootBanner({ config: { displayVersion: 'next' }, reducedMotion: true })
expect(plainRows(named.screen)).toContain('mayfly next')
expect(plainRows(named.screen)).not.toContain('vnext')
expect(MAYFLY_VERSION).toBe('0.1.4-rc.1')
expect(MAYFLY_VERSION).toBe('0.1.4-rc.2')
})

it('re-derives the model line on session switches, projections, and fallbacks', async () => {
Expand Down
4 changes: 2 additions & 2 deletions packages/mayfly/tests/transcript/version.spec.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/**
* The global version-control guard: Mayfly has ONE release version (the
* current release line, `0.1.4-rc.1` — the number the website's tagline and
* current release line, `0.1.4-rc.2` — the number the website's tagline and
* quickstart promise) and ONE harness dependency line (the `dsh-*` pins,
* which stay on their own prerelease line while Mayfly's number moves).
*
Expand Down Expand Up @@ -28,7 +28,7 @@ import { describe, expect, it } from 'vitest'
import { MAYFLY_VERSION } from '../../src/transcript/banner-content.ts'

/** The published release version (the website's advertised number). */
const RELEASE_VERSION = '0.1.4-rc.1'
const RELEASE_VERSION = '0.1.4-rc.2'
/** The harness prerelease line the dsh pins ride. */
const HARNESS_LINE = '0.2.1-rc.2'

Expand Down
2 changes: 1 addition & 1 deletion packages/ui/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@ephemeral-ai/mayfly-ui",
"description": "Renderer-neutral contracts, builders, and UI contribution services for Mayfly",
"version": "0.1.4-rc.1",
"version": "0.1.4-rc.2",
"publishConfig": {
"access": "public"
},
Expand Down
2 changes: 1 addition & 1 deletion website/.vitepress/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ const base = process.env.DOCS_BASE ?? '/'
* 站点版本:当前预览线,与三个发布包一致。
* 升级时只改这一处(首页 hero 文案与 footer 同步引用语义,见各 index.md)。
*/
const SITE_VERSION = '0.1.4-rc.1'
const SITE_VERSION = '0.1.4-rc.2'

/**
* Optional deployment origin. Local and fork builds deliberately have no
Expand Down
2 changes: 1 addition & 1 deletion website/dsh/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Mayfly 是 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)(**dsh**)的终端界面——理解 dsh 的几个核心概念,能让你把 Mayfly 用得更明白。本手册面向 Mayfly 用户提炼 dsh 的相关知识;完整工程文档见[官方参考站](https://deepseek-harness.github.io/deepseek-harness/reference/)。

::: info 版本基准
本手册当前以 npm 上的 `0.2.1-rc.2` Harness 发布线与 Mayfly `0.1.4-rc.1` 为准。遇到出入以你安装的 `dsh --version` 与 `--dump-config` 为准。
本手册当前以 npm 上的 `0.2.1-rc.2` Harness 发布线与 Mayfly `0.1.4-rc.2` 为准。遇到出入以你安装的 `dsh --version` 与 `--dump-config` 为准。
:::

## dsh 是什么
Expand Down
2 changes: 1 addition & 1 deletion website/en/dsh/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Mayfly is the terminal interface for [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) (**dsh**) — understanding a few core dsh concepts makes Mayfly much easier to use well. This handbook distills the dsh knowledge Mayfly users need; the complete engineering docs live at the [official reference site](https://deepseek-harness.github.io/deepseek-harness/reference/).

::: info Version basis
This handbook tracks Harness npm release `0.2.1-rc.2` and Mayfly `0.1.4-rc.1`. When in doubt, trust your installed `dsh --version` and `--dump-config`.
This handbook tracks Harness npm release `0.2.1-rc.2` and Mayfly `0.1.4-rc.2`. When in doubt, trust your installed `dsh --version` and `--dump-config`.
:::

## What dsh is
Expand Down
2 changes: 1 addition & 1 deletion website/en/features/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Features overview

Mayfly `0.1.4-rc.1` is a flat Cordis plugin tree over `dsh-base`. The
Mayfly `0.1.4-rc.2` is a flat Cordis plugin tree over `dsh-base`. The
bundle inserts a set of dsh support rows and the Mayfly rows (the row list
lives in `cordis.patch.yml`).

Expand Down
2 changes: 1 addition & 1 deletion website/en/guide/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Why not a plain `npm install @ephemeral-ai/mayfly`?

Mayfly is a plugin bundle installed into a dsh profile, not a standalone app — a bare install only drops the package into node_modules, with no host and no profile assembly, so there is nothing to run. The supported paths are the `mayfly` shell or `dsh plugin --profile mayfly add`; see [Quickstart](/en/guide/). The current preview is `v0.1.4-rc.1`, published under npm's `rc` tag; `latest` stays on the previous release line. Reproducible environments should pin Mayfly `0.1.4-rc.1` and Harness `0.2.1-rc.2`. The contributor development install lives in [Contributing to Mayfly](/en/plugins/contributing).
Mayfly is a plugin bundle installed into a dsh profile, not a standalone app — a bare install only drops the package into node_modules, with no host and no profile assembly, so there is nothing to run. The supported paths are the `mayfly` shell or `dsh plugin --profile mayfly add`; see [Quickstart](/en/guide/). The current preview is `v0.1.4-rc.2`, published under npm's `rc` tag; `latest` stays on the previous release line. Reproducible environments should pin Mayfly `0.1.4-rc.2` and Harness `0.2.1-rc.2`. The contributor development install lives in [Contributing to Mayfly](/en/plugins/contributing).

## The default install does not resolve the newest release?

Expand Down
6 changes: 3 additions & 3 deletions website/en/guide/index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Quickstart

::: info Current release line
`v0.1.4-rc.1` is the current preview and is published under npm's **`rc`** dist-tag; `latest` stays on the previous release line. Install the exact `@ephemeral-ai/mayfly-cli@0.1.4-rc.1` (or `@rc`); plugins, CI, and reproducible environments should pin Mayfly `0.1.4-rc.1` and Harness `0.2.1-rc.2`. The harness dependency line now tracks the npm RC release channel. This page is the user install path; the contributor development install (checkout, link install, iteration loop) lives in the developer manual under [Contributing to Mayfly](/en/plugins/contributing).
`v0.1.4-rc.2` is the current preview and is published under npm's **`rc`** dist-tag; `latest` stays on the previous release line. Install the exact `@ephemeral-ai/mayfly-cli@0.1.4-rc.2` (or `@rc`); plugins, CI, and reproducible environments should pin Mayfly `0.1.4-rc.2` and Harness `0.2.1-rc.2`. The harness dependency line now tracks the npm RC release channel. This page is the user install path; the contributor development install (checkout, link install, iteration loop) lives in the developer manual under [Contributing to Mayfly](/en/plugins/contributing).
:::

## Prerequisites
Expand All @@ -17,7 +17,7 @@
**Recommended: the integrated `mayfly` launcher.** It carries the pinned Harness closure as common and platform archives, so npm installs one dependency-free package without resolving the Harness graph or running its install scripts:

```sh
npm -g install @ephemeral-ai/mayfly-cli@0.1.4-rc.1
npm -g install @ephemeral-ai/mayfly-cli@0.1.4-rc.2
mayfly
```

Expand Down Expand Up @@ -46,7 +46,7 @@ dsh --profile mayfly
After installing, follow the two sections below — one key, then a first run; models, providers, themes, and API keys are covered in detail in [Configuration](/en/guide/config).

- This RC does not move npm `latest`; use the exact version above or `@rc`. An omitted dist-tag resolves the previous release line.
- Upgrading: shell users re-run `npm -g install @ephemeral-ai/mayfly-cli@0.1.4-rc.1` (reinstalling is the upgrade — the shell calibrates the profile's Mayfly to its own version and pins the host line with it); direct-dsh users type `/update` inside Mayfly (the in-app safe upgrade: pre-flight, snapshot, boot smoke, automatic rollback), or re-run the same `plugin add`.
- Upgrading: shell users re-run `npm -g install @ephemeral-ai/mayfly-cli@0.1.4-rc.2` (reinstalling is the upgrade — the shell calibrates the profile's Mayfly to its own version and pins the host line with it); direct-dsh users type `/update` inside Mayfly (the in-app safe upgrade: pre-flight, snapshot, boot smoke, automatic rollback), or re-run the same `plugin add`.

## One key before you ride

Expand Down
2 changes: 1 addition & 1 deletion website/en/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ brandHero:
eyebrow: A dsh-based multi-agent terminal
name: mayfly
tagline: ephemeral agents, enduring works
versionNote: v0.1.4-rc.1 · Preview
versionNote: v0.1.4-rc.2 · Preview
install: npm -g install @ephemeral-ai/mayfly-cli
copyLabel: copy
copiedLabel: copied
Expand Down
2 changes: 1 addition & 1 deletion website/en/plugins/ui-reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ in a node.
prop is stable, a translator passed as `MayflyTranslate` included; see
[Public UI kit](/en/plugins/ui-kit).

The defaults below describe the current Mayfly TUI in `0.1.4-rc.1`. The wire
The defaults below describe the current Mayfly TUI in `0.1.4-rc.2`. The wire
contract promises field semantics, not exact border glyphs, color values, or
key bindings.

Expand Down
2 changes: 1 addition & 1 deletion website/features/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# 功能总览

Mayfly `0.1.4-rc.1` 是 `dsh-base` 上的 flat Cordis plugin tree。Bundle
Mayfly `0.1.4-rc.2` 是 `dsh-base` 上的 flat Cordis plugin tree。Bundle
插入一组 dsh 支撑 row 与全部 Mayfly row(行清单见 `cordis.patch.yml`)。

## 数据与交互
Expand Down
2 changes: 1 addition & 1 deletion website/guide/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## 为什么不直接 `npm install @ephemeral-ai/mayfly`?

Mayfly 是装进 dsh profile 的插件包,不是独立应用——裸装只把包放进 node_modules,没有宿主与 profile 装配,跑不起来。正确路径:装 `mayfly` 壳包,或用 `dsh plugin --profile mayfly add`,见[快速上手](/guide/)。当前预览版是 `v0.1.4-rc.1`,发布在 npm `rc` tag,`latest` 仍是上一发布线;插件与 CI 应锁定 Mayfly `0.1.4-rc.1` 与 Harness `0.2.1-rc.2`。Harness 依赖线当前追踪 npm 的 RC 发布线。贡献者的本地开发安装见开发手册的[贡献本仓库](/plugins/contributing)页。
Mayfly 是装进 dsh profile 的插件包,不是独立应用——裸装只把包放进 node_modules,没有宿主与 profile 装配,跑不起来。正确路径:装 `mayfly` 壳包,或用 `dsh plugin --profile mayfly add`,见[快速上手](/guide/)。当前预览版是 `v0.1.4-rc.2`,发布在 npm `rc` tag,`latest` 仍是上一发布线;插件与 CI 应锁定 Mayfly `0.1.4-rc.2` 与 Harness `0.2.1-rc.2`。Harness 依赖线当前追踪 npm 的 RC 发布线。贡献者的本地开发安装见开发手册的[贡献本仓库](/plugins/contributing)页。

## 默认安装没有拿到最新版本?

Expand Down
6 changes: 3 additions & 3 deletions website/guide/index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# 快速上手

::: info 当前发布线
`v0.1.4-rc.1` 是当前预览版,发布在 npm 的 **`rc`** dist-tag;`latest` 仍停在上一发布线。安装请显式锁定 `@ephemeral-ai/mayfly-cli@0.1.4-rc.1`(或 `@rc`);CI 和可复现环境应锁定 Mayfly `0.1.4-rc.1` 与 Harness `0.2.1-rc.2`。本页是用户安装路径;贡献者的本地开发安装见[贡献本仓库](/plugins/contributing)。
`v0.1.4-rc.2` 是当前预览版,发布在 npm 的 **`rc`** dist-tag;`latest` 仍停在上一发布线。安装请显式锁定 `@ephemeral-ai/mayfly-cli@0.1.4-rc.2`(或 `@rc`);CI 和可复现环境应锁定 Mayfly `0.1.4-rc.2` 与 Harness `0.2.1-rc.2`。本页是用户安装路径;贡献者的本地开发安装见[贡献本仓库](/plugins/contributing)。
:::

## 前置条件
Expand All @@ -17,7 +17,7 @@
**推荐:一体化 `mayfly` 启动器。** 它把固定的 Harness 闭包封装为公共层和平台层归档,npm 安装时只处理一个无依赖包,不解析 Harness 图,也不运行其中的安装脚本:

```sh
npm -g install @ephemeral-ai/mayfly-cli@0.1.4-rc.1
npm -g install @ephemeral-ai/mayfly-cli@0.1.4-rc.2
mayfly
```

Expand Down Expand Up @@ -46,7 +46,7 @@ dsh --profile mayfly
安装完成后,按下方「开跑前配一个 key」与「首次运行」两节启动;模型、Provider、主题与密钥的详细配置见[配置:模型、Provider 与主题](/guide/config)。

- 该 RC 不写 npm `latest`;请使用上方的精确版本或 `@rc`。普通安装不写 dist-tag 会得到上一发布线。
- 升级到新版:壳包用户重跑 `npm -g install @ephemeral-ai/mayfly-cli@0.1.4-rc.1`(重装即升级——壳按自身版本校准 profile 里的 Mayfly,宿主线随之固定);dsh 直装用户在 Mayfly 中输入 `/update`(应用内安全升级:预检、快照、装机冒烟、失败自动回滚),或重跑同一条 `plugin add`。
- 升级到新版:壳包用户重跑 `npm -g install @ephemeral-ai/mayfly-cli@0.1.4-rc.2`(重装即升级——壳按自身版本校准 profile 里的 Mayfly,宿主线随之固定);dsh 直装用户在 Mayfly 中输入 `/update`(应用内安全升级:预检、快照、装机冒烟、失败自动回滚),或重跑同一条 `plugin add`。

## 开跑前配一个 key

Expand Down
2 changes: 1 addition & 1 deletion website/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ brandHero:
eyebrow: A dsh-based multi-agent terminal
name: mayfly
tagline: ephemeral agents, enduring works
versionNote: v0.1.4-rc.1 · 预览版
versionNote: v0.1.4-rc.2 · 预览版
install: npm -g install @ephemeral-ai/mayfly-cli
copyLabel: 复制
copiedLabel: 已复制
Expand Down
2 changes: 1 addition & 1 deletion website/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@ephemeral-ai/mayfly-website",
"version": "0.1.4-rc.1",
"version": "0.1.4-rc.2",
"private": true,
"type": "module",
"scripts": {
Expand Down
2 changes: 1 addition & 1 deletion website/plugins/ui-reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ I/O、Agent、Session 或 mutable renderer object 放进节点。
`memo: true`。`memo` 按引用比较 props,只有每个 prop 都稳定才会命中,包括以
`MayflyTranslate` 传入的翻译函数;见 [公共 UI kit](/plugins/ui-kit)。

下面的“默认”描述 `0.1.4-rc.1` 当前 Mayfly TUI。wire contract 只承诺字段语义,
下面的“默认”描述 `0.1.4-rc.2` 当前 Mayfly TUI。wire contract 只承诺字段语义,
不会承诺具体边框字符、颜色值或按键绑定。

### 从 alpha.3 迁移
Expand Down
2 changes: 1 addition & 1 deletion website/public/shots/app-agents.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions website/public/shots/app-session-workspace.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions website/public/shots/app-sessions.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading