返回目录
Agent 与会话 插件

dsh-meshfin

jiale-li-orion/dsh-meshfin

One agent across many devices — a multi-device capability runtime and personal workbench for persistent agents, built on DeepSeek Harness.

Stars
1
Forks
0
Issues
1
更新
1 天前

PROJECT TOPICS

项目标签

INSTALL REFERENCE

安装参考

未验证
dsh plugin --profile web add github:jiale-li-orion/dsh-meshfin

该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。

PROJECT README

README

Meshfin

English | 中文

One agent across many devices. Meshfin is a multi-device capability runtime and personal workbench for persistent agents.

Meshfin is a community-maintained distribution of DeepSeek Harness. It combines the official dsh-v0.1.0-rc.7 runtime with session-context improvements, an archived-session Web bundle, seven anchored agent presets, and a mobile personal workbench in one repository.

DeepSeek Harness (dsh) uses an architecture where everything is a plugin. It is powered by Cordis, whose design is described in A Programming Paradigm for Spatiotemporal Composability.

This repository is not an official DeepSeek AI release. The exact upstream revisions, licenses, and adaptation patches are recorded in COMMUNITY_SOURCES.md.

What this repository contains

Two halves, installed and updated separately:

Half What it is Where
Local DSH The harness on your own computer: the Web UI, the community modules, the shared workbench, and the mobile presentation of the same session. This is the half you run. packages/, community/, apps/cli, apps/web
Android app An optional thin shell for the phone. It carries only the browser layer a stock phone browser cannot be configured to provide, and it views the host's Web UI rather than being a second client. apps/android-shell/

The local half is usable from a phone's browser with no app at all. The app exists because the phone browser in this deployment cannot be configured the way the Web UI needs.

Highlights

  • One session, every device. A conversation continues on the computer and the phone; the phone works the same session, and the model is told which kind of client sent each prompt.
  • The phone can hand things over. A file picked on the phone reaches the session workspace through a fenced host route, appears in an uploads panel grouped by sender, and previews in the workbench. Retrying one pick answers with the first result instead of storing the bytes twice.
  • A workbench both sides share. Panels and file viewers register through declared slots, the browser and the agent mutate one host-owned view, and a fenced byte route streams workspace files with Range/206/416, so a video seeks and a long PDF previews.
  • The phone is a first-class narrow client, not a second product: three pages under one bar with exactly one visible, an interface scale for small screens, and a connection-loss line when the stream generation dies.
  • An optional thin Android shell carries only the browser layer a stock phone browser cannot supply — local asset caching, launcher identity, a foreground service, a loopback proxy — with no API key, no second session store, and no agent-loop change.
  • Agent presets that pace themselves. Seven anchored compositions: a controlled first-turn tool face, context gates, wire-think routing, compaction-aware promotion.
  • Long sessions stay affordable, through bounded log reads, context inspection and range compaction, history recall, and model-capacity-aware summary planning.
  • Session archive management, and a plugin catalog whose search and install paths share one validated install capability.

Imported community modules and their exact provenance are audited in Community optimizations (中文); upstream revisions and licenses are recorded in COMMUNITY_SOURCES.md.

Quick start

What you need

Computer Windows with PowerShell, or WSL/Linux
Phone (optional) Android; the browser alone is enough — the app adds what a browser cannot be configured to do
API key a DeepSeek API key
Network one private network joining the two; this deployment uses Tailscale

1. The computer

Download and run — nothing to build:

WSL / Linux x64

curl -L -o meshfin.tar.gz https://github.com/jiale-li-orion/dsh-meshfin/releases/download/pc-wsl/meshfin-linux-x64.tar.gz
tar xzf meshfin.tar.gz
cd meshfin-linux-x64
./meshfin web

Windows x64, in PowerShell — download and expand meshfin-windows-x64.zip, then:

cd meshfin-windows-x64
Set-ExecutionPolicy -Scope Process RemoteSigned
.\meshfin.ps1 web

Both archives carry the harness, its dependencies, a Node runtime, and the community modules already installed, so DSH_HOME defaults to the distribution's own data/ directory and nothing is written outside the extracted folder unless you set it. The WSL/Linux build was smoke-tested end to end; the Windows build has not been run on Windows yet, so treat its first launch as the check.

Or build the checkout yourself. Install Node.js ^22.19.0 or >=24.0.0, install pnpm 11.22, clone the repository, run the keyless community checks, and build the Harness:

npm install --global pnpm@11.22.0
git clone https://github.com/jiale-li-orion/dsh-meshfin.git
cd dsh-meshfin
pnpm install --frozen-lockfile
pnpm run community:check
pnpm run build

Choose a DSH home, install the community modules, and start the Web UI:

export DSH_HOME="${DSH_HOME:-$HOME/.dsh}"
pnpm run community:install -- --dsh-home "$DSH_HOME"
pnpm dsh web

The installer adds the archived-session bundle only to the web profile and installs these preset ids under .agent-presets: anchored-standard, prefab-anchored-standard, combo-anchored-standard, eternal-minimal, whoami-standard, wire-think-standard, and zero-anchored-standard. It refuses foreign destinations, backs up owned installations before --update, and never accesses the sessions directory.

The Web UI is served at http://127.0.0.1:3080 by default. Keep this terminal open while using DSH.

2. The API key

Give the harness a DeepSeek API key: export DEEPSEEK_API_KEY, put it in a .env at the repository root, or add it in the Web UI's settings. Until a key is present the Web UI still starts; model turns cannot.

3. The phone

The Web UI binds to 127.0.0.1, so a phone reaches it over a private network, never the public internet. Tailscale is what this deployment uses: sign the computer and the phone into the same tailnet, then open the computer's tailnet address in the phone's browser. Nothing about DSH changes; the tailnet only extends where its address resolves.

The phone needs no Google Play account for that — Tailscale publishes its Android build for direct download at https://pkgs.tailscale.com/stable/#android.

Whatever private network you use, the deployment fact is the same: the host answers at one stable name and only from inside that network. Our own deployment record stays outside this repository, because it names a specific host.

The thin Android app is optional and separate; when the phone browser is not enough, see the app's README.

On Windows, running desktop\windows\setup.cmd once from the extracted archive puts a Meshfin Web shortcut on the desktop, with the icon and the browser-opening launcher; --tile also builds the desktop tile. desktop/linux/install-desktop-entry.sh does the same for a Linux or WSL desktop application menu. The launcher is documented in the desktop launcher README.

Later launches and updates

Start an installed checkout again with the same DSH home:

cd dsh-meshfin
export DSH_HOME="${DSH_HOME:-$HOME/.dsh}"
pnpm dsh web

After pulling suite updates, refresh dependencies, rebuild, and update only installations owned by this suite:

git pull --ff-only
pnpm install --frozen-lockfile
pnpm run community:check
pnpm run build
pnpm run community:install -- --dsh-home "$DSH_HOME" --update

See the Web UI guide (中文) for profile and interface details.

Official npm distribution

To run the unmodified official npm distribution without this suite's community modules:

npx @deepseek-ai/dsh web

Repository layout

community/
├── bundles/archived-sessions/
├── presets/anchored-standard/
├── patches/
└── install.mjs
packages/
apps/android-shell/
apps/cli/
apps/web/
docs/community-optimizations.md
COMMUNITY_SOURCES.md

Community and support

Contributing

See CONTRIBUTING.md. Start development work with the development guide (中文), architecture documentation (中文), and AGENTS.md.

License

MIT

Third-party source revisions and licenses are recorded in COMMUNITY_SOURCES.md and THIRD_PARTY_NOTICES.md. Each imported community module retains its own license and notices.

CLASSIFICATION EVIDENCE

分类依据

项目类型插件
功能分类Agent 与会话
规则置信度

系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: personal-agent。