Commit Graph

34 Commits

Author SHA1 Message Date
Hmbown a9435c9ae8 docs(architecture,install,skills): remove modules and a variable that do not exist
INSTALL.md's npm table named `CODEWHALE_VERSION` as the canonical way to pin a
release and demoted `DEEPSEEK_TUI_VERSION` to "legacy alias". It is the other
way round: the wrapper reads `DEEPSEEK_TUI_VERSION || DEEPSEEK_VERSION` and
nothing else (npm/codewhale/scripts/install.js:88-90, with both spellings
covered by test/install.test.js:261-268). `CODEWHALE_VERSION` appears nowhere
in npm/, scripts/, or crates/. The table marked the only working variable as
legacy and the non-existent one as canonical, so anyone pinning a version got
silently ignored. Added a line explaining why the installer keeps the
`DEEPSEEK_*` spelling, since that is the obvious next question.

ARCHITECTURE.md listed four source files that do not exist —
`tools/subagent.rs` (it is a directory), `project_doc.rs`, `session.rs`
(session code is at `core/session.rs`, already listed separately), and a
top-level `ui.rs` distinct from `tui/ui.rs` (there is only one). Dropped the
three that were pure duplicates or ghosts; corrected `subagent.rs` to the
directory and replaced "Persistent sub-agent sessions" with what the surface
actually is, since `subagent/coord.rs:5` calls the persistent-session
lifecycle "retired lifecycle theater".

Also removed "capacity flow guardrails" from the `crates/core` description —
the capacity system was removed and no `capacity` symbol survives in that
crate — and corrected the LSP default server map, which listed 7 servers and
omitted `intelephense` (PHP) while naming the Python binary `pyright` instead
of `pyright-langserver`.

SKILLS.md said `Locale::shipped()` is 8 locales. It is 15
(localization.rs:70-88) — the parity contract understated its own coverage by
seven languages, which undersells the thing the section exists to claim.
2026-08-04 16:38:52 -07:00
Hunter Bown fed91242fb refactor(sandbox): remove dormant Landlock prototype (#5076)
Delete the unwired Linux module whose wrapper returned the original command unsandboxed, and update sandbox documentation to describe only source that still exists. Keep the live bubblewrap selection and denial contract unchanged.\n\nRefs #4785. Audited with the Grok CLI.
2026-08-03 05:47:50 -07:00
Hunter B 8f93c2dcd5 Merge PR #4679 skills manager
Preserve all six contributor commits as first-class ancestors while integrating the unified audit, ownership, mutation, and TUI surfaces onto the exact v0.9.1 candidate head. Follow-up maintainer commits address hosted lint failures and mutation-boundary hardening.

Signed-off-by: Hunter B <hmbown@gmail.com>
2026-07-21 21:07:14 -07:00
samhandsome 7684cbec32 docs(skills): document manager audit provenance and readiness
Signed-off-by: samhandsome <samhandsome@vip.qq.com>
2026-07-22 10:30:58 +08:00
Hunter B 4b80259c67 docs(public): align release facts with runtime
Derive website sandbox facts from explicit runtime capability markers instead of source filenames. Document actual platform wrappers, narrow model and audit claims, and make two-package/three-command installs exact.

Verify release assets under their manifest filenames before renaming them, with an executable contract test for every Unix snippet. Refresh localized README receipts and keep source-candidate toolCount at 66.

Signed-off-by: Hunter B <hmbown@gmail.com>
2026-07-21 18:38:16 -07:00
Hunter B 124c45ad39 docs(runtime): align canonical v0.9.1 surface
Document the exact nine default-active tools, deferred Web behavior, and replay-only aliases from the implemented runtime contract. Align current mode, permission-posture, Fleet vocabulary, fanout, MCP, provider, and operations guidance while preserving historical lifecycle provenance.

Signed-off-by: Hunter B <hmbown@gmail.com>
2026-07-21 17:20:35 -07:00
Hunter B 65b8f3a34d chore(release): prepare Codewhale 0.9.1
Promote the workspace, npm wrapper, internal crate pins, generated web
facts, mirrored changelogs, current docs, and the remote-smoke default
from 0.9.0 to 0.9.1.

The 0.9.1 changelog entry covers the local web client, OpenCode Go, the
xAI device-login restore, calendar-anchored hourly automations,
content-watch canonical draft identities, and the remaining runtime and
Windows fixes, with contributor credits for @h3c-hexin, @zhangweiii,
@sternelee, and @seanthefuturegorilla.

check-versions.sh passes; check-published.sh 0.9.1 reports nothing
published, as expected before release.

Signed-off-by: Hunter B <hmbown@gmail.com>
2026-07-16 23:11:00 -07:00
Hunter B b1794f8881 chore(release): prepare Codewhale 0.9.0
Promote the expanded underwater release from the 0.8.68 candidate number to 0.9.0 across Cargo, npm, generated facts, changelogs, current docs, and the authoritative release ledger.\n\nDocument the final runtime, Operate, Fleet, motion, Inkling, community, and deferred-work cutlines without rewriting historical fixtures. Version and release-helper checks pass.
2026-07-15 17:28:12 -07:00
Hunter B 17bde5e334 docs: retire 0.9-era plans from command to history
A full audit of every document claiming to define 0.9.0 or the next major
found that most of the old cutover plan already shipped in v0.8.68 under a
different route, while several committed documents still presented stale
obligations as binding — including a tracker asserting unshipped Multitask
work as Done and a handoff instructing removal of todo_* aliases that #4132
deliberately kept.

Give every roadmap-era document an explicit status: the workrooms RFC is a
future RFC with Phase 1 shipped; the external-memory cutline is marked
principle-only with its aspirational layer rows called out; the harness
cutline records its shipped schema/resolver lane; the file-decomposition RFC
is re-scoped honestly (config.rs was overtaken by ProviderLake while ui.rs
and main.rs grew); the 0.8.68 playbook, tracker, and completion handoff are
stamped Historical with their live residuals (#4175/#4177/#4178/#4179) and
their false-Done rows named. TOOL_SURFACE gets its version stamp and the
alias paragraph corrected to shipped-in-0.8.68; ARCHITECTURE gains the
workflow/workflow-js/lane crates; LOCALIZATION states its website-only scope
next to the TUI packs; REBRAND's product framing is neutralized to
every-provider-first-class per stewardship policy.

The present-day description of what a next-major release would actually
mean now lives in docs/AGENT_RUNTIME.md — scope, not a version promise —
and the six-module do-not-delete guardrail is salvaged from the handoff
into AGENTS.md where agents will see it.
2026-07-12 14:04:15 -07:00
CodeWhale Agent a2e1707cdd fix: remove remaining stale v0.8.x version refs from ARCHITECTURE.md and agent-task template
- ARCHITECTURE.md:215-216: remove stale (v0.8.6) annotations from LSP hook descriptions
- agent-task.yml:28: remove stale v0.8.58 from example placeholder text

Signed-off-by: Hunter <hunter@hmbown.com>
2026-07-06 15:38:30 -07:00
CodeWhale Agent 85a0ccd49e fix: mechanical context-poisoning sweep — stale versions, branding, dead references
- config.example.toml: header 'for DeepSeek' → 'for any model — open models first'
- config.example.toml: Flash seams comment no longer references v0.7.5 audit as ongoing
- ARCHITECTURE.md: boundary note v0.8.6 → v0.8.67
- ARCHITECTURE.md: remove dead agent_swarm parenthetical from subagent.rs listing
- agent-task.yml: stale v0.8.58 milestone → v0.8.67
- setup-vm.sh: stale v0.8.57 default tag → v0.8.67

Signed-off-by: Hunter <hunter@hmbown.com>
2026-07-06 15:29:59 -07:00
Hunter B 5d0cb6e071 chore(workspace): delete dead crates/tui-core scaffold
Verified zero dependents: no workspace crate depends on codewhale-tui-core,
no `use codewhale_tui_core` exists outside the crate itself, and it is not in
default-members. The 470-line lib.rs carried #![allow(dead_code)] and served
only as an unfinished extraction/parity scaffold.

Removes the crate directory, the workspace `members` entry, the
release-crate publish line, the now-dangling "TUI snapshot parity" CI step
(the crate it tested no longer exists), and the doc/contribute-page mentions
of it. The historical note in docs/CHANGELOG_ARCHIVE.md is left intact as an
accurate record of when the crate was introduced.

Verified: cargo build --workspace, cargo build --release -p codewhale-cli -p
codewhale-tui, cargo fmt --all -- --check, and the remaining two parity
binaries (codewhale-protocol parity_protocol, codewhale-state parity_state)
all pass on the result. Cargo.lock diff is exactly the removed package block.
2026-06-16 20:34:25 -07:00
CodeWhale Agent 562f7ccdb9 wip(subagents): simplify agent surface
WIP branch for v0.8.61 sub-agent cutover. Removes old lifecycle/tool-agent surface, runtime tag injection, heartbeat scaffolding, and capacity/coherence code, but release readiness is not final: interactive fanout can still freeze the TUI and needs follow-up investigation before shipping.
2026-06-15 17:27:00 -07:00
Hunter B 2b69f4e041 chore: polish codewhale home defaults 2026-05-31 19:22:12 -07:00
movic a21e9e5c83 feat: add /purge slash command for agent-driven context pruning
New `/purge` command lets the agent surgically remove or rewrite
conversation history via a purge_context tool call. The engine
validates and applies the operations, cascading tool-result removal
to the paired tool-use call.
2026-05-31 13:53:03 +08:00
Fann Hoo efb63df66e feat(lsp): add Java and Vue language server defaults 2026-05-30 19:26:42 -07:00
Hunter Bown a3acdbe70b docs(brand): rename to codewhale across READMEs and docs
Sweep brand mentions of `DeepSeek TUI` / `deepseek-tui` / bare
`deepseek` (the dispatcher binary) across all user-facing docs to
the new `codewhale` brand. The DeepSeek **provider** integration is
left untouched throughout: env vars (`DEEPSEEK_*`), model IDs
(`deepseek-v4-pro`, `deepseek-v4-flash`, `deepseek-chat`,
`deepseek-reasoner`), the `api.deepseek.com` host, the
`~/.deepseek/` config dir, and the `--provider deepseek` argument
value all keep the legacy spelling.

Anti-scope items deliberately left as the legacy `deepseek-tui`:

- Homebrew tap and formula (`Hmbown/homebrew-deepseek-tui`,
  `brew install deepseek-tui`, `scoop install deepseek-tui`). The
  tap rename ships separately.
- Docker image (`ghcr.io/hmbown/deepseek-tui`). Image-tag rename
  ships separately.
- CNB mirror namespace (`cnb.cool/deepseek-tui.com/DeepSeek-TUI`).
  Third-party hosted path.
- Security contact email (`security@deepseek-tui.com`).
- GitHub repo URL (`Hmbown/DeepSeek-TUI`).

New artifact:

- `docs/REBRAND.md` documents what changed, what didn't, the
  deprecation window, and migration commands for npm / Cargo /
  Homebrew / manual installs.

CHANGELOG entries:

- Root `CHANGELOG.md` and `crates/tui/CHANGELOG.md` both gain a
  new `[Unreleased]` section describing the rename and the one-
  release deprecation window. Historical entries are untouched.

Issue templates:

- `.github/ISSUE_TEMPLATE/bug_report.md` and `feature_request.md`
  refer to "codewhale" / `codewhale --version` instead of the old
  brand name in their environment fields.

The rebrand sweep was driven by a perl script with bulk patterns
(`deepseek-tui` -> `codewhale-tui`, `DeepSeek TUI` -> `codewhale`,
bare `deepseek` -> `codewhale` with provider/model/host/env-var/
config-path negative lookbehind/lookahead) followed by targeted
reverts for the anti-scope items above. Output was visually
reviewed file-by-file before committing.

Verified:

- `cargo check --workspace --all-targets --locked` — pass.
- `cargo test --workspace --all-features --locked` — pass (no
  test source touched here; suite stayed green to confirm no
  doc-from-string assertions broke).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 11:25:48 -05:00
Hunter Bown 0ab95aea1c chore(release): start v0.8.35 branch
- Bump workspace, internal crate pins, npm wrapper metadata, generated facts, and docs from 0.8.34 to 0.8.35

- Clarify 60% manual compact guidance vs 80% opt-in automatic guardrail

- Expire completed live-tool rows and collapse stale running shell rows in the Tasks sidebar
2026-05-13 13:36:15 -05:00
Hunter Bown cf45efa07b chore(release): bump workspace to v0.8.34 and clean repo root
- Bump workspace.package.version 0.8.33 -> 0.8.34 across all 14 crates
- Bump npm wrapper version + deepseekBinaryVersion pin
- Update docs/TOOL_SURFACE.md "Current surface" + docs/ARCHITECTURE.md
  current-surface references; historical "removed_in"/"v0.8.33 began
  moving" wording stays as fact
- Update web/lib/facts.generated.ts version pin
- Draft [0.8.34] CHANGELOG section covering the 135 commits since 0.8.33
  (prefix-cache stability, bundled skills, Kitty/Ghostty notifications,
  theme picker, chunked tool dispatch, MCP session-id persistence,
  cost-calc reasoning tokens, and the in-flight internal cleanup)
- Remove stale repo-root development artifacts:
  * TAKEOVER_PROMPT.md (v0.8.6 handoff, 3 minors stale)
  * PROMPT_ANALYSIS.md (v0.8.13-era prompt audit doc)
  * DEPENDENCY_GRAPH.md (claimed monolith layout, predates 14-crate split)
  docs/ARCHITECTURE.md already contains the live crate map.
- Update CONTRIBUTING.md to reference docs/ARCHITECTURE.md for build
  ordering instead of the removed DEPENDENCY_GRAPH.md

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 01:12:21 -05:00
Hunter Bown 99c6b22e83 chore(release): v0.8.33 — sub-agent and RLM renovation with persistent sessions
- Persistent RLM sessions (rlm_open/rlm_eval/rlm_close) with bounded REPL helpers
- Fork-aware sub-agent sessions (agent_open/agent_eval/agent_close) with handle_read
- Shared handle_read storage with slice/range/count/JSONPath projections
- Slash-command routing: /rlm, /agent, /relay (/接力) for handoff prompts
- Sidebar renamed to "Work" tab, consistent across Plan/Agent/YOLO modes
- Tool papercuts: file_search excludes, grep_files strings, fetch_url JSON,
  edit_file fuzz, exec_shell merged stdout/stderr, revert_turn no-op reject
- CLI reasoning-effort honoured on non-auto exec routes (#1511 @h3c-hexin)
- Edit-file replacement boundaries clarified (#1516)
- Pandoc output validated before probing (#1523)
- Running turns steerable/repaintable (#1533, #1537)
- Tasks/Activity Detail calmer under load
- npm retry timeout hint (#1538 @reidliu41)
- Issue templates improved (#1525 @reidliu41)
- Shell: kill process group to prevent UI freeze (#828 @CrepuscularIRIS)
- TUI: ignore leaked SGR mouse reports in composer (#1421 @reidliu41)
- Footer: keep chips within available width (#1417 @Wenjunyun123)
- Session picker: scope Ctrl+R to current workspace (#1395 @LinQ)
- Removed stale competitive-analysis doc
- Prompts/docs teach only new tool names
2026-05-12 19:54:08 -05:00
Zhuoran Deng 451d66ab0a docs(sandbox): define windows helper contract 2026-05-07 15:28:10 -05:00
Hunter Bown c7ed05a07c feat(api): default DeepSeek to beta endpoint
Closes #941.\n\nRefs #938, #939, #940.
2026-05-06 21:24:59 -05:00
Hunter Bown ad8064b143 chore(v0.8.8): stabilization batch — sub-agent caps, mutex contention, RLM polish, CI cleanup
Bundles the v0.8.8 stabilization fixes that were already implemented in the
working tree, plus the workflow/doc reconciliation called out in #507.

### Sub-agent runtime fixes
- **#509** Default sub-agent cap raised to 10 (configurable via
  `[subagents].max_concurrent` in `config.toml`, hard ceiling 20). The
  running-count calculation now ignores non-running, no-handle, and finished
  handles so completed agents stop counting against the cap.
- **#510** `SharedSubAgentManager` is now `Arc<RwLock<...>>`; the read paths
  that previously held a `Mutex` for inspection now take a read lock,
  eliminating the multi-agent fan-out UI freeze.
- **#511** `compact_tool_result_for_context` summarizes `agent_result` /
  `agent_wait` payloads before they are folded into the parent context.
- **#512** RLM tool cards map to `ToolFamily::Rlm` and render `rlm`, not
  `swarm`. Stale "swarm" wording cleaned in docs/comments/tests.
- **#513** (foreground stopgap only) Foreground RLM work is visible in the
  Agents sidebar projection. Full async RLM lifecycle remains v0.8.9 — the
  issue stays open with a refined scope.

### TUI / UX fixes
- **#487** Offline composer queue is now session-scoped; legacy unscoped
  queues fail closed.
- **#488** Composer Option+Backspace deletes by word; cross-platform key
  routing helpers added.
- **#443/#444** Keyboard enhancement flags pop on normal AND panic exit; the
  raw-mode startup probe is now bounded by a configurable timeout.
- **#449** Production footer reads statusline colors from `app.ui_theme`
  rather than the bespoke palette.
- **#506** `display_path_with_home` no longer mutates `HOME` in tests; the
  flake on shared-env CI is gone.

### Self-update / packaging
- **#503** `update.rs` arch mapping uses release-asset naming (`arm64`/`x64`)
  instead of the raw Rust constants. The platform-asset selector also rejects
  `.sha256` siblings as primary binaries. Tests now live alongside the source
  in `mod tests` (the `#[path]`-based integration test was removed because it
  duplicated test runs and forced a `pub(crate)` helper that no real caller
  used).
- **`Max 5 in flight` wording updated** in `agent_spawn` description,
  `prompts/base.md`, and `docs/TOOL_SURFACE.md` so the model sees the real
  default cap (10) and the configuration knob name.

### CI / release docs (#507)
- Pruned three duplicated/dead workflows: `crates-publish.yml`, `parity.yml`,
  `publish-npm.yml`. Their gates already run in `ci.yml` for every push/PR.
- `release.yml` build job now allows `parity` to be skipped (it only runs on
  tag push), unblocking `workflow_dispatch` reruns. The job still fails
  closed on a real parity failure.
- `RELEASE_RUNBOOK.md` reconciled: crate publishing is documented as the
  manual `scripts/release/publish-crates.sh` flow (no automated workflow);
  references to the deleted workflows removed.
- `CLAUDE.md` notes the `RELEASE_TAG_PAT` requirement for the auto-tag →
  release.yml chain (without it, the tag is created but `release.yml` does
  not fire) and documents the `workflow_dispatch` parity-skip behavior.

### Docs
- `docs/COMPETITIVE_ANALYSIS.md` added — capability matrix vs OpenCode and
  Codex CLI, gap analysis, and recommended implementation order.

### Verification (this branch)
- `cargo fmt --all -- --check` ✓
- `cargo check --workspace --all-targets --locked` ✓
- `cargo clippy --workspace --all-targets --all-features --locked -- -D warnings` ✓
- `cargo test --workspace --all-features --locked` ✓ (1809 + supporting)
- Parity gates ✓ (snapshot, parity_protocol, parity_state)
- `cargo build --release --locked -p deepseek-tui-cli -p deepseek-tui` ✓
- Lockfile drift guard ✓
- `deepseek doctor --json` clean
- `deepseek eval` (offline harness) success=true, 0 tool errors

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 01:57:37 -05:00
Hunter Bown 5bfc1feb62 v0.8.6: survivability, UX polish, and release hardening
Merge the v0.8.6 feature batch and release hardening.\n\nIncludes the full #373-#380/#382-#402 milestone scope, version bump to 0.8.6, secure /share temp-file handling, Windows-safe self-update replacement, and CI portability fixes.\n\nRemote PR checks passed on the final head before merge.
2026-05-02 20:11:33 -05:00
Hunter Bown 00c92e1c2a Implement v0.7.4 long-running agent tools
Release / parity (push) Has been cancelled
Release / build (deepseek-linux-x64, deepseek, ubuntu-latest, x86_64-unknown-linux-gnu) (push) Has been cancelled
Release / build (deepseek-macos-arm64, deepseek, macos-latest, aarch64-apple-darwin) (push) Has been cancelled
Release / build (deepseek-macos-x64, deepseek, macos-latest, x86_64-apple-darwin) (push) Has been cancelled
Release / build (deepseek-tui-linux-x64, deepseek-tui, ubuntu-latest, x86_64-unknown-linux-gnu) (push) Has been cancelled
Release / build (deepseek-tui-macos-arm64, deepseek-tui, macos-latest, aarch64-apple-darwin) (push) Has been cancelled
Release / build (deepseek-tui-macos-x64, deepseek-tui, macos-latest, x86_64-apple-darwin) (push) Has been cancelled
Release / build (deepseek-tui-windows-x64.exe, deepseek-tui.exe, windows-latest, x86_64-pc-windows-msvc) (push) Has been cancelled
Release / build (deepseek-windows-x64.exe, deepseek.exe, windows-latest, x86_64-pc-windows-msvc) (push) Has been cancelled
Release / release (push) Has been cancelled
2026-04-29 00:50:43 -05:00
Hunter Bown 49d2be9e5c refactor(tools): share tool result primitives from crate 2026-04-28 01:23:21 -05:00
Hunter Bown 4fb8372c1c refactor(engine): split turn loop and capacity flow 2026-04-28 01:12:25 -05:00
Hunter Bown 3bc54b0bc0 fix(snapshot): harden side-git restore wiring 2026-04-28 00:46:24 -05:00
Hunter Bown b7bd02d814 feat: DeepSeek V4 support with reasoning-effort control (0.4.0)
Adds first-class DeepSeek V4 Pro and Flash support, updates the default model to deepseek-v4-pro, aligns legacy aliases with the current V4 1M context behavior, and fixes thinking-mode request handling.

Key fixes:
- Send DeepSeek's raw Chat Completions `thinking` parameter at the top level instead of SDK-only `extra_body`.
- Preserve assistant `reasoning_content` for all prior thinking-mode tool-call turns so subsequent requests satisfy DeepSeek V4's replay requirement.
- Fix npm wrapper concurrent first-run downloads by using per-process temporary download paths.
- Add `.mailmap` so historical bot-attributed commits aggregate under Hunter Bown where mailmap is honored.

Verified with the full local Rust gate, live DeepSeek V4 smoke, npm wrapper temp-install smoke, and green PR CI across Linux, macOS, and Windows.
2026-04-23 22:53:20 -05:00
Hunter Bown 7b91169017 refactor: move source files into workspace crates
- Move src/* into crates/tui/src/ to create a proper workspace structure
- Add .claude/ and .trimtab/ directories for Trimtab closed-loop workflow
- Add DEPENDENCY_GRAPH.md and update documentation
- Update Cargo.toml files to reflect new crate dependencies
- Update CI workflows and npm package scripts
- All tests pass, release build works
2026-03-11 20:00:38 -05:00
Hunter Bown 1a04659a95 Add capacity memory controller and smoother TUI streaming 2026-02-17 16:09:07 -06:00
Hunter Bown ab2c708ca7 feat: runtime API, task manager, and extensive improvements (v0.3.16)
Release / build (deepseek-linux-x64, deepseek, ubuntu-latest, x86_64-unknown-linux-gnu) (push) Has been cancelled
Release / build (deepseek-macos-arm64, deepseek, macos-latest, aarch64-apple-darwin) (push) Has been cancelled
Release / build (deepseek-macos-x64, deepseek, macos-latest, x86_64-apple-darwin) (push) Has been cancelled
Release / build (deepseek-windows-x64.exe, deepseek.exe, windows-latest, x86_64-pc-windows-msvc) (push) Has been cancelled
Release / release (push) Has been cancelled
Major Features:
- Runtime API for external integrations and turn management
- Task manager with persistence and recovery
- Shell output streaming and improved tool execution
- Error taxonomy and audit logging
- Command palette and UI enhancements

Documentation:
- Runtime API documentation
- Operations runbook
- Architecture updates

Fixes:
- Auto-compaction threshold and triggering logic
- Doctor command API key validation
- Clippy and formatting compliance
2026-02-16 10:51:39 -06:00
Hunter Bown e0bccecd5c Remove RLM/Duo modes and restore footer scroll 2026-02-03 18:29:36 -06:00
Hunter Bown 6f1158a2d7 Initial release v0.1.0
Release / build (deepseek-macos-x64, deepseek, macos-latest, x86_64-apple-darwin) (push) Has been cancelled
Release / build (deepseek-windows-x64.exe, deepseek.exe, windows-latest, x86_64-pc-windows-msvc) (push) Has been cancelled
publish / pypi (push) Has been cancelled
Release / build (deepseek-linux-x64, deepseek, ubuntu-latest, x86_64-unknown-linux-gnu) (push) Has been cancelled
Release / build (deepseek-macos-arm64, deepseek, macos-latest, aarch64-apple-darwin) (push) Has been cancelled
Release / release (push) Has been cancelled
DeepSeek TUI - Unofficial terminal UI + CLI for DeepSeek models.

Features:
- Interactive TUI with multiple modes (Normal, Plan, Agent, YOLO, RLM, Duo)
- Comprehensive tool access with approval gating
- File operations, shell execution, task management
- Sub-agent system for parallel work
- MCP integration for external tool servers
- Session management and skills system
- Cross-platform support (macOS, Linux, Windows)

🤖 Generated with [Claude Code](https://claude.ai/code)
2026-01-20 08:57:35 -06:00