为 DeepSeek Harness 提供项目看板、任务表、AI 会议转录与意图落库的开源办公协作与团队管理插件。
- 语言
- TypeScript
- License
- MIT
- 分支
- main
安装
$ dsh plugin --profile web add github:juntaoding/Flowboard#path:packages/dsh在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程
对话式安装
帮我安装 DeepSeek Harness 插件 juntaoding/Flowboard/packages/dsh:先查看仓库 https://github.com/juntaoding/Flowboard 确认安全性,然后执行安装命令并验证插件加载成功。
把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。
一句话定位
为 DeepSeek Harness 增加办公协作与团队管理能力:把项目、任务、会议、转录和资料放进同一个共享工作空间,让 DSH Agent 能像团队成员一样读、改、跟进这些工作。
核心能力
- Jira 式项目看板:每个项目自带待办 / 进行中 / 已完成三栏工作流,支持拖拽、负责人、优先级、进度与截止时间
- 多维任务表:支持文本、数字、日期、单选、多选、人员等自定义字段,原位编辑并保存到项目共享视图
- 个人与团队视角:我的任务、个人看板、个人日程、跨项目聚合都在同一份业务数据上展示,不复制数据
- 浏览器内 AI 会议:浏览器 VAD 自动切片 → 本地 Whisper 转录 → 会议 Supervisor 实时识别行动项、决议、风险
- 可追溯的工作关系:项目、会议、任务、Markdown 资料之间通过 intent_key、evidenceFromSequence 等字段相互关联,能顺着任务找会议、找资料
- 共享的写入通道:Agent 工具与浏览器 Remote 都走同一个
FlowboardService,写入统一经过授权、校验、幂等、乐观锁、事务与审计
技术实现
- 语言: TypeScript(ESM),私有 workspace 包在构建时聚合进单一插件 tarball
- 关键依赖:
@flowboard/dsh-service(Host 端 Cordis 服务 + Agent 工具注册)、fastify(内嵌 HTTP API)、node:sqlite(持久化)、whisper.cpp(linux-x64 原生 CLI,随包发布)、antd+@dnd-kit/*(浏览器 UI)、@deepseek-ai/dsh-typert-protocol(Host/Client Remote 桥) - 架构模式: DSH Cordis 双端插件。Host 端通过
cordis.patch.yml挂载@flowboard/dsh,构造FlowboardService(继承TypertRemoteService)并启动内嵌 Fastify、SQLite、Whisper Worker;Client 端packages/dsh-client/src/client/index.ts通过ctx.slots.inject注册conversation.view(FlowboardView)和conversation.input.dock(FlowboardMeetingDock)两个槽位 - 入口文件:
packages/dsh/src/index.ts(仅 re-export)、packages/dsh-service/src/index.ts(Host 主入口)、packages/dsh-client/src/client/index.ts(Browser 主入口)、packages/server/src/runtime.ts(内嵌运行时)
适用场景
希望在不离开 DeepSeek Harness 的前提下让团队工作有"骨架"的团队:会议中口头产生的任务、决议、风险能自动转写并落到项目看板,Agent 在自己的 Session 里也能直接读、改这些任务,并把产出沉淀回同一任务上下文。适合需要把"会议 → 任务 → 文档"打通的小到中型团队,特别是已经在用 DSH Agent 协作的场景。
前置依赖与兼容性
| 依赖 | 最低版本 | 说明 |
|---|---|---|
| DeepSeek Harness | 0.1.0-rc.6 | 由 peerDependencies 声明,DSH Tools / Typert 协议等都是 ^0.1.0-rc.6 |
| Node.js | 22.19.0 或 24+ | `engines.node: ^22.19.0 |
| 平台 | Linux x64 | 内置 Whisper 仅发布 vendor/whisper/linux-x64,其他平台首次启动会议会抛错 |
| 原生模块 | node:sqlite、Whisper CLI、ggml-small 模型 | 持久化与转写都是原生依赖;模型随包发布,约 430 MB |
| 磁盘空间 | 约 500 MB | 包含完整 ggml-small 转写模型 |
安装方式
dsh plugin --profile web add github:juntaoding/Flowboard#path:packages/dsh
配置项
插件没有运行时可视化配置页;可在安装目录的 cordis.patch.yml 里调整挂载参数。
| 配置 | 类型 | 说明 | 默认值 |
|---|---|---|---|
embedded | 布尔 | 是否在 DSH Host 进程内启动 Fastify + SQLite + Whisper Worker;关闭后只做远程客户端 | true |
apiBase | 字符串 | 内嵌 API 的访问地址,embedded: false 时指向独立部署的服务端 | http://127.0.0.1:8787 |
host | 字符串 | 仅 embedded: true 时生效,绑定监听的网卡 | 127.0.0.1 |
port | 数字 | 仅 embedded: true 时生效,Fastify 监听端口 | 8787 |
token | 字符串 | 仅 embedded: true 时生效,可注入固定访问令牌;留空则每次启动随机生成 32 字节 base64url | 随机生成 |
dataDirectory | 字符串 | 覆盖 SQLite 与上传目录的父目录 | $DSH_HOME/flowboard |
FLOWBOARD_HOST / FLOWBOARD_PORT / FLOWBOARD_TOKEN / FLOWBOARD_DB / FLOWBOARD_UPLOAD_DIR / FLOWBOARD_PUBLIC_URL | 环境变量 | 独立运行 packages/server/src/cli.ts(flowboard-whisper 之外的旁路)时使用 | — |
FLOWBOARD_TRANSCRIBE_COMMAND / FLOWBOARD_TRANSCRIBE_ARGS / FLOWBOARD_TRANSCRIBE_LANGUAGE | 环境变量 | 覆盖内置 Whisper,可换用其他 ASR 命令;ARGS 必须是 JSON 字符串数组 | linux-x64 走 vendor/whisper/linux-x64/bin/whisper-cli,语言 zh |
常见问题
Q: 数据放在哪里?卸载后会丢失吗?
A: 默认写到 $DSH_HOME/flowboard,未设置 DSH_HOME 时是 ~/.dsh/flowboard。dsh plugin --profile web remove @flowboard/dsh 不会自动删除该目录,要清理的话先停 DSH 再手动备份和删除。
Q: 浏览器侧的会议录音会上传到哪?
A: 浏览器 VAD 把 PCM 编码成 WAV 切片,通过 flowboard_upload_audio 走 DSH Typert Remote 推到 Host 的 Fastify 上传接口,落到 $DSH_HOME/flowboard/uploads 下的临时文件,由同进程的 Whisper Worker 读取并删除,过程中不经过任何第三方服务。
Q: 浏览器会读到我的大模型 API Token 吗?
A: 不会。FlowboardService 只读取自己的内嵌访问令牌(默认随机生成),浏览器只与 Host 的 Typert Remote 通信;上游模型 Token 由 DSH Host 统一管理,浏览器代码拿不到。
Q: 我能在 macOS 或 Windows 上用会议转录吗?
A: 内置 Whisper CLI 只随包发布 Linux x64 版本,packages/server/src/whisper-runtime.ts 在其它平台会抛 "The bundled Flowboard transcriber does not support …"。要支持其它平台,要么新增经过校验的 vendor 变体,要么通过 FLOWBOARD_TRANSCRIBE_COMMAND / FLOWBOARD_TRANSCRIBE_ARGS 指向本机已有的 ASR 命令。
Q: Agent 调用 flowboard_create_task 会出错吗?
A: 一般不会。工具会先通过 client.snapshot 找到当前可写项目,缺失字段(如标题)会用"未命名任务"先建可修订实体,再让后续调用改;只有缺失可写项目 / 可写团队、权限不足、删除等不可逆操作会主动抛错并等待用户确认。
Q: 怎么升级插件?
A: 先下载新版本的 Alpha tarball 与 SHA256SUMS 并校验,再用 dsh plugin --profile web add --force ./flowboard-dsh-*.tgz 覆盖安装;当前 Alpha 不提供数据库迁移链,schema 版本变化时需要手动备份并清空 $DSH_HOME/flowboard 后再启动。
Q: 启动后默认有什么数据?
A: 首次启动会自动植入一个本地 Owner 账号(tenant-local)、Default Team、Default Project 以及三栏默认工作流(待办 / 进行中 / 已完成)和项目看板、任务表两个默认视图;可以在 DSH 设置里改名再建真实团队成员。
Q: 插件是开源的吗?
A: 是。仓库采用 MIT License,主页上有 CONTRIBUTING.md / SECURITY.md / CODE_OF_CONDUCT.md / THIRD_PARTY_NOTICES.md;Alpha 阶段只接受 v*-alpha.* tag 并通过 GitHub prerelease 发布。
上手难度
进阶 — 普通用户只需要安装后让 Agent 创建第一批任务,并在浏览器里开一场会议;但要理解任务、意图(intent_key / evidenceFromSequence / delivered vs analyzed 水位)等概念,需要熟悉一段时间;要自定义转写或部署分布式版本则需要阅读 docs/architecture/ 下的设计文档。
已知问题与限制
- 内置 Whisper CLI 仅提供 Linux x64 vendor;macOS / Windows / Linux arm64 启动会议会抛平台不支持错误,需自备 ASR 并通过环境变量接入(
packages/server/src/whisper-runtime.ts:36) - 当前只有一个本地 Owner 账号,没有完整的注册、邀请、令牌管理 UI(
README.zh-CN.md:182) - 持久化仅支持 SQLite,没有 PostgreSQL adapter 或分布式部署方案(
README.zh-CN.md:183) - 数据库
schema_migrations当前固定版本 3,Alpha 阶段不提供生产迁移链;schema 演进需要手动清理$DSH_HOME/flowboard后重建(packages/server/src/database.ts:6、README.zh-CN.md:185) - 默认 API 监听
127.0.0.1,不直接对外服务;要远程访问需要自行用反向代理或改FLOWBOARD_HOST为0.0.0.0并提供有效 token(packages/server/src/runtime.ts:29) - 浏览器 VAD 与 Whisper 转写串行处理,默认 Worker 并发 2、单段最长 15 秒;长时间会议不会出现丢字但实时性取决于模型速度(
packages/server/src/worker.ts:54、packages/dsh-client/src/client/use-audio-recorder.ts:13) - 不是每个 DSH Session 都会被自动绑定到任务;跨 Session 的执行追踪仍是产品演进方向(
README.zh-CN.md:186) - 安装包包含完整
ggml-small模型与 Linux 共享库,Alpha tarball 体积约 430 MB,已通过 GitHub Release 提供以避开 npm 字符串上限(CHANGELOG.md:11)
English | 简体中文
Let work happen naturally in the Harness while keeping the team aligned without extra management overhead.
Flowboard is an open-source office collaboration and team management plugin for DeepSeek Harness (DSH). It brings goals, meetings, people, agent execution, progress, and documents into one coherent workflow, so work can move continuously from discussion to execution and shared knowledge. Tasks are not the boundary of the product; they are the backbone that supports this way of working.
Alpha:
0.1.2-alpha.5is still at an early validation stage. APIs, data structures, and installation procedures may change incompatibly. It is intended for local evaluation and small-team trials, not stable production deployments.
Management Without the Busywork
Traditional task management makes employees do the same work twice: first they meet, communicate, and execute, then they open another system to create tasks, assign owners, update progress, and organize documents. The management system records a manually maintained copy of the work rather than the work itself. As soon as people stop updating it, the board becomes inaccurate.
AI-assisted work makes this problem even more visible. People already use agents in the Harness to research, write, analyze, plan, and execute. If those results remain in individual sessions, the team still cannot see who is doing what, how work is progressing, or what has been produced. Someone eventually has to copy the information and report it manually.
Flowboard changes how task information is created:
- When work begins, goals and meeting action items become tasks, owners, and plans.
- While work is in progress, members and agents execute and update progress in the same task context.
- When work is completed, documents, decisions, and supporting material return to the original task and project.
- When the team collaborates, every member and agent reads the same authoritative state and continues from there.
People still complete tasks, but no longer have to manage a separate copy of them. Management happens as the work happens.
One Operating Model Across the Harness
The Harness is where people and agents work. Flowboard provides its collaboration and organizational memory layer. Goals set direction, meetings create alignment, people and agents execute together, progress stays current, and documents preserve the outcome. Tasks connect these stages instead of becoming a form that employees must maintain outside their conversations.
An employee sets a goal / the team holds a meeting
↓
The Harness agent understands intent and existing context
↓
Flowboard creates tasks, ownership, plans, and linked documents
↓
Members and agents continue execution in their own sessions
↓
Progress, issues, documents, and decisions return to one task context
↓
The next member or agent continues from the actual state of the work
DSH remains responsible for sessions, models, agents, and the plugin lifecycle. Flowboard does not create a second agent entry point or make DSH depend on a standalone application. Users install only @flowboard/dsh; the UI and agents then share the same FlowboardService, data, and authorization rules.
How a Complete Workflow Unfolds
Consider a product meeting:
- Before the meeting: A member asks an agent to read project progress, incomplete tasks, and related documents, then assemble the meeting context.
- During the meeting: Flowboard segments audio locally in the browser and transcribes it with the bundled Whisper runtime. The meeting Supervisor continuously identifies action items, decisions, risks, and supporting material.
- Live revisions: “Assign it to Alex,” “No, change that to Sam,” and “Finish it by next Wednesday” are understood as successive revisions to one intent rather than three duplicate tasks.
- After the meeting: Tasks, owners, due dates, decisions, risks, the meeting summary, and linked documents are already part of the project. No second round of manual data entry is needed.
- Continued execution: The owner returns to their Harness session and asks an agent to research, write, or execute. Task status and outputs continue to accumulate in the original context.
Managers see state produced by the work itself, not a status report filled in afterward.
What You Get
| Capability | What it changes |
|---|---|
| AI-native office collaboration | Agents can read team context and connect goals, meetings, tasks, and documents without employees transcribing everything into another system. |
| Jira-style project boards | Manage tasks with workflows such as To Do, In Progress, and Done, including drag and drop, assignees, priority, progress, and due dates. |
| Multidimensional task tables | View and edit tasks in a dense table with custom text, number, date, single-select, multi-select, and people fields. |
| AI meeting secretary | Browser VAD, local Whisper, live transcription, intent revision, persisted action items, and post-meeting summaries form a complete workflow. |
| Documents and organizational memory | Markdown documents can be linked to projects, meetings, and tasks, allowing agents to follow the history and rationale behind the work. |
| Personal and team perspectives | My Tasks, personal boards, personal calendars, and project workspaces share the same business facts instead of duplicating data. |
| Authorization and auditability | Writes from both the UI and agents pass through authorization, runtime validation, idempotency, optimistic locking, transactions, versioning, and audit logs. |
Quick Start
Requirements
- Linux x64. The bundled native Whisper runtime is currently available only for this platform.
- Node.js
22.19+or24+. - DeepSeek Harness
0.1.0-rc.6, with thedshcommand available. - About 500 MB of free disk space. The plugin includes the complete
ggml-smallmodel.
Install From a GitHub Release
Every Alpha tag creates a GitHub prerelease containing the complete plugin tarball and SHA256SUMS. Because the package includes the full Whisper model and is larger than npm clients can publish reliably, Alpha builds are distributed through GitHub Releases:
FLOWBOARD_VERSION=0.1.2-alpha.5
curl -LO "https://github.com/juntaoding/Flowboard/releases/download/v${FLOWBOARD_VERSION}/flowboard-dsh-${FLOWBOARD_VERSION}.tgz"
curl -LO "https://github.com/juntaoding/Flowboard/releases/download/v${FLOWBOARD_VERSION}/SHA256SUMS"
sha256sum -c SHA256SUMS
dsh plugin --profile web add "./flowboard-dsh-${FLOWBOARD_VERSION}.tgz"
dsh web
Open http://127.0.0.1:3080 and select Flowboard in the main DSH session view.
The release asset includes the complete Whisper model and is approximately 430 MB. Install it only after the checksum succeeds.
First Use
On first launch, Flowboard creates a local Owner, a default team, and a default project so you can start immediately. Data is stored in $DSH_HOME/flowboard, or ~/.dsh/flowboard when DSH_HOME is not set.
1. Explore the Workspace
When you open Flowboard, the sidebar provides the complete office navigation:
- Home: Today's tasks, schedule, active projects, and recent AI operations.
- My Tasks / Personal Board / Personal Calendar: Work aggregated across projects for the current person.
- Meetings / Documents: Team meetings and knowledge outputs.
- People / Teams: Organization and permission management.
- Projects: Overview, Jira board, task list, meetings, documents, and members for each project.
A good first step is to rename Default Team and Default Project, then add real members, workflows, and tasks.
2. Ask an Agent to Create the First Tasks
Return to a DSH conversation and describe the work directly instead of filling in a complete form first:
Create a project for the product Alpha launch and break design review,
plugin packaging, installation verification, and release notes into tasks.
Assign plugin installation verification to me, set the priority to high,
and make it due this Friday.
List the tasks assigned to me that do not have a due date yet.
Flowboard's agent tools read the current workspace, choose a writable project, and create or update real tasks within the user's permissions. When non-critical fields are missing, they can first create a provisional entity that remains easy to revise. Deletions and irreversible operations still require confirmation.
3. Start the First AI Meeting
On the Flowboard home page, select Start a meeting → Start now, allow microphone access, and discuss normally. Instant meetings automatically execute validated safe operations by default. When creating a meeting from the meeting list, you can also choose record only, suggest before execution, or automatically execute safe operations.
During the meeting, you can monitor:
- whether live transcription continues to arrive;
- whether the Supervisor is waiting for delivery, analyzing, or caught up;
- whether action items are created, revised, or withdrawn;
- whether AI questions, project documents, and operation records enter the same meeting context.
When you select End meeting, Flowboard drains the final audio segment, waits for transcription and intent processing to converge, generates a summary, and then closes the meeting. Open the project board afterward to review the resulting tasks and documents.
4. Continue in the Harness
Meetings are only one input. You can continue by asking an agent:
Summarize unresolved risks from the last three meetings in the product project.
Turn the technical decisions from this discussion into a project document
and link it to the relevant tasks.
Read the context for FLOW-12, complete the research, then update the task's
progress and conclusions.
This is the core Flowboard workflow: stay in the Harness, avoid maintaining a duplicate task system, and let agents continue from shared work state.
Installation Management
Upgrade to an Alpha build you have already downloaded:
dsh plugin --profile web add --force ./flowboard-dsh-*.tgz
Uninstall the plugin:
dsh plugin --profile web remove @flowboard/dsh
Upgrading or uninstalling does not automatically delete $DSH_HOME/flowboard. To remove data, stop DSH first, back up the directory, and verify the exact path before deleting it.
Data and Security Boundaries
- DSH is the only host and startup entry point. The Flowboard API, SQLite database, and Worker start and stop with the plugin lifecycle.
- The browser calls the Host only through DSH Typert Remote and never reads or stores an upstream API token.
- Embedded mode generates a random 32-byte access token on every startup and uses it only inside the Host.
- The Whisper CLI, shared libraries, and
ggml-smallmodel are bundled with the plugin. Default transcription does not depend on a system installation of Whisper or ffmpeg. - Audio is processed by the local Flowboard runtime. The Worker removes completed or failed temporary segments.
- Every write goes through the same server-side authorization, validation, idempotency, optimistic locking, transaction, and audit pipeline.
For implementation details, see DSH Native Plugin Architecture and Release Specification and System Architecture Overview. These design documents are currently maintained in Chinese.
Alpha Limitations
- The default setup currently uses one local Owner. Full account sign-in, invitations, and token management are not yet integrated.
- Persistence currently uses SQLite. There is no PostgreSQL adapter or distributed deployment option.
- The bundled Whisper runtime supports Linux x64 only. Other platforms require additional validated vendor variants.
- The database schema is evolving rapidly and there is no production migration chain yet.
- Agents can read the workspace, create and update projects, tasks, and documents, and process meeting intents. However, not every DSH session is automatically bound to a task; richer execution tracking across sessions remains a product direction.
Local Development
git lfs install
git lfs pull
corepack enable
pnpm install --frozen-lockfile
pnpm dev
pnpm dev runs the full checks, builds a real npm tarball, installs it into an isolated .dsh-dev profile with dsh plugin --profile web add, and starts dsh web. It does not use workspace symlinks or a temporary --patch, so it exercises the same installation boundary as an end user.
Before releasing:
pnpm run check
pnpm run plugin:pack
pnpm run plugin:package-check
pnpm run plugin:install-check
pnpm run release:check
Only @flowboard/dsh is publicly distributed. Contracts, Server, Host, Client, and the Typert adapter remain private source modules in this repository and are assembled into one plugin package during the build. The Whisper model is stored through Git LFS; source assets, staging directories, and final tarballs are all checked for SHA-256 integrity and executable permissions.
Open Source and Contributing
Flowboard is available under the MIT License. Before opening an issue or pull request, read the Contributing Guide, Security Policy, Code of Conduct, and Third-Party Notices. Version changes are recorded in the Changelog.
Alpha releases accept only v*-alpha.* tags and are published as GitHub prereleases. Release packages must pass a real DSH installation, web startup, API health check, and Whisper asset audit.
Documentation
The following technical documents are currently maintained in Chinese:
查看使用指南 →
该插件的安装步骤、关键要点、FAQ 与兼容性说明(基于已收录字段派生)。
收录徽章
[](https://deepseek-plugin.org/plugins/juntaoding/Flowboard/packages/dsh)把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。