Asia/Shanghai
ProjectsSeptember 7, 2026

another

image
another is a local terminal tool that browses coding-agent sessions across ten agents and carries one into a different agent's own native store. The migrated session opens with that agent's own resume command — codex resume, claude --resume, pi --session — because it is a real session there, not a pasted summary. It is not a hosted service, a proxy, or a chat client. It reads each agent's local storage, keeps a private SQLite index under ~/.cache/another/, and writes only where the target agent expects its sessions to be. When a model runs out of quota, or the work turns out to want a different one, the usual escape is to summarize the conversation and paste it somewhere else. That throws away the original and asks you to re-explain what was already understood. The interesting artifact is the session, so the tool moves the session. Every migration reloads what it wrote and compares a content digest before reporting success. A failed verification removes only the artifact that migration created; the source session is never mutated. What crosses the boundary: ordered user and assistant text, timestamps the target supports, the project directory, the title, and a migration marker used for deduplication and verification. What does not: provider-specific reasoning signatures, tool calls, tool results, images, and system records, because they have no portable equivalent. Three context modes decide how much of a long session travels. auto keeps all cleaned turns when they fit and otherwise selects recent working context, full preserves every cleaned turn even when the destination may compact it, and recent always produces a bounded recent view. Pi, OpenCode 2, Claude Code, Codex, Antigravity, and Qwen Code are continuously tested and enter every release regression pass. Cursor, OpenCode, CommandCode, and Hermes remain compatibility adapters without a promised end-to-end maintainer test each release. OpenCode and OpenCode 2 are deliberately separate providers with different commands, databases, schemas, and service lifecycles. Session management is capability-driven. Rename, archive, and delete appear only where that agent implements the corresponding native operation, and they change the agent's own state rather than an another-only marker that would disappear on refresh. First-run setup starts with nothing selected: detection means available, never chosen. Codex needed more than one write path. It keeps a session's name in the CLI thread store, the legacy session_index.jsonl, and the Electron state its Desktop sidebar actually reads, so rename writes all three — and when Desktop is running and would overwrite its own state, the interface says the sidebar catches up on restart instead of reporting a failure. With an agent named in setup, Ctrl+R asks it in the background for one title under a fixed contract: MMDD|类型|主题 in Chinese, MMDD|Type|Topic in English. The date comes from the indexed creation time converted to Asia/Shanghai, never from the model, and suggestions that miss the contract, arrive after the box closes, or fail outright are discarded without touching what you typed. Batch renaming marks sessions with x and runs on Ctrl+T. The review page lists only rows that would change, folds frozen, failed, and unchanged rows into counts, retries transient failures once, and verifies each row on apply. Headless title runs leave their own sessions behind in several CLIs; another recognizes those leftovers and keeps them out of its index without touching the agent's own files.
  • Sessions are read from each agent's native local store; nothing is uploaded.
  • The configuration directory is mode 0700; configuration and index files are 0600.
  • Ctrl+D defaults to Cancel and shows provider, title, project, and full session ID; identified active sessions are protected.
  • Title suggestions borrow an agent CLI you already authenticated. another stores no API keys of its own.
  • Disabling an agent in setup removes only its local index rows, never its native sessions.
The current release is v0.6.2 for macOS and Linux on amd64 and arm64, distributed through the nxxxsooo/tap Homebrew cask, an install script, go install, and checksum-verified tarballs. another began as a fork of CyrusSE/agenthop under the MIT License and now has its own module path, provider contracts, TUI, setup flow, and release surface.
another 是一个本地终端工具:在十个 coding agent 的会话之间浏览、管理,并把其中一条迁移到另一个 agent 自己的原生存储里。迁移后的会话用那个 agent 自己的命令打开 —— codex resumeclaude --resumepi --session —— 因为它在那边就是一条真实会话,不是粘贴进去的摘要。 它不是托管服务,不是代理,也不是聊天客户端。它读取各 agent 的本地存储,在 ~/.cache/another/ 下维护一份私有 SQLite 索引,只往目标 agent 存放会话的位置写。 模型用完额度,或者手上这段活更适合另一个模型时,常规做法是总结一遍再粘到另一边。这等于丢掉原件,然后把已经讲清楚的事重讲一次。真正有价值的东西是会话本身,所以这个工具搬的就是会话本身。 每次迁移都会重新加载写入结果并比对内容摘要,通过后才报告成功。校验失败只删除这次迁移创建的产物,来源会话自始至终不动。 会跨过边界的:按顺序排列的用户与 assistant 文本、目标格式支持的时间戳、项目目录、标题,以及一个用于去重和校验的迁移标记。不会跨过去的:供应商特有的推理签名、工具调用与结果、图片和系统记录 —— 它们没有可移植的等价物。 长会话带多少由三种上下文模式决定:auto 在放得下时保留清理后的全部轮次,否则选择近期工作上下文;full 保留全部轮次,即使目标端可能压缩;recent 始终生成有长度上限的近期上下文。 Pi、OpenCode 2、Claude Code、Codex、Antigravity 和 Qwen Code 持续实测,进入每次发布的回归检查。Cursor、OpenCode、CommandCode 和 Hermes 保留兼容适配,但不承诺每个版本都在维护者环境完成端到端实测。OpenCode 与 OpenCode 2 是刻意分开的两个 provider:命令、数据库、schema 和服务生命周期都不一样。 会话管理按能力提供。重命名、归档、删除只在该 agent 有对应原生操作时出现,而且改的是这个 agent 自己的状态,不是一份刷新后就消失的 another 私有标记。首次 setup 不预选任何 provider:检测到只代表「可用」,不代表「已选」。 Codex 需要不止一条写入路径。它把会话名存了三处:CLI 的线程库、旧版 session_index.jsonl,以及 Codex Desktop 侧边栏实际读的 Electron 状态,重命名三处全写。Desktop 正在运行、会整份重写自己状态时,界面会说明侧边栏需等它重启才更新,而不是把这次重命名报成失败。 setup 里指定 agent 后,Ctrl+R 会在后台请求一个标题,规则固定:中文 MMDD|类型|主题,英文 MMDD|Type|Topic。日期取自索引里的创建时间并转换到 Asia/Shanghai,不交给模型猜;不符合格式、晚到或失败的建议一律丢弃,不覆盖已经输入的文字。 批量重命名用 x 标记会话,Ctrl+T 触发。确认页只列出会变更的行,冻结、失败和无变化折成计数,瞬时失败自动重试一次,应用时逐行回读验证。几个 CLI 会为每次无头调用留下自己的会话,another 能认出这些残留并挡在索引之外,同时不动 agent 自己的文件。
  • 会话来自各 agent 的原生本地存储,不上传任何内容。
  • 配置目录 0700,配置与索引文件 0600
  • Ctrl+D 默认停在取消,并显示 provider、标题、项目和完整会话 ID;已识别的活动会话受保护。
  • 标题建议借用你已经登录的 agent CLI,another 不保存自己的 API key。
  • 在 setup 里关掉某个 agent,只删除它的本地索引行,不动它的原生会话。
当前版本 v0.6.2,支持 macOS 与 Linux 的 amd64 / arm64,通过 nxxxsooo/tap 的 Homebrew cask、安装脚本、go install 以及带校验和的压缩包分发。another 起自 CyrusSE/agenthop 的 fork,遵循 MIT 许可,如今拥有自己的模块路径、provider 契约、TUI、setup 流程和发布体系。

Related projects

Clean Design

Clean Design

Use the AI tools you already have to create editable visual projects that stay on your Mac.
Codex Minus

Codex Minus

面向 macOS 与 Windows 的精简 Codex 管理工具:安全切换供应商,管理官方与自定义模型目录,并保护 OAuth 与 Context。
JumpOTP

JumpOTP

面向授权 SSH/JumpServer 会话的按需 TOTP 助手。仅在严格匹配提示后调用已解锁的 Bitwarden CLI,每条连接最多自动提交一次,并保留可见手输回退。
Codex Doubao Pets

Codex Doubao Pets

六个可以直接安装到 Codex Desktop 的豆包桌宠。用真实角色图完成选择,用一条 npm 命令完成安装。
loop

loop

一次显式触发,按产物就绪状态自动连接 deep-grill、deep-design 和 deep-build,持续推进到已确认规格或可验证结果。
Slash Saver

Slash Saver

一个只为物理斜杠键做一件事的原生 macOS 工具:在原始按键进入当前应用前,切到用户指定的 ASCII 输入源。
deep-grill

deep-grill

同一个 Agent Skill,用探索模式把原始想法变成已确认 Product Brief,用审查模式压力测试成形方案,并在普通回复中持续当前会话。
Mingjian AI Services

Mingjian AI Services

A focused collaboration entry for teams moving from AI ideas to working products, Agent systems, and operable business workflows.
opencode-sub2api-haiku-fix

opencode-sub2api-haiku-fix

A focused OpenCode plugin that fixes Claude Haiku extra-usage failures through Sub2API while preserving thinking and leaving Sub2API, OpenCode, and OMO untouched.
opencode-metrics

opencode-metrics

OpenCode TUI 的分会话侧边栏指标插件。按 sessionID 记录速度、TTFT、token、缓存、计时,只显示你当前 attach 的会话,而不是 serve 模式下的全局汇总。
opencode-plugin-fixes

opencode-plugin-fixes

Archived OpenCode guardrail experiment. The final source tree covers four narrow tool-call repairs; no npm package was ever published.
opencode-vibe-island-plugin

opencode-vibe-island-plugin

让 Vibe Island 在装了 oh-my-openagent 时仍然把 OpenCode 会话当成 OpenCode。修好 source 误标和 Ghostty 点击跳转。
OpenCode Themes

OpenCode Themes

Terminal-inspired dark themes for Obsidian, Typora, and Ghostty, all synced to the official OpenCode TUI palette.
wechat-mp-publisher

wechat-mp-publisher

从个人公众号 Skill 到可公开安装的 npm 包:本地校验与沙箱预览在前,用户确认后只创建草稿。
SIGINT

SIGINT

已归档的内容情报实验:曾把小红书/抖音采集、AI 分析、n8n 编排与实时仪表盘接成一条完整链路。
MdictLive

MdictLive

Modern web reader for MDict dictionaries with React 19 SPA, dark mode, and faithful rendering.
SiliconLM

SiliconLM

Local LLM dashboard for Apple Silicon Macs, currently preserved without an active local deployment.
mdx2apple

mdx2apple

Convert MDict (.mdx/.mdd) dictionaries to macOS Apple Dictionary format with one command.