fix cargo install packaging for v0.8.1

This commit is contained in:
Hunter Bown
2026-04-30 23:45:21 -05:00
committed by GitHub
parent 3f24759966
commit 5770a5747b
18 changed files with 1970 additions and 1949 deletions
+9
View File
@@ -7,6 +7,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased] ## [Unreleased]
## [0.8.1] - 2026-05-01
### Fixed
- **One-command Cargo install** — `cargo install deepseek-tui --locked` now
provides both the canonical `deepseek` dispatcher and the `deepseek-tui`
companion binary from the main `deepseek-tui` package, so dispatcher
subcommands such as `deepseek doctor --json` work without installing
`deepseek-tui-cli` separately.
## [0.8.0] - 2026-05-01 ## [0.8.0] - 2026-05-01
### Fixed ### Fixed
Generated
+15 -14
View File
@@ -1011,7 +1011,7 @@ dependencies = [
[[package]] [[package]]
name = "deepseek-agent" name = "deepseek-agent"
version = "0.8.0" version = "0.8.1"
dependencies = [ dependencies = [
"deepseek-config", "deepseek-config",
"serde", "serde",
@@ -1019,7 +1019,7 @@ dependencies = [
[[package]] [[package]]
name = "deepseek-app-server" name = "deepseek-app-server"
version = "0.8.0" version = "0.8.1"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"axum", "axum",
@@ -1042,7 +1042,7 @@ dependencies = [
[[package]] [[package]]
name = "deepseek-config" name = "deepseek-config"
version = "0.8.0" version = "0.8.1"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"deepseek-secrets", "deepseek-secrets",
@@ -1055,7 +1055,7 @@ dependencies = [
[[package]] [[package]]
name = "deepseek-core" name = "deepseek-core"
version = "0.8.0" version = "0.8.1"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"chrono", "chrono",
@@ -1074,7 +1074,7 @@ dependencies = [
[[package]] [[package]]
name = "deepseek-execpolicy" name = "deepseek-execpolicy"
version = "0.8.0" version = "0.8.1"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"deepseek-protocol", "deepseek-protocol",
@@ -1083,7 +1083,7 @@ dependencies = [
[[package]] [[package]]
name = "deepseek-hooks" name = "deepseek-hooks"
version = "0.8.0" version = "0.8.1"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"async-trait", "async-trait",
@@ -1097,7 +1097,7 @@ dependencies = [
[[package]] [[package]]
name = "deepseek-mcp" name = "deepseek-mcp"
version = "0.8.0" version = "0.8.1"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"deepseek-protocol", "deepseek-protocol",
@@ -1107,7 +1107,7 @@ dependencies = [
[[package]] [[package]]
name = "deepseek-protocol" name = "deepseek-protocol"
version = "0.8.0" version = "0.8.1"
dependencies = [ dependencies = [
"serde", "serde",
"serde_json", "serde_json",
@@ -1115,7 +1115,7 @@ dependencies = [
[[package]] [[package]]
name = "deepseek-secrets" name = "deepseek-secrets"
version = "0.8.0" version = "0.8.1"
dependencies = [ dependencies = [
"dirs", "dirs",
"keyring", "keyring",
@@ -1128,7 +1128,7 @@ dependencies = [
[[package]] [[package]]
name = "deepseek-state" name = "deepseek-state"
version = "0.8.0" version = "0.8.1"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"chrono", "chrono",
@@ -1140,7 +1140,7 @@ dependencies = [
[[package]] [[package]]
name = "deepseek-tools" name = "deepseek-tools"
version = "0.8.0" version = "0.8.1"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"async-trait", "async-trait",
@@ -1153,7 +1153,7 @@ dependencies = [
[[package]] [[package]]
name = "deepseek-tui" name = "deepseek-tui"
version = "0.8.0" version = "0.8.1"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"arboard", "arboard",
@@ -1170,6 +1170,7 @@ dependencies = [
"csv", "csv",
"deepseek-secrets", "deepseek-secrets",
"deepseek-tools", "deepseek-tools",
"deepseek-tui-cli",
"dirs", "dirs",
"dotenvy", "dotenvy",
"flate2", "flate2",
@@ -1213,7 +1214,7 @@ dependencies = [
[[package]] [[package]]
name = "deepseek-tui-cli" name = "deepseek-tui-cli"
version = "0.8.0" version = "0.8.1"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"chrono", "chrono",
@@ -1236,7 +1237,7 @@ dependencies = [
[[package]] [[package]]
name = "deepseek-tui-core" name = "deepseek-tui-core"
version = "0.8.0" version = "0.8.1"
[[package]] [[package]]
name = "deranged" name = "deranged"
+1 -1
View File
@@ -19,7 +19,7 @@ default-members = ["crates/cli", "crates/app-server", "crates/tui"]
resolver = "2" resolver = "2"
[workspace.package] [workspace.package]
version = "0.8.0" version = "0.8.1"
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
repository = "https://github.com/Hmbown/DeepSeek-TUI" repository = "https://github.com/Hmbown/DeepSeek-TUI"
+2 -4
View File
@@ -57,10 +57,9 @@ replace-with = "tuna"
registry = "sparse+https://mirrors.tuna.tsinghua.edu.cn/crates.io-index/" registry = "sparse+https://mirrors.tuna.tsinghua.edu.cn/crates.io-index/"
``` ```
Then install the two shipped binaries: Then install the shipped binaries from the main package:
```bash ```bash
cargo install deepseek-tui-cli --locked
cargo install deepseek-tui --locked cargo install deepseek-tui --locked
deepseek --version deepseek --version
``` ```
@@ -108,8 +107,7 @@ SGLANG_BASE_URL="http://localhost:30000/v1" deepseek --provider sglang --model d
```bash ```bash
git clone https://github.com/Hmbown/DeepSeek-TUI.git git clone https://github.com/Hmbown/DeepSeek-TUI.git
cd DeepSeek-TUI cd DeepSeek-TUI
cargo install --path crates/tui --bin deepseek-tui --locked # requires Rust 1.85+ cargo install --path crates/tui --locked # requires Rust 1.85+
cargo install --path crates/cli --bin deepseek --locked
``` ```
</details> </details>
+1 -1
View File
@@ -7,5 +7,5 @@ repository.workspace = true
description = "Model/provider registry and fallback strategy for DeepSeek workspace architecture" description = "Model/provider registry and fallback strategy for DeepSeek workspace architecture"
[dependencies] [dependencies]
deepseek-config = { path = "../config", version = "0.8.0" } deepseek-config = { path = "../config", version = "0.8.1" }
serde.workspace = true serde.workspace = true
+9 -9
View File
@@ -10,15 +10,15 @@ description = "Codex-style app-server transport for DeepSeek workspace architect
anyhow.workspace = true anyhow.workspace = true
axum.workspace = true axum.workspace = true
clap.workspace = true clap.workspace = true
deepseek-agent = { path = "../agent", version = "0.8.0" } deepseek-agent = { path = "../agent", version = "0.8.1" }
deepseek-config = { path = "../config", version = "0.8.0" } deepseek-config = { path = "../config", version = "0.8.1" }
deepseek-core = { path = "../core", version = "0.8.0" } deepseek-core = { path = "../core", version = "0.8.1" }
deepseek-execpolicy = { path = "../execpolicy", version = "0.8.0" } deepseek-execpolicy = { path = "../execpolicy", version = "0.8.1" }
deepseek-hooks = { path = "../hooks", version = "0.8.0" } deepseek-hooks = { path = "../hooks", version = "0.8.1" }
deepseek-mcp = { path = "../mcp", version = "0.8.0" } deepseek-mcp = { path = "../mcp", version = "0.8.1" }
deepseek-protocol = { path = "../protocol", version = "0.8.0" } deepseek-protocol = { path = "../protocol", version = "0.8.1" }
deepseek-state = { path = "../state", version = "0.8.0" } deepseek-state = { path = "../state", version = "0.8.1" }
deepseek-tools = { path = "../tools", version = "0.8.0" } deepseek-tools = { path = "../tools", version = "0.8.1" }
serde.workspace = true serde.workspace = true
serde_json.workspace = true serde_json.workspace = true
tokio.workspace = true tokio.workspace = true
+7 -7
View File
@@ -14,13 +14,13 @@ path = "src/main.rs"
anyhow.workspace = true anyhow.workspace = true
clap.workspace = true clap.workspace = true
clap_complete.workspace = true clap_complete.workspace = true
deepseek-agent = { path = "../agent", version = "0.8.0" } deepseek-agent = { path = "../agent", version = "0.8.1" }
deepseek-app-server = { path = "../app-server", version = "0.8.0" } deepseek-app-server = { path = "../app-server", version = "0.8.1" }
deepseek-config = { path = "../config", version = "0.8.0" } deepseek-config = { path = "../config", version = "0.8.1" }
deepseek-execpolicy = { path = "../execpolicy", version = "0.8.0" } deepseek-execpolicy = { path = "../execpolicy", version = "0.8.1" }
deepseek-mcp = { path = "../mcp", version = "0.8.0" } deepseek-mcp = { path = "../mcp", version = "0.8.1" }
deepseek-secrets = { path = "../secrets", version = "0.8.0" } deepseek-secrets = { path = "../secrets", version = "0.8.1" }
deepseek-state = { path = "../state", version = "0.8.0" } deepseek-state = { path = "../state", version = "0.8.1" }
chrono.workspace = true chrono.workspace = true
dirs.workspace = true dirs.workspace = true
serde.workspace = true serde.workspace = true
File diff suppressed because it is too large Load Diff
+2 -1896
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -8,7 +8,7 @@ description = "Config schema and precedence model for DeepSeek workspace archite
[dependencies] [dependencies]
anyhow.workspace = true anyhow.workspace = true
deepseek-secrets = { path = "../secrets", version = "0.8.0" } deepseek-secrets = { path = "../secrets", version = "0.8.1" }
dirs.workspace = true dirs.workspace = true
serde.workspace = true serde.workspace = true
serde_json.workspace = true serde_json.workspace = true
+8 -8
View File
@@ -9,14 +9,14 @@ description = "Core runtime boundaries for DeepSeek workspace architecture"
[dependencies] [dependencies]
anyhow.workspace = true anyhow.workspace = true
chrono.workspace = true chrono.workspace = true
deepseek-agent = { path = "../agent", version = "0.8.0" } deepseek-agent = { path = "../agent", version = "0.8.1" }
deepseek-config = { path = "../config", version = "0.8.0" } deepseek-config = { path = "../config", version = "0.8.1" }
deepseek-execpolicy = { path = "../execpolicy", version = "0.8.0" } deepseek-execpolicy = { path = "../execpolicy", version = "0.8.1" }
deepseek-hooks = { path = "../hooks", version = "0.8.0" } deepseek-hooks = { path = "../hooks", version = "0.8.1" }
deepseek-mcp = { path = "../mcp", version = "0.8.0" } deepseek-mcp = { path = "../mcp", version = "0.8.1" }
deepseek-protocol = { path = "../protocol", version = "0.8.0" } deepseek-protocol = { path = "../protocol", version = "0.8.1" }
deepseek-state = { path = "../state", version = "0.8.0" } deepseek-state = { path = "../state", version = "0.8.1" }
deepseek-tools = { path = "../tools", version = "0.8.0" } deepseek-tools = { path = "../tools", version = "0.8.1" }
serde_json.workspace = true serde_json.workspace = true
tokio.workspace = true tokio.workspace = true
uuid.workspace = true uuid.workspace = true
+1 -1
View File
@@ -8,5 +8,5 @@ description = "Execution policy and approval model parity for DeepSeek workspace
[dependencies] [dependencies]
anyhow.workspace = true anyhow.workspace = true
deepseek-protocol = { path = "../protocol", version = "0.8.0" } deepseek-protocol = { path = "../protocol", version = "0.8.1" }
serde.workspace = true serde.workspace = true
+1 -1
View File
@@ -10,7 +10,7 @@ description = "Hook dispatch and notifications parity for DeepSeek workspace arc
anyhow.workspace = true anyhow.workspace = true
async-trait.workspace = true async-trait.workspace = true
chrono.workspace = true chrono.workspace = true
deepseek-protocol = { path = "../protocol", version = "0.8.0" } deepseek-protocol = { path = "../protocol", version = "0.8.1" }
reqwest.workspace = true reqwest.workspace = true
serde.workspace = true serde.workspace = true
serde_json.workspace = true serde_json.workspace = true
+1 -1
View File
@@ -8,6 +8,6 @@ description = "MCP server lifecycle and tool proxy compatibility for DeepSeek wo
[dependencies] [dependencies]
anyhow.workspace = true anyhow.workspace = true
deepseek-protocol = { path = "../protocol", version = "0.8.0" } deepseek-protocol = { path = "../protocol", version = "0.8.1" }
serde.workspace = true serde.workspace = true
serde_json.workspace = true serde_json.workspace = true
+1 -1
View File
@@ -9,7 +9,7 @@ description = "Tool invocation lifecycle, schema validation, and scheduler paral
[dependencies] [dependencies]
anyhow.workspace = true anyhow.workspace = true
async-trait.workspace = true async-trait.workspace = true
deepseek-protocol = { path = "../protocol", version = "0.8.0" } deepseek-protocol = { path = "../protocol", version = "0.8.1" }
serde.workspace = true serde.workspace = true
serde_json.workspace = true serde_json.workspace = true
tokio.workspace = true tokio.workspace = true
+9 -2
View File
@@ -5,16 +5,23 @@ edition.workspace = true
license.workspace = true license.workspace = true
repository.workspace = true repository.workspace = true
description = "Terminal UI for DeepSeek" description = "Terminal UI for DeepSeek"
default-run = "deepseek-tui"
[[bin]] [[bin]]
name = "deepseek-tui" name = "deepseek-tui"
path = "src/main.rs" path = "src/main.rs"
[[bin]]
name = "deepseek"
path = "src/bin/deepseek.rs"
doc = false
[dependencies] [dependencies]
anyhow = "1.0.100" anyhow = "1.0.100"
arboard = "3.4" arboard = "3.4"
deepseek-secrets = { path = "../secrets", version = "0.8.0" } deepseek-tui-cli = { path = "../cli", version = "0.8.1" }
deepseek-tools = { path = "../tools", version = "0.8.0" } deepseek-secrets = { path = "../secrets", version = "0.8.1" }
deepseek-tools = { path = "../tools", version = "0.8.1" }
async-stream = "0.3.6" async-stream = "0.3.6"
async-trait = "0.1" async-trait = "0.1"
bytes = "1.11.0" bytes = "1.11.0"
+3
View File
@@ -0,0 +1,3 @@
fn main() -> std::process::ExitCode {
deepseek_tui_cli::run_cli()
}
+2 -2
View File
@@ -1,7 +1,7 @@
{ {
"name": "deepseek-tui", "name": "deepseek-tui",
"version": "0.8.0", "version": "0.8.1",
"deepseekBinaryVersion": "0.8.0", "deepseekBinaryVersion": "0.8.1",
"description": "Install and run deepseek and deepseek-tui binaries from GitHub release artifacts.", "description": "Install and run deepseek and deepseek-tui binaries from GitHub release artifacts.",
"author": "Hmbown", "author": "Hmbown",
"license": "MIT", "license": "MIT",