Bundle
dsh-plugin-stardeck
Starship-bridge orchestration for DeepSeek Harness: the captain issues plain-language orders from the bridge; the XO drafts verifiable missions; away-team subagents (recon/engineer/medic/scribe) execute in isolated workspaces with evidence-based acceptance and an append-only campaign ledger.
- Source
- Kaiji-Z
- stars
- 1 stars
- License
- MIT
- Updated
- Updated yesterday
Readme
<div align="center"> # ⬡ 舰桥 · dsh-plugin-stardeck **把「和 agent 聊天」变成「向舰队下达命令」。** 一个 RTS 星际战舰风格的多 agent 编排看板,为 [DeepSeek Harness](https://github.com/deepseek-ai)(dsh)打造。 你是舰长:下大白话命令,大副拆解成带验收标准的任务书,外勤小队在各星球(工作区)自主作战—— 而你,只需要在想起来的时候回舰桥看一眼。 [](LICENSE) [](https://nodejs.org) [](#安装--开发)  *3D 星域:每颗星球 = 一个真实工作区,彩环 = 战线归属,弧形铭文 = 星球名,中央飞碟 = 星舰(HQ)* </div> --- > **📦 独立形态已分家(2026-09-01)**:本插件的内核(账本/状态机/KillCredit)已全面移植为 **stardeck(星舰甲板)**——agent 无关的独立守护进程 + MCP,opencode/codex/pi 等任意 CLI agent 都能当外勤小队,不再需要 dsh(可行性实弹 9/9 + 移植实弹 10/10 证据在案)。本仓继续以 **dsh 插件形态维护**(bug 修复守护态);边界宪法、验收纪律、版本方案两仓同源。 ## 为什么做这个 这个项目起源于一个所有 AI agent 用户都有的不满:**侧栏**。 现在的 agent 侧栏都在管理两样东西——项目文件夹和会话列表。用久了必然遇到: - 会话多到一定程度,**找不到想回的那个会话**; - 好容易回去了,**想不起来当初让它干什么**,得往回翻聊天记录找命令; - 一个会话里常常干过**好几种事**,不是「一个会话只做一件事」,记录乱成一团。 于是我意识到:用 agent 的本质动作其实特别简单——**输入命令 → agent 执行 → 输入命令 → agent 执行**。 那为什么不直接**以命令为切入点**?找到当时下达的那道命令,知道我让 agent 做了什么, 就能一路追溯到 agent 在哪里、完成了什么、死在了哪一步。 再往前一步:这不像在用工具,**像在当星际迷航的舰长**——舰长下达命令,大副和舰队成员 去各个星球执行。于是有了这个新的 agent 使用范式: > **不再是单纯的对话,而是下达一道道命令。** 它带来三个直接的好处: 1. **混乱的 session 被收编了。** 会话不再是管理的单位,命令才是。会话自动挂进由命令索引的 **战线**,从任何一张卡都能溯源到「我当初说了什么」。 2. **你真的可以挂机了。** 大副会分诊、呈计划、加派组员、核证据;回报由你定夺收官。你不必盯屏幕, 每次回到屏幕前,像舰长巡视一样一次性处理多条战线的事宜。 3. **它变有趣了。** 这很重要。 ## 它长什么样 ### 舰桥:星域即桌面  - **星域是界面本体**:任务 / 执行中 / 任务回报三只浮舱贴边压图,底部命令调度条满宽压底; - **浮舱即战况**:任务(大副侧台账)→ 执行中(实时动词活动行)→ 任务回报(等你翻阅收官); - **命令调度条**:全部命令卡横滚,每张卡一条四段生命条(命令→任务→执行→任务回报); - 卡片按**战线分组**、链色随战线——多代续接的战线一眼成串。 ### 灵动岛:到访即处理  点击顶部胶囊钉住:到访摘要(你离开时发生了什么)+ 收件箱(决重试 / 批计划 / 翻任务回报 / 答澄清)排成一列,最老的排最前。一次到访,批量发落。 ### 悬停聚焦:族系一目了然  悬停任何一张卡——乃至直接悬停星球——同族(同一条战线)的任务、执行、回报卡 一起亮起,其余压暗;管线随族显形。多代续接的战线不用找,它自己会亮。 ### 2D 战术盘:雷达值班态  不想要 3D 时还有一块 2D 雷达:HQ 居中、同心距离环、星球名签上移、 战线分段环、编队相位一览——值班监控的语言,V 键一键切换。 ### 下达命令:像定闹钟一样简单  - **常用命令模板**:每周总结 / 依赖巡检 / 测试巡检 / 文档同步 / 代码审查,点击即填; - **星球与战线一个控件**:先选星球(大副决定或指定工作区),再选接续哪条战线或新开—— 续接必随该星球的战线,结构上不可能选错; - **闹钟式定时**:单次 / 每天 / 工作日 / 每周…,下次触发时间实时预览,cron 只留给想写的人; - **三档自主度**:`!! 直接做`(L0 全自动)/ 大副分诊(默认,L1 计划呈批)/ `?? 先看方案`(L2 对话收敛)。 ### 一条命令的聚焦页:追溯的终点  点任何一张卡,进入这条命令的四段故事线:命令 → 任务 → 执行 → 任务回报。 计划呈批时,顶部常驻**「等你定夺」决策带**——批准即放权,驳回即重谈, 一键保留后果说明。半夜呈批的计划会明说「夜间无人值守照常执行」。 ### 星域:舰队在真实工作区上作战 顶部大图即星域。星球 = 真实工作区(或在沙盒里新建),颜色环 = 战线归属, 状态一望可知(蓝 = 机器在动 / 琥珀 = 等你 / 绿 = 善终 / 红 = 败), 外勤小队编队在星球间飞行执行任务。深空与天空双主题,浅色模式是完整的另一套美术 (浮空岛 + 天空旗舰 + 状态色环垫),不是简单反色。 ## 核心概念 | 概念 | 是什么 | |---|---| | **命令** | 你下达的一句话。板是一台读投影:账本里有的不隐藏,没有的不显示。 | | **战线** | 命令的聚合。多代续接(深化/重试/转向)成一条战线,绑一颗星球,链色标识。 | | **星球** | 真实工作区。星域是它们的地图;HQ 点击可把宿主已有工作区注册为星球。 | | **大副** | 你的贴身对话者:分诊每道命令、起草任务书、核证据、呈批计划。 | | **外勤小队** | 按组员编制(侦察/工程/卫生/宣传…TOML 可扩编)编成的子代理编队,在隔离工作区执行。 | | **KillCredit** | 机械复核判据:提交逐项对证据、全绿才算过,失败留败因一票否决——最终验收由舰长定夺(2026-09-01 起强制人工验收)。 | ## 快速开始 ```bash # 安装(dsh 内;版本史见 CHANGELOG——README 不钉版本号) dsh plugin add dsh-plugin-stardeck dsh plugin add ./dsh-plugin-stardeck-<版本>.tgz # 从源码跑(在 deepseek-harness checkout 内) git clone https://github.com/Kaiji-Z/dsh-plugin-stardeck cd dsh-plugin-stardeck && pnpm install && pnpm verify pnpm dsh --profile web --patch <本仓库路径>/cordis.dev.yml --port 3080 --no-open ``` 打开 web 端,侧边栏点「舰桥」,`+` 下达第一道命令——或者按 `n`。 **数据与恢复**:一切状态落在 append-only JSONL 账本(战役/命令/挂载/星球四条流), 状态由 fold 派生——崩溃可恢复,战后可复盘,历史永不丢。 > Windows 本地开发:`pnpm add file:` 装不进 profile 时用 junction(`mklink /J`)绕过; > patch 旗标必须 `dsh --profile web --patch ...` 连写。 ## 机器检查的信任 不靠「我觉得能跑」:`pnpm verify` 三段式(单元/回归测试 + 构建 + bundle 针脚断言) 每次提交全绿;`verify:eval` LLM 监督层(三维评分 + 越界一票否决);`verify:e2e` 真实 LLM 两代续接链实弹门。UI 侧有全套 Playwright 取证脚本(`scripts/shoot-*.py`), 对比度、键盘可达、双主题均有机检。协议见 [VERIFICATION.md](VERIFICATION.md)。 ## 文档 | 文档 | 内容 | |---|---| | [DESIGN.md](DESIGN.md) | 实现决策录:每个版本为什么这么做(改 UI 前必读) | | [AGENTS.md](AGENTS.md) | 给 AI 迭代 agent 的开局指引与坑录 | | [VERIFICATION.md](VERIFICATION.md) | 验证协议正本 | ## 版本变化 完整的版本历史见 [CHANGELOG.md](CHANGELOG.md)(Keep a Changelog 格式)。 ## License [MIT](LICENSE)
Install
dsh plugin --profile web add github:Kaiji-Z/dsh-plugin-stardeck
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-plugin-stardeck from the hub
- This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.