@marktrue/dsh-mobile-remote 3.2.1-alpha.3 → 3.2.1-rc.1-app
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DSH-Remote-v3.2.1.apk +4 -0
- package/README.md +6 -253
- package/manifest.json +21 -0
- package/package.json +12 -65
- package/CHANGELOG.md +0 -810
- package/CONTRIBUTING.md +0 -59
- package/FAQ.md +0 -111
- package/cordis.patch.yml +0 -14
- package/docs/00-/345/274/200/345/217/221/346/200/273/347/272/262.md +0 -122
- package/docs/01-PRD.md +0 -148
- package/docs/02-architecture.md +0 -249
- package/docs/03-api.md +0 -816
- package/docs/04-security.md +0 -96
- package/docs/05-test-cases.md +0 -326
- package/docs/06-install-run.md +0 -308
- package/docs/07-user-manual.md +0 -65
- package/docs/08-/346/211/251/345/261/225/345/274/200/345/217/221/346/214/207/345/215/227.md +0 -86
- package/docs/09-compatibility.md +0 -195
- package/docs/10-release.md +0 -927
- package/docs/screenshots/01-home.png +0 -0
- package/docs/screenshots/02-notifications.png +0 -0
- package/docs/screenshots/03-sessions.png +0 -0
- package/docs/screenshots/04-chat.png +0 -0
- package/docs/screenshots/05-settings.png +0 -0
- package/docs/screenshots/06-new-session.png +0 -0
- package/docs/screenshots/pgy-appstore.jpg +0 -0
- package/docs/screenshots/pgy-mobile-app.jpg +0 -0
- package/docs/screenshots/pgy-pc-client.jpg +0 -0
- package/lib/account-usage.js +0 -145
- package/lib/app-alignment.js +0 -112
- package/lib/app-carrier-store.js +0 -1972
- package/lib/app-carrier.js +0 -602
- package/lib/client.js +0 -706
- package/lib/desktop-form.js +0 -738
- package/lib/endpoint-registry.js +0 -162
- package/lib/git-read-bundled-provider.js +0 -255
- package/lib/git-read-service.js +0 -322
- package/lib/index.js +0 -9292
- package/lib/plugin-content-digest.js +0 -80
- package/lib/plugin-self-update.js +0 -758
- package/lib/plugin-update-controller.js +0 -95
- package/lib/plugin-update-transaction.js +0 -322
- package/lib/plugin-update.js +0 -309
- package/lib/runtime-dependency-snapshot.js +0 -345
- package/lib/session-title-cache.js +0 -123
- package/lib/session-title-refresh.js +0 -261
- package/lib/update-fetch.js +0 -24
- package/lib/update-lock-arbiter.js +0 -158
- package/lib/update-supervisor.js +0 -312
- package/node_modules/ansi-regex/index.d.ts +0 -37
- package/node_modules/ansi-regex/index.js +0 -10
- package/node_modules/ansi-regex/license +0 -9
- package/node_modules/ansi-regex/package.json +0 -55
- package/node_modules/ansi-regex/readme.md +0 -78
- package/node_modules/ansi-styles/index.d.ts +0 -345
- package/node_modules/ansi-styles/index.js +0 -163
- package/node_modules/ansi-styles/license +0 -9
- package/node_modules/ansi-styles/package.json +0 -56
- package/node_modules/ansi-styles/readme.md +0 -152
- package/node_modules/camelcase/index.d.ts +0 -63
- package/node_modules/camelcase/index.js +0 -76
- package/node_modules/camelcase/license +0 -9
- package/node_modules/camelcase/package.json +0 -43
- package/node_modules/camelcase/readme.md +0 -99
- package/node_modules/cliui/CHANGELOG.md +0 -76
- package/node_modules/cliui/LICENSE.txt +0 -14
- package/node_modules/cliui/README.md +0 -115
- package/node_modules/cliui/index.js +0 -354
- package/node_modules/cliui/package.json +0 -65
- package/node_modules/color-convert/CHANGELOG.md +0 -54
- package/node_modules/color-convert/LICENSE +0 -21
- package/node_modules/color-convert/README.md +0 -68
- package/node_modules/color-convert/conversions.js +0 -839
- package/node_modules/color-convert/index.js +0 -81
- package/node_modules/color-convert/package.json +0 -48
- package/node_modules/color-convert/route.js +0 -97
- package/node_modules/color-name/LICENSE +0 -8
- package/node_modules/color-name/README.md +0 -11
- package/node_modules/color-name/index.js +0 -152
- package/node_modules/color-name/package.json +0 -28
- package/node_modules/decamelize/index.js +0 -13
- package/node_modules/decamelize/license +0 -21
- package/node_modules/decamelize/package.json +0 -38
- package/node_modules/decamelize/readme.md +0 -48
- package/node_modules/dijkstrajs/.travis.yml +0 -4
- package/node_modules/dijkstrajs/CONTRIBUTING.md +0 -8
- package/node_modules/dijkstrajs/LICENSE.md +0 -19
- package/node_modules/dijkstrajs/README.md +0 -18
- package/node_modules/dijkstrajs/dijkstra.js +0 -165
- package/node_modules/dijkstrajs/package.json +0 -60
- package/node_modules/dijkstrajs/test/dijkstra.test.js +0 -96
- package/node_modules/emoji-regex/LICENSE-MIT.txt +0 -20
- package/node_modules/emoji-regex/README.md +0 -73
- package/node_modules/emoji-regex/es2015/index.js +0 -6
- package/node_modules/emoji-regex/es2015/text.js +0 -6
- package/node_modules/emoji-regex/index.d.ts +0 -23
- package/node_modules/emoji-regex/index.js +0 -6
- package/node_modules/emoji-regex/package.json +0 -50
- package/node_modules/emoji-regex/text.js +0 -6
- package/node_modules/find-up/index.d.ts +0 -137
- package/node_modules/find-up/index.js +0 -89
- package/node_modules/find-up/license +0 -9
- package/node_modules/find-up/package.json +0 -53
- package/node_modules/find-up/readme.md +0 -156
- package/node_modules/get-caller-file/LICENSE.md +0 -6
- package/node_modules/get-caller-file/README.md +0 -41
- package/node_modules/get-caller-file/index.d.ts +0 -2
- package/node_modules/get-caller-file/index.js +0 -22
- package/node_modules/get-caller-file/index.js.map +0 -1
- package/node_modules/get-caller-file/package.json +0 -42
- package/node_modules/is-fullwidth-code-point/index.d.ts +0 -17
- package/node_modules/is-fullwidth-code-point/index.js +0 -50
- package/node_modules/is-fullwidth-code-point/license +0 -9
- package/node_modules/is-fullwidth-code-point/package.json +0 -42
- package/node_modules/is-fullwidth-code-point/readme.md +0 -39
- package/node_modules/locate-path/index.d.ts +0 -83
- package/node_modules/locate-path/index.js +0 -65
- package/node_modules/locate-path/license +0 -9
- package/node_modules/locate-path/package.json +0 -45
- package/node_modules/locate-path/readme.md +0 -122
- package/node_modules/p-limit/index.d.ts +0 -38
- package/node_modules/p-limit/index.js +0 -57
- package/node_modules/p-limit/license +0 -9
- package/node_modules/p-limit/package.json +0 -52
- package/node_modules/p-limit/readme.md +0 -101
- package/node_modules/p-locate/index.d.ts +0 -64
- package/node_modules/p-locate/index.js +0 -52
- package/node_modules/p-locate/license +0 -9
- package/node_modules/p-locate/package.json +0 -53
- package/node_modules/p-locate/readme.md +0 -90
- package/node_modules/p-try/index.d.ts +0 -39
- package/node_modules/p-try/index.js +0 -9
- package/node_modules/p-try/license +0 -9
- package/node_modules/p-try/package.json +0 -42
- package/node_modules/p-try/readme.md +0 -58
- package/node_modules/path-exists/index.d.ts +0 -28
- package/node_modules/path-exists/index.js +0 -23
- package/node_modules/path-exists/license +0 -9
- package/node_modules/path-exists/package.json +0 -39
- package/node_modules/path-exists/readme.md +0 -52
- package/node_modules/pngjs/.eslintignore +0 -2
- package/node_modules/pngjs/.eslintrc.json +0 -19
- package/node_modules/pngjs/.prettierignore +0 -3
- package/node_modules/pngjs/LICENSE +0 -20
- package/node_modules/pngjs/README.md +0 -429
- package/node_modules/pngjs/browser.js +0 -16096
- package/node_modules/pngjs/coverage/lcov-report/base.css +0 -354
- package/node_modules/pngjs/coverage/lcov-report/bitmapper.js.html +0 -881
- package/node_modules/pngjs/coverage/lcov-report/bitpacker.js.html +0 -554
- package/node_modules/pngjs/coverage/lcov-report/block-navigation.js +0 -77
- package/node_modules/pngjs/coverage/lcov-report/chunkstream.js.html +0 -647
- package/node_modules/pngjs/coverage/lcov-report/constants.js.html +0 -176
- package/node_modules/pngjs/coverage/lcov-report/crc.js.html +0 -200
- package/node_modules/pngjs/coverage/lcov-report/favicon.png +0 -0
- package/node_modules/pngjs/coverage/lcov-report/filter-pack.js.html +0 -593
- package/node_modules/pngjs/coverage/lcov-report/filter-parse-async.js.html +0 -152
- package/node_modules/pngjs/coverage/lcov-report/filter-parse-sync.js.html +0 -143
- package/node_modules/pngjs/coverage/lcov-report/filter-parse.js.html +0 -611
- package/node_modules/pngjs/coverage/lcov-report/format-normaliser.js.html +0 -359
- package/node_modules/pngjs/coverage/lcov-report/index.html +0 -426
- package/node_modules/pngjs/coverage/lcov-report/interlace.js.html +0 -365
- package/node_modules/pngjs/coverage/lcov-report/packer-async.js.html +0 -230
- package/node_modules/pngjs/coverage/lcov-report/packer-sync.js.html +0 -248
- package/node_modules/pngjs/coverage/lcov-report/packer.js.html +0 -467
- package/node_modules/pngjs/coverage/lcov-report/paeth-predictor.js.html +0 -128
- package/node_modules/pngjs/coverage/lcov-report/parser-async.js.html +0 -575
- package/node_modules/pngjs/coverage/lcov-report/parser-sync.js.html +0 -404
- package/node_modules/pngjs/coverage/lcov-report/parser.js.html +0 -950
- package/node_modules/pngjs/coverage/lcov-report/png-sync.js.html +0 -116
- package/node_modules/pngjs/coverage/lcov-report/png.js.html +0 -662
- package/node_modules/pngjs/coverage/lcov-report/prettify.css +0 -101
- package/node_modules/pngjs/coverage/lcov-report/prettify.js +0 -1007
- package/node_modules/pngjs/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/node_modules/pngjs/coverage/lcov-report/sorter.js +0 -169
- package/node_modules/pngjs/coverage/lcov-report/sync-inflate.js.html +0 -584
- package/node_modules/pngjs/coverage/lcov-report/sync-reader.js.html +0 -215
- package/node_modules/pngjs/coverage/lcov.info +0 -2177
- package/node_modules/pngjs/lib/bitmapper.js +0 -267
- package/node_modules/pngjs/lib/bitpacker.js +0 -158
- package/node_modules/pngjs/lib/chunkstream.js +0 -189
- package/node_modules/pngjs/lib/constants.js +0 -32
- package/node_modules/pngjs/lib/crc.js +0 -40
- package/node_modules/pngjs/lib/filter-pack.js +0 -171
- package/node_modules/pngjs/lib/filter-parse-async.js +0 -24
- package/node_modules/pngjs/lib/filter-parse-sync.js +0 -21
- package/node_modules/pngjs/lib/filter-parse.js +0 -177
- package/node_modules/pngjs/lib/format-normaliser.js +0 -93
- package/node_modules/pngjs/lib/interlace.js +0 -95
- package/node_modules/pngjs/lib/packer-async.js +0 -50
- package/node_modules/pngjs/lib/packer-sync.js +0 -56
- package/node_modules/pngjs/lib/packer.js +0 -129
- package/node_modules/pngjs/lib/paeth-predictor.js +0 -16
- package/node_modules/pngjs/lib/parser-async.js +0 -165
- package/node_modules/pngjs/lib/parser-sync.js +0 -108
- package/node_modules/pngjs/lib/parser.js +0 -290
- package/node_modules/pngjs/lib/png-sync.js +0 -12
- package/node_modules/pngjs/lib/png.js +0 -194
- package/node_modules/pngjs/lib/sync-inflate.js +0 -168
- package/node_modules/pngjs/lib/sync-reader.js +0 -45
- package/node_modules/pngjs/package.json +0 -73
- package/node_modules/qrcode/README.md +0 -770
- package/node_modules/qrcode/bin/qrcode +0 -159
- package/node_modules/qrcode/helper/to-sjis-browser.js +0 -2
- package/node_modules/qrcode/helper/to-sjis.js +0 -105
- package/node_modules/qrcode/lib/browser.js +0 -76
- package/node_modules/qrcode/lib/can-promise.js +0 -7
- package/node_modules/qrcode/lib/core/alignment-pattern.js +0 -83
- package/node_modules/qrcode/lib/core/alphanumeric-data.js +0 -59
- package/node_modules/qrcode/lib/core/bit-buffer.js +0 -37
- package/node_modules/qrcode/lib/core/bit-matrix.js +0 -65
- package/node_modules/qrcode/lib/core/byte-data.js +0 -30
- package/node_modules/qrcode/lib/core/error-correction-code.js +0 -135
- package/node_modules/qrcode/lib/core/error-correction-level.js +0 -50
- package/node_modules/qrcode/lib/core/finder-pattern.js +0 -22
- package/node_modules/qrcode/lib/core/format-info.js +0 -29
- package/node_modules/qrcode/lib/core/galois-field.js +0 -69
- package/node_modules/qrcode/lib/core/kanji-data.js +0 -54
- package/node_modules/qrcode/lib/core/mask-pattern.js +0 -234
- package/node_modules/qrcode/lib/core/mode.js +0 -167
- package/node_modules/qrcode/lib/core/numeric-data.js +0 -43
- package/node_modules/qrcode/lib/core/polynomial.js +0 -62
- package/node_modules/qrcode/lib/core/qrcode.js +0 -495
- package/node_modules/qrcode/lib/core/reed-solomon-encoder.js +0 -56
- package/node_modules/qrcode/lib/core/regex.js +0 -31
- package/node_modules/qrcode/lib/core/segments.js +0 -330
- package/node_modules/qrcode/lib/core/utils.js +0 -63
- package/node_modules/qrcode/lib/core/version-check.js +0 -9
- package/node_modules/qrcode/lib/core/version.js +0 -163
- package/node_modules/qrcode/lib/index.js +0 -12
- package/node_modules/qrcode/lib/renderer/canvas.js +0 -63
- package/node_modules/qrcode/lib/renderer/png.js +0 -78
- package/node_modules/qrcode/lib/renderer/svg-tag.js +0 -81
- package/node_modules/qrcode/lib/renderer/svg.js +0 -19
- package/node_modules/qrcode/lib/renderer/terminal/terminal-small.js +0 -85
- package/node_modules/qrcode/lib/renderer/terminal/terminal.js +0 -49
- package/node_modules/qrcode/lib/renderer/terminal.js +0 -9
- package/node_modules/qrcode/lib/renderer/utf8.js +0 -71
- package/node_modules/qrcode/lib/renderer/utils.js +0 -99
- package/node_modules/qrcode/lib/server.js +0 -138
- package/node_modules/qrcode/license +0 -10
- package/node_modules/qrcode/package.json +0 -77
- package/node_modules/require-directory/.jshintrc +0 -67
- package/node_modules/require-directory/.npmignore +0 -1
- package/node_modules/require-directory/.travis.yml +0 -3
- package/node_modules/require-directory/LICENSE +0 -22
- package/node_modules/require-directory/README.markdown +0 -184
- package/node_modules/require-directory/index.js +0 -86
- package/node_modules/require-directory/package.json +0 -40
- package/node_modules/require-main-filename/CHANGELOG.md +0 -26
- package/node_modules/require-main-filename/LICENSE.txt +0 -14
- package/node_modules/require-main-filename/README.md +0 -26
- package/node_modules/require-main-filename/index.js +0 -18
- package/node_modules/require-main-filename/package.json +0 -35
- package/node_modules/set-blocking/CHANGELOG.md +0 -26
- package/node_modules/set-blocking/LICENSE.txt +0 -14
- package/node_modules/set-blocking/README.md +0 -31
- package/node_modules/set-blocking/index.js +0 -7
- package/node_modules/set-blocking/package.json +0 -42
- package/node_modules/string-width/index.d.ts +0 -29
- package/node_modules/string-width/index.js +0 -47
- package/node_modules/string-width/license +0 -9
- package/node_modules/string-width/package.json +0 -56
- package/node_modules/string-width/readme.md +0 -50
- package/node_modules/strip-ansi/index.d.ts +0 -17
- package/node_modules/strip-ansi/index.js +0 -4
- package/node_modules/strip-ansi/license +0 -9
- package/node_modules/strip-ansi/package.json +0 -54
- package/node_modules/strip-ansi/readme.md +0 -46
- package/node_modules/which-module/LICENSE +0 -13
- package/node_modules/which-module/README.md +0 -58
- package/node_modules/which-module/index.js +0 -9
- package/node_modules/which-module/package.json +0 -41
- package/node_modules/wrap-ansi/index.js +0 -186
- package/node_modules/wrap-ansi/license +0 -9
- package/node_modules/wrap-ansi/package.json +0 -61
- package/node_modules/wrap-ansi/readme.md +0 -97
- package/node_modules/y18n/CHANGELOG.md +0 -35
- package/node_modules/y18n/LICENSE +0 -13
- package/node_modules/y18n/README.md +0 -109
- package/node_modules/y18n/index.js +0 -188
- package/node_modules/y18n/package.json +0 -39
- package/node_modules/yargs/CHANGELOG.md +0 -420
- package/node_modules/yargs/LICENSE +0 -21
- package/node_modules/yargs/README.md +0 -140
- package/node_modules/yargs/build/lib/apply-extends.d.ts +0 -2
- package/node_modules/yargs/build/lib/apply-extends.js +0 -65
- package/node_modules/yargs/build/lib/argsert.d.ts +0 -2
- package/node_modules/yargs/build/lib/argsert.js +0 -65
- package/node_modules/yargs/build/lib/command.d.ts +0 -64
- package/node_modules/yargs/build/lib/command.js +0 -416
- package/node_modules/yargs/build/lib/common-types.d.ts +0 -36
- package/node_modules/yargs/build/lib/common-types.js +0 -25
- package/node_modules/yargs/build/lib/completion-templates.d.ts +0 -2
- package/node_modules/yargs/build/lib/completion-templates.js +0 -50
- package/node_modules/yargs/build/lib/completion.d.ts +0 -21
- package/node_modules/yargs/build/lib/completion.js +0 -135
- package/node_modules/yargs/build/lib/is-promise.d.ts +0 -1
- package/node_modules/yargs/build/lib/is-promise.js +0 -9
- package/node_modules/yargs/build/lib/levenshtein.d.ts +0 -1
- package/node_modules/yargs/build/lib/levenshtein.js +0 -58
- package/node_modules/yargs/build/lib/middleware.d.ts +0 -10
- package/node_modules/yargs/build/lib/middleware.js +0 -57
- package/node_modules/yargs/build/lib/obj-filter.d.ts +0 -1
- package/node_modules/yargs/build/lib/obj-filter.js +0 -14
- package/node_modules/yargs/build/lib/parse-command.d.ts +0 -11
- package/node_modules/yargs/build/lib/parse-command.js +0 -36
- package/node_modules/yargs/build/lib/process-argv.d.ts +0 -2
- package/node_modules/yargs/build/lib/process-argv.js +0 -31
- package/node_modules/yargs/build/lib/usage.d.ts +0 -49
- package/node_modules/yargs/build/lib/usage.js +0 -540
- package/node_modules/yargs/build/lib/validation.d.ts +0 -34
- package/node_modules/yargs/build/lib/validation.js +0 -330
- package/node_modules/yargs/build/lib/yargs.d.ts +0 -274
- package/node_modules/yargs/build/lib/yargs.js +0 -1190
- package/node_modules/yargs/build/lib/yerror.d.ts +0 -4
- package/node_modules/yargs/build/lib/yerror.js +0 -11
- package/node_modules/yargs/index.js +0 -40
- package/node_modules/yargs/locales/be.json +0 -46
- package/node_modules/yargs/locales/de.json +0 -46
- package/node_modules/yargs/locales/en.json +0 -51
- package/node_modules/yargs/locales/es.json +0 -46
- package/node_modules/yargs/locales/fi.json +0 -49
- package/node_modules/yargs/locales/fr.json +0 -53
- package/node_modules/yargs/locales/hi.json +0 -49
- package/node_modules/yargs/locales/hu.json +0 -46
- package/node_modules/yargs/locales/id.json +0 -50
- package/node_modules/yargs/locales/it.json +0 -46
- package/node_modules/yargs/locales/ja.json +0 -51
- package/node_modules/yargs/locales/ko.json +0 -49
- package/node_modules/yargs/locales/nb.json +0 -44
- package/node_modules/yargs/locales/nl.json +0 -49
- package/node_modules/yargs/locales/nn.json +0 -44
- package/node_modules/yargs/locales/pirate.json +0 -13
- package/node_modules/yargs/locales/pl.json +0 -49
- package/node_modules/yargs/locales/pt.json +0 -45
- package/node_modules/yargs/locales/pt_BR.json +0 -48
- package/node_modules/yargs/locales/ru.json +0 -46
- package/node_modules/yargs/locales/th.json +0 -46
- package/node_modules/yargs/locales/tr.json +0 -48
- package/node_modules/yargs/locales/zh_CN.json +0 -48
- package/node_modules/yargs/locales/zh_TW.json +0 -47
- package/node_modules/yargs/package.json +0 -92
- package/node_modules/yargs/yargs.js +0 -14
- package/node_modules/yargs-parser/CHANGELOG.md +0 -601
- package/node_modules/yargs-parser/LICENSE.txt +0 -14
- package/node_modules/yargs-parser/README.md +0 -449
- package/node_modules/yargs-parser/index.js +0 -1032
- package/node_modules/yargs-parser/lib/tokenize-arg-string.js +0 -40
- package/node_modules/yargs-parser/package.json +0 -46
package/README.md
CHANGED
|
@@ -1,256 +1,9 @@
|
|
|
1
|
-
# DSH Remote
|
|
1
|
+
# DSH Mobile Remote App 载体(@marktrue/dsh-mobile-remote@3.2.1-rc.1-app)
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
本包是 DSH Mobile Remote 的 **App 载体**,只承担数据分发角色:
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
- `DSH-Remote-v3.2.1.apk`:与插件 3.2.1-rc.1 配对的 Android 安装包;
|
|
6
|
+
- `manifest.json`:schema 1 发布清单,描述同一次发布的两端产物身份与哈希。
|
|
6
7
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|  |  |  |
|
|
10
|
-
|
|
11
|
-
| 会话列表 | 设置 | 新建会话 |
|
|
12
|
-
|---|---|---|
|
|
13
|
-
|  |  |  |
|
|
14
|
-
|
|
15
|
-
| 外出访问:蒲公英 App(移动端) | 蒲公英 PC 客户端 | 应用商店搜索 |
|
|
16
|
-
|---|---|---|
|
|
17
|
-
|  |  |  |
|
|
18
|
-
|
|
19
|
-
## 功能
|
|
20
|
-
|
|
21
|
-
> **推送与公网访问配置说明(重要)**:本项目的推送消息通道(Server酱 / ntfy / Bark / 自建等)与**非局域网使用方式**(蒲公英 / Tailscale / FRP 内网穿透等)**均为按需自配置,没有统一标准**——`cordis.patch.yml` 里的 `pushUrls`(推送通道)、`trustedHosts`(公网中继域名)、`lanBridge`(桌面版 LAN 桥)、`approvalMode`(审批位置:`both` 双端 / `mobile` 手机独占 / `desktop` 仅桌面,默认 `both`)等字段请**按自己的需求修改**,文档(docs/06、docs/04-security)只给示例与安全边界,不强制任何固定方案。
|
|
22
|
-
|
|
23
|
-
- 📱 **手机远程操作**:发消息/派任务、流式回复、Markdown 渲染、token 用量、**微信式无限上翻**(滑到顶部自动加载更早 + 回到底部浮钮)
|
|
24
|
-
- ❓ **问询/审批弹窗**:agent 思考中途要你拍板(选选项/输入自定义答案)或工具要权限(允许一次/拒绝)时,手机弹卡片——**与 PC 端同一待办,任一端回答两端同步消失**(v3.1.3 起默认双端呈现,`approvalMode` 可切手机独占/仅桌面)
|
|
25
|
-
- 🔔 **系统通知**:agent 完成 / 需要你回答 / 失败 → 手机弹窗(Server酱 / ntfy / Bark 任选;同会话同类型自动聚合);通知页支持**单删/批量/清空**
|
|
26
|
-
- 💬 **会话管理**:查看/切换/续接全部会话,标题与 PC 端实时同步,按工作区分组(子目录自动归属最近工作区),归档与 PC 端同源
|
|
27
|
-
- ➕ **新建会话**:选 Agent 模式(标准/PTC/极简/创造)+ 选工作目录(跨盘浏览、可新建文件夹)
|
|
28
|
-
- ⚙️ **配置对齐 PC 端**:模型、推理强度、权限预设(危险权限需风险确认)、**默认 Agent 预设 / 默认权限预设可直接修改**(作用于之后新建的会话)
|
|
29
|
-
- 🏢 **模型提供商互通**:PC 端「设置 → 模型」与手机同一配置通道——37 个内置提供商(anthropic / openai / google / groq 等)手机可见可配(baseURL + API Key 即激活),模型选择器按提供商分组,设置页「模型提供商」可搜索/编辑/探测模型
|
|
30
|
-
- 👀 **过程可见性**:活动条(思考中 / 正在调用工具实时状态行)+ 可折叠思考面板(默认只显示状态)
|
|
31
|
-
- 🛠️ **会话工具**:运行中的后台任务实时卡片(可取消)+ 三页签弹层——任务 / 子代理(查看+中断)/ 目标(查看、创建、暂停、继续、标记完成,与 PC 端 goal 服务同源)
|
|
32
|
-
- 🫧 **悬浮球**:透明鲸鱼常驻桌面——空闲灰 / 有任务·通知·余额低亮蓝+红点;单击迷你面板(运行中会话 / 通知 / 打开 App / 去充值),拖动贴边 5 秒自动缩进,双击开 App,长按退出;错过的通知也会补提示(气泡/横幅)
|
|
33
|
-
- 💾 **体验打磨**:Agent 状态 bootstrap 同步(按钮/活动条即时反映 PC 状态)、下拉刷新收集地址(蒲公英/Tailscale 自动进候选)、聊天草稿保留(退出重进自动恢复)、首页改版(官方 logo / 新欢迎语 / 最近会话卡片滑动)、语言切换(中/英)
|
|
34
|
-
- 📶 **扫码连接**:桌面 dsh 设置页出现「连接移动端设备」二维码 → 手机 App 扫码即连(免输 IP/口令)
|
|
35
|
-
- 🩺 **环境诊断**:一键查看当前环境各项能力(含问询/审批桥状态),升级/排障一目了然
|
|
36
|
-
- 🧩 **插件动作区**:第三方插件注册的动作自动出现在移动端(可选)
|
|
37
|
-
- 🖼️ **原生 App**:`dsh-mobile-app/` 子目录,Flutter 原生实现,与网页端共享同一 API 与设计
|
|
38
|
-
|
|
39
|
-
## 两种使用形态
|
|
40
|
-
|
|
41
|
-
| 形态 | 说明 |
|
|
42
|
-
|---|---|
|
|
43
|
-
| **原生 App(安卓,推荐)** | `dsh-mobile-app/` 构建 APK 安装;扫码连接、原生体验、系统通知 |
|
|
44
|
-
|
|
45
|
-
## 微信入口(可选):dsh-im
|
|
46
|
-
|
|
47
|
-
想「在微信里直接给 agent 说话派活」?**本插件不内置 IM 机器人**(那是另一层协议),官方推荐安装 **[@xmanrui/dsh-im](https://github.com/xmanrui/dsh-im)**——一个独立的 DeepSeek Harness 插件,支持微信(个人号扫码)/ 飞书 / 钉钉 / 企业微信 / QQ / Slack / Telegram / Discord / WhatsApp 等 9 种 IM 通道。与本插件互补:
|
|
48
|
-
|
|
49
|
-
- **dsh-im**:微信/IM 对话入口(在微信里直接聊天派活、收到回复)
|
|
50
|
-
- **本插件**:手机控制台(进度 / 审批 / 会话管理)+ **干活完成提醒**(推送桥,不依赖 App 常驻后台)
|
|
51
|
-
|
|
52
|
-
装法(电脑端):`dsh plugin add @xmanrui/dsh-im` → 微信扫码登录 → 完成。干活完成提醒走本插件推送桥(docs/06 §6:企业微信机器人 / Server酱 / Bark 任选)。
|
|
53
|
-
|
|
54
|
-
## 架构
|
|
55
|
-
|
|
56
|
-
```
|
|
57
|
-
手机(原生 App) ──HTTP/SSE──► 电脑上的 dsh 进程(本插件)
|
|
58
|
-
│ ctx 服务(agents/sessions/llm/…)
|
|
59
|
-
│ /api 桥(与 PC 端 GUI 同一协议)
|
|
60
|
-
▼
|
|
61
|
-
dsh 内核(会话唯一真源)
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
- **会话唯一真源在 PC 端**:移动端不存状态,实时读写——天然一致,不存在"同步"
|
|
65
|
-
- **移动端零插件感知**:核心功能只依赖 dsh 内核语义;个性化(模型/权限/预设)全部动态读取
|
|
66
|
-
- **桌面端/命令行双形态兼容**:同一 profile,插件自动加载
|
|
67
|
-
|
|
68
|
-
## 安装(部署者 3 步)
|
|
69
|
-
|
|
70
|
-
> 🤖 **让 DSH 的 agent 自动安装**:直接告诉 agent「按本仓库 docs/06 安装 dsh-mobile-remote 插件」即可。agent 默认会采用下面的「方式一」,拉取的就是**当前正式版**(main 分支永远保持完整可发布状态,版本号与最新 Release 一致)。需要与手机 App 精确配对时,把依赖写成 `"dsh-mobile-remote": "github:201222-L/dsh-mobile-remote#v3.0.0"`。
|
|
71
|
-
|
|
72
|
-
### 方式一:命令行 dsh web(web 版流程)
|
|
73
|
-
|
|
74
|
-
```powershell
|
|
75
|
-
# 1. 在 profile 声明插件
|
|
76
|
-
# 编辑 C:\Users\<你>\.dsh\profiles\web\package.json,dependencies 加:
|
|
77
|
-
# "dsh-mobile-remote": "file:<本插件路径>"
|
|
78
|
-
|
|
79
|
-
# 2. 安装依赖
|
|
80
|
-
cd C:\Users\<你>\.dsh\profiles\web
|
|
81
|
-
corepack pnpm install
|
|
82
|
-
|
|
83
|
-
# 3. 启用插件(cordis.patch.yml,见下方配置节)后启动
|
|
84
|
-
npx @deepseek-ai/dsh web
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
### 方式二:DeepSeek Harness 桌面端(当前主线)
|
|
88
|
-
|
|
89
|
-
安装插件后**重启 DSH Desktop** 即可(desktop profile 自动加载;移动端经插件 **LAN 桥**,默认 `0.0.0.0:3080`,见 「LAN 桥」节与 docs/06 §4b)。
|
|
90
|
-
|
|
91
|
-
### LAN 桥(桌面版必开,手机局域网直连)
|
|
92
|
-
|
|
93
|
-
```yaml
|
|
94
|
-
# cordis.patch.yml(mobile-remote 行 config 内)
|
|
95
|
-
lanBridge:
|
|
96
|
-
enabled: true
|
|
97
|
-
port: 3080
|
|
98
|
-
host: 0.0.0.0
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
> ⚠️ **不要覆盖 webserver 行**:桌面版(0.1.1-rc.2)webserver 强制回环(覆盖 host 直接报错),移动端用上方 LAN 桥;**web 版默认已是 `0.0.0.0:3080`,无需覆盖**——仅当你想改端口时才写覆盖行,且**必须写全必填字段**(`host` + `port`),否则启动报 `$port missing required value`(`--dump-config`/smoke 测不出来,只有真启动才暴露)。
|
|
102
|
-
|
|
103
|
-
```yaml
|
|
104
|
-
# 仅 web 版需要改端口时适用:覆盖 webserver 行必须写全字段!
|
|
105
|
-
- id: webserver
|
|
106
|
-
config:
|
|
107
|
-
host: 0.0.0.0
|
|
108
|
-
port: 3080
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
## 配置(cordis.patch.yml)
|
|
112
|
-
|
|
113
|
-
```yaml
|
|
114
|
-
- insert:
|
|
115
|
-
- id: mobile-remote
|
|
116
|
-
name: dsh-mobile-remote
|
|
117
|
-
config:
|
|
118
|
-
path: /m
|
|
119
|
-
authToken: <访问口令,留空=关闭认证>
|
|
120
|
-
pushUrls: [] # 见下方推送配置
|
|
121
|
-
# pushContent: standard # 默认 minimal:推送只含事件类型+会话短码(核心内容不外出);standard 才含标题/详情
|
|
122
|
-
# rateLimit: { maxFailures: 10, windowMs: 60000, blockMs: 60000 } # 登录失败限流
|
|
123
|
-
# trustedHosts: ["<内网穿透中继地址>"] # 仅 frp 等中继方案需要,见 docs/06 §5B
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
## 桌面设置页入口(客户端模块)
|
|
127
|
-
|
|
128
|
-
插件启用后,dsh 设置页会出现**「连接移动端设备」**一页:显示连接二维码(含地址+口令)、电脑地址列表与口令(可复制)。手机 App 扫此二维码自动连接。该页数据仅电脑本机可读取(`/m/api/qr-config` 仅允许 loopback 访问)。
|
|
129
|
-
|
|
130
|
-
## 推送配置(可选,3 分钟)
|
|
131
|
-
|
|
132
|
-
> 不配置则无系统推送,其余功能不受影响。三种任选,也可同时配置多个(事件会推送到全部通道)。同会话同类型 60 秒内合并(`pushCooldownMs` 可调),通知中心按会话聚合。
|
|
133
|
-
> **隐私(v2.6 起)**:推送默认只含「事件类型 + 会话短码」,会话标题/错误详情等核心内容不经过第三方通道;确需完整内容(信任通道时)设 `pushContent: standard`。
|
|
134
|
-
|
|
135
|
-
### Server酱(微信推送,最省事)
|
|
136
|
-
|
|
137
|
-
1. 手机微信扫码打开 https://sc3.ft07.com/sendkey → 复制 **API URL**(形如 `https://<uid>.push.ft07.com/send/<key>.send`,免备案;老 Turbo 接口 sctapi.ftqq.com 已不可用,2026-08 实测)
|
|
138
|
-
2. 配置:
|
|
139
|
-
|
|
140
|
-
```yaml
|
|
141
|
-
pushUrls:
|
|
142
|
-
- name: 微信
|
|
143
|
-
url: https://<uid>.push.ft07.com/send/<sendkey>.send
|
|
144
|
-
format: serverchan
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
> ⚠️ Server酱³ 免费版**每天限 5 条**(AUTH 40001),需更多条数请升级。
|
|
148
|
-
|
|
149
|
-
### ntfy(安卓系统通知栏,原生弹窗)
|
|
150
|
-
|
|
151
|
-
1. 手机安装 ntfy App(Google Play / F-Droid / 酷安)
|
|
152
|
-
2. 生成随机主题并订阅:`dsh-<随机串>`(例如 `dsh-a1b2c3d4e5f6`)
|
|
153
|
-
3. 配置:
|
|
154
|
-
|
|
155
|
-
```yaml
|
|
156
|
-
pushUrls:
|
|
157
|
-
- name: 系统通知
|
|
158
|
-
url: https://ntfy.sh/<你的主题>
|
|
159
|
-
format: ntfy
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
### Bark(iPhone)
|
|
163
|
-
|
|
164
|
-
1. iPhone 安装 Bark App → 复制推送 key
|
|
165
|
-
2. 配置:
|
|
166
|
-
|
|
167
|
-
```yaml
|
|
168
|
-
pushUrls:
|
|
169
|
-
- name: Bark
|
|
170
|
-
url: https://api.day.app/<你的key>
|
|
171
|
-
format: bark
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
### 验证
|
|
175
|
-
|
|
176
|
-
配置后重启,让 agent 跑一个任务——手机收到"✅ 任务完成"通知即成功。
|
|
177
|
-
|
|
178
|
-
## 手机使用
|
|
179
|
-
|
|
180
|
-
0. **下载 App**:[GitHub Releases](https://github.com/201222-L/dsh-mobile-remote/releases/latest) 下载 `DSH-Remote-vX.Y.Z.apk` 安装(或按 dsh-mobile-app/README 自行构建)
|
|
181
|
-
1. 与电脑同一 WiFi;**人不在家**用蒲公英组网等虚拟组网方案(已实测,见 docs/06 §5,App 自动切换地址)
|
|
182
|
-
2. 打开 App →「扫码连接」对准桌面 dsh 设置页二维码(或手动输地址+口令)
|
|
183
|
-
3. 首页直接发消息派活;对话页实时流式回复;通知页看完成/提问/失败
|
|
184
|
-
|
|
185
|
-
## ⚠️ 注意事项
|
|
186
|
-
|
|
187
|
-
**安全**
|
|
188
|
-
- 访问口令(`authToken`)是唯一凭据:**每台电脑用不同口令**,扫码二维码含口令,请勿截屏转发;怀疑泄露立即更换(改配置重启后二维码自动更新,旧码作废)。
|
|
189
|
-
- 仅限局域网/可信内网使用;**禁止将 3080 端口映射/穿透到公网**(详见 docs/04-security.md)。
|
|
190
|
-
- `/m/api/qr-config`(桌面二维码数据)仅允许电脑本机读取。
|
|
191
|
-
|
|
192
|
-
**使用**
|
|
193
|
-
- 会话数据实时存于 PC 端;删除插件/断网不影响已存会话,重装后自动恢复。
|
|
194
|
-
- agent 处理上一轮时继续发消息会**排队**(dsh 机制),移动端会提示"正在处理上一轮"。
|
|
195
|
-
- 新建会话选的工作目录不在任何已注册工作区时,PC 端按"未分组"显示;在工作区子目录下会自动归属。
|
|
196
|
-
|
|
197
|
-
**已知限制**
|
|
198
|
-
- 移动端默认以普通模式展示对话时间线与工具活动摘要;可切换调试模式查看原始参数/结果、事件元数据与未知可见事件。图片/Markdown 结果支持预览,文件结果可下载到应用私有目录(保存后提示完整路径,系统相册/下载列表不收录);旧服务端未保存的详情会明确显示不可用。协议/运行时元数据(会话标题、模型选择等)只出现在调试模式;系统提示词、请求快照与压缩摘要不呈现。
|
|
199
|
-
- 长任务期间建议等待上一轮完成再发新消息,避免排队混乱。
|
|
200
|
-
- 归档(archive)会话与 PC 端同源显示,行为一致。
|
|
201
|
-
- 问询/审批弹窗链路随内核版本走对应机制:0.1.2-rc.1+ 为 Agent 作用域瀑布 + 插件 answerer(`both` 双端呈现走内核 `$events` 远程事件通道,与 PC 端 GUI 同通道);更早内核走 `apiProxy` 帧桥(私有协议,未来大版本可能断桥,插件干净降级、随版本更新恢复)。手机不弹时先跑环境诊断看 `approvalMode`/`remoteEvents`(见 FAQ「问询/审批弹窗类」)。
|
|
202
|
-
- 通知删除只清记录不"静音":同会话同类新事件仍会产生新通知。
|
|
203
|
-
- App 构建签名:正式分发须自建 keystore(换签名 = 换应用,用户需重装重扫);详见 docs/06 §8.2 与 docs/09 §6。
|
|
204
|
-
- **与 dsh-web 的移动端远程(`@linxin666/dsh-remote-web-ui`)同装会冲突**:对方把手机页面/API 整体写死在 `/m` 前缀(不可配置),本插件默认也挂在 `/m`——两者抢同一路由前缀可能导致异常/崩溃。共存方法:给本插件配 `path: /mr`(任意非 `/m` 单段)并重启 DSH,手机 App 自动适配无需重装(详见 FAQ「设备/兼容类」)。
|
|
205
|
-
|
|
206
|
-
## 环境诊断
|
|
207
|
-
|
|
208
|
-
设置页 → 环境诊断:检测服务(agents/sessions/llm/权限/预设/工作区)与端点实测,`✅/❌` 一目了然,含检测时间。**升级 dsh 后先跑一次诊断**,红了就是需要适配的地方。
|
|
209
|
-
|
|
210
|
-
## 兼容性
|
|
211
|
-
|
|
212
|
-
- **dsh 版本**:v3.1.2/v3.1.3 基线为 **`0.1.2-rc.1` 服务包 = DSH Desktop v2.0.5**(approval/request 瀑布 answerer、`$events` 远程事件双端审批、RPC 网关直通、桌面浏览器门禁适配);v3.0.0–v3.1.1 基线 **`0.1.1-rc.2` = DSH Desktop v2.0.2**(`commands.execute` 四参、桌面版强制回环 → LAN 桥)。更低版本按功能降级,服务依赖与降级行为详见 **[docs/09-compatibility.md](docs/09-compatibility.md)**
|
|
213
|
-
- **平台(App)**:Android 7.0+ 全品牌(渲染 Impeller 自动回退;实测小米 17 Pro Max);**iOS 未开发**(开发者无苹果设备,Dart 代码已平台无关,欢迎社区贡献,见 docs/09 §4)
|
|
214
|
-
- **平台(桌面)**:Windows/macOS;命令行 dsh web 与桌面端均支持(纯 headless 形态插件静默无操作)
|
|
215
|
-
- **个性化**:模型/权限/Agent 预设动态读取 PC 端真实目录,用户自定义自动出现;自定义动作经 `mobileActions` 注册自动上架
|
|
216
|
-
- **深度魔改 web profile**(禁用标准服务):对应功能自动降级,不崩溃——诊断页可查每个服务状态
|
|
217
|
-
|
|
218
|
-
## 版本与兼容
|
|
219
|
-
|
|
220
|
-
- **版本号统一**:App 版本 = 插件版本 = git tag(如 `v3.0.0` = App 3.0.0+5 + 插件 3.0.0)。GitHub Releases 每个版本同时提供两个附件:`DSH-Remote-vX.Y.Z.apk`(手机装)与 `dsh-mobile-remote-vX.Y.Z.tgz`(电脑插件包,`pnpm add <路径>` 或 `npm install -g` 安装)。
|
|
221
|
-
- **版本差矩阵**(一句话:谁旧谁吃亏,但都不崩):
|
|
222
|
-
|
|
223
|
-
| 组合 | 结果 |
|
|
224
|
-
|---|---|
|
|
225
|
-
| 同版本 | ✅ 完美 |
|
|
226
|
-
| 插件新 + App 旧 | ✅ 老功能正常,新功能不可见(协议只加不删,未知帧一律忽略) |
|
|
227
|
-
| App 新 + 插件旧 | ✅ 老功能正常,新功能提示升级 |
|
|
228
|
-
| 破坏性变更 | ❌ 禁止——已发布接口只加字段(docs/08 约定) |
|
|
229
|
-
|
|
230
|
-
- 插件源码按 git tag 锁定版本:`"dsh-mobile-remote": "github:201222-L/dsh-mobile-remote#v3.0.0"`(不带 `#` 取最新)。
|
|
231
|
-
- 实际配对可在 App **设置 → 关于 → 版本**(`App vX · 插件 vY`)或环境诊断页对照。
|
|
232
|
-
|
|
233
|
-
## 文档
|
|
234
|
-
|
|
235
|
-
- `README.md` — 项目总览:功能、安装、配置、注意事项
|
|
236
|
-
- `FAQ.md` — 常见问题速查(连接/使用/安全/弹窗/设备)
|
|
237
|
-
- `CHANGELOG.md` — 版本历史
|
|
238
|
-
- `CONTRIBUTING.md` — 贡献指南
|
|
239
|
-
- `docs/00-开发总纲.md` — 产品规划、阶段划分、决策记录
|
|
240
|
-
- `docs/01-PRD.md` ~ `docs/07-user-manual.md` — 需求/架构/API/安全/测试/部署/手册
|
|
241
|
-
- `docs/08-扩展开发指南.md` — **二次开发:动作区、自定义推送、页面/App 定制、分享你的版本**
|
|
242
|
-
- `docs/09-compatibility.md` — **兼容性:内核耦合点、降级行为、多品牌/苹果端、已知问题、签名**
|
|
243
|
-
|
|
244
|
-
## 开发
|
|
245
|
-
|
|
246
|
-
```
|
|
247
|
-
lib/index.js 服务端:路由、认证、事件桥、catalog、会话、通知、动作、推送、默认配置
|
|
248
|
-
lib/client.js 桌面 GUI 客户端模块(设置页「连接移动端设备」)
|
|
249
|
-
dsh-mobile-app/ Flutter 原生 App(扫码连接 + 全部移动界面)
|
|
250
|
-
tools/ 验证脚本(e2e-check / phase1-check / push-test)
|
|
251
|
-
prototype/ 界面原型(v7 定稿,设计参考)
|
|
252
|
-
```
|
|
253
|
-
|
|
254
|
-
## 许可
|
|
255
|
-
|
|
256
|
-
[MIT](LICENSE)
|
|
8
|
+
本包**没有**可执行入口(无 main/exports/bin),不包含插件代码或安装脚本,
|
|
9
|
+
也不是 DSH 插件/bundle。它由 `@marktrue/dsh-mobile-remote@3.2.1-rc.1` 的精确别名依赖随插件一起安装。
|
package/manifest.json
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": 1,
|
|
3
|
+
"app": {
|
|
4
|
+
"version": "3.2.1+26",
|
|
5
|
+
"file": "DSH-Remote-v3.2.1.apk",
|
|
6
|
+
"size": 75712936,
|
|
7
|
+
"sha256": "92bd7aa3c02644374abe93400aa13242087ef5e4dfc78a4aadd778e0222e1762"
|
|
8
|
+
},
|
|
9
|
+
"plugin": {
|
|
10
|
+
"version": "3.2.1-rc.1",
|
|
11
|
+
"file": "dsh-mobile-remote-v3.2.1-rc.1.tgz",
|
|
12
|
+
"size": 3807384,
|
|
13
|
+
"sha256": "a0528c8bc5cd64359cbcce1574d4a1ccf926e6cca6b3c6501a7b5c3913fe8dda",
|
|
14
|
+
"contentSha256": "f2fc5c95e3454b703f65abc44a476e29473dcf2471e86726da69aa37604e40e7"
|
|
15
|
+
},
|
|
16
|
+
"version": "3.2.1+26",
|
|
17
|
+
"apk": "DSH-Remote-v3.2.1.apk",
|
|
18
|
+
"size": 75712936,
|
|
19
|
+
"sha256": "92bd7aa3c02644374abe93400aa13242087ef5e4dfc78a4aadd778e0222e1762",
|
|
20
|
+
"notes": "## v3.2.1-rc.1(build 26,issue #39)— NPM-only 自动更新(v3.2.1 线)\n\n> 插件 `3.2.1-rc.1` / App `3.2.1+26` / 载体 `3.2.1-rc.1-app`。本 fork 的 v3.2.1 预发布候选;仅发布到本地 registry 做本机验收,不触发公共 npm 发布或 tag。\n\n### 更新源与安全\n\n- 插件更新唯一来源为宿主有效 npm 配置(`@marktrue:registry` 优先,未设置时用默认 `registry`),手机不直连 npm,registry 凭据不下发。\n- 稳定版跟随 `latest`;预发布跟随自身通道(`alpha` / `rc`);carrier 使用精确 `<插件完整版本>-app` 并由 `app` tag 约束。\n- 校验 npm `dist.integrity`、插件内容哈希、载体清单、APK 身份与签名;缺 carrier、元数据不一致、降级一律 fail-closed,不改 profile、不触发重启。\n- profile 依赖保持精确 npm 版本,不保留长期 `file:` tarball;回滚恢复更新前精确 spec。\n- 旧 carrier 缺轻量元数据时:仅用户显式操作后准备并校验 carrier,先展示真实 App build,再要求最终确认;最终 POST 前不改 profile。\n\n### 手机 / 桌面\n\n- 移除 App 更新源菜单;App-only 入口改名「检查 App 更新」。\n- 插件更新详情与安装日志合并为可折叠、可复制的脱敏面板,按 opId + 序号回放,重启后仍可查看。\n- 新增「更新进度」卡片:六步时间线、当前阶段、已用时、目标版本、最近一行 pnpm 输出;失败直接显示可读原因与稳定码。\n- 完成后等待宿主固定 App 发布就绪再显示完成;「检查 App 更新」自动接续,无需回首页刷新。\n- 历史失败/未确认事务不再阻塞 App 更新;APK 按 sha 复用,安装未完成给出可执行指引。\n- 桌面「连接移动端」同步显示阶段文本与最新输出。\n\n### 平台\n\n- Windows:npm/pnpm 经 shell 调用,缺失客户端给出稳定原因;桌面原生自更新仍受 `restart-unsupported` 限制(Linux/WSL 宿主可完成自更新)。"
|
|
21
|
+
}
|
package/package.json
CHANGED
|
@@ -1,79 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@marktrue/dsh-mobile-remote",
|
|
3
|
-
"version": "3.2.1-
|
|
4
|
-
"description": "DSH Mobile
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"scripts": {
|
|
8
|
-
"release:carrier:check": "node dsh-mobile-app/tools/publish-carrier-check.mjs"
|
|
9
|
-
},
|
|
10
|
-
"exports": {
|
|
11
|
-
".": "./lib/index.js",
|
|
12
|
-
"./client": "./lib/client.js",
|
|
13
|
-
"./package.json": "./package.json"
|
|
14
|
-
},
|
|
3
|
+
"version": "3.2.1-rc.1-app",
|
|
4
|
+
"description": "DSH Mobile Remote App 载体(与 @marktrue/dsh-mobile-remote@3.2.1-rc.1 配对):随插件分发 APK 与发布清单,仅作数据分发,无运行入口。",
|
|
5
|
+
"appVersion": "3.2.1+26",
|
|
6
|
+
"pluginContentSha256": "f2fc5c95e3454b703f65abc44a476e29473dcf2471e86726da69aa37604e40e7",
|
|
15
7
|
"files": [
|
|
16
|
-
"
|
|
17
|
-
"
|
|
8
|
+
"DSH-Remote-v3.2.1.apk",
|
|
9
|
+
"manifest.json",
|
|
18
10
|
"README.md",
|
|
19
|
-
"
|
|
20
|
-
"CHANGELOG.md",
|
|
21
|
-
"CONTRIBUTING.md",
|
|
22
|
-
"LICENSE",
|
|
23
|
-
"cordis.patch.yml",
|
|
24
|
-
"!docs/adr",
|
|
25
|
-
"!docs/agents",
|
|
26
|
-
"!docs/design"
|
|
11
|
+
"LICENSE"
|
|
27
12
|
],
|
|
28
13
|
"dsh": {
|
|
29
|
-
"
|
|
30
|
-
"platform": "web",
|
|
31
|
-
"inject": [
|
|
32
|
-
"@deepseek-ai/dsh-client-runtime",
|
|
33
|
-
"@deepseek-ai/dsh-client-ui-settings"
|
|
34
|
-
]
|
|
35
|
-
},
|
|
36
|
-
"bundle": {
|
|
37
|
-
"patch": "./cordis.patch.yml"
|
|
38
|
-
}
|
|
14
|
+
"appCarrier": true
|
|
39
15
|
},
|
|
40
|
-
"
|
|
41
|
-
"deepseek",
|
|
42
|
-
"dsh",
|
|
43
|
-
"mobile",
|
|
44
|
-
"remote",
|
|
45
|
-
"agent"
|
|
46
|
-
],
|
|
16
|
+
"private": false,
|
|
47
17
|
"license": "MIT",
|
|
48
|
-
"dependencies": {
|
|
49
|
-
"qrcode": "^1.5.4"
|
|
50
|
-
},
|
|
51
|
-
"bundleDependencies": [
|
|
52
|
-
"qrcode"
|
|
53
|
-
],
|
|
54
|
-
"optionalDependencies": {
|
|
55
|
-
"@marktrue/dsh-mobile-remote-app": "npm:@marktrue/dsh-mobile-remote@3.2.1-alpha.3-app"
|
|
56
|
-
},
|
|
57
|
-
"peerDependencies": {
|
|
58
|
-
"@deepseek-ai/dsh-credentials": ">=0.1.0-rc.6 <0.3.0",
|
|
59
|
-
"@deepseek-ai/dsh-llm": ">=0.1.0-rc.6 <0.3.0",
|
|
60
|
-
"@deepseek-ai/dsh-sandbox-policy": ">=0.1.0-rc.6 <0.3.0",
|
|
61
|
-
"@deepseek-ai/dsh-scope": ">=0.1.0-rc.6 <0.3.0",
|
|
62
|
-
"@deepseek-ai/schemastery": ">=3.18.1",
|
|
63
|
-
"dsh-codex-connect": ">=0.1.0-alpha.4.5"
|
|
64
|
-
},
|
|
65
|
-
"peerDependenciesMeta": {
|
|
66
|
-
"dsh-codex-connect": {
|
|
67
|
-
"optional": true
|
|
68
|
-
}
|
|
69
|
-
},
|
|
70
18
|
"publishConfig": {
|
|
71
|
-
"
|
|
72
|
-
"
|
|
19
|
+
"access": "public",
|
|
20
|
+
"tag": "app"
|
|
73
21
|
},
|
|
74
22
|
"repository": {
|
|
75
23
|
"type": "git",
|
|
76
24
|
"url": "git+https://github.com/marktrue-ahu/dsh-mobile-remote.git"
|
|
77
|
-
}
|
|
78
|
-
"homepage": "https://github.com/marktrue-ahu/dsh-mobile-remote#readme"
|
|
25
|
+
}
|
|
79
26
|
}
|