mirror of
https://github.com/hansjone/netxops.git
synced 2026-10-20 13:30:46 +08:00
Harden public package installation and release validation
This commit is contained in:
parent
9271494b37
commit
9b2166e5b6
41 changed files with 994 additions and 363 deletions
71
README.md
71
README.md
|
|
@ -1,64 +1,51 @@
|
|||
# netxops — Netx Ops for DeepSeek Harness
|
||||
# Netx Ops for DeepSeek Harness
|
||||
|
||||
Public **DeepSeek Harness** package: native `netx__*` REST tools + Plugins card + **agent preset (skills included)**.
|
||||
Network operations, topology and business monitoring tools for DeepSeek Harness Desktop and Web. Publish tools and their skills to Netx Ops, selected presets, or all presets; revoke them at any time.
|
||||
|
||||
- GitHub: https://github.com/hansjone/netxops
|
||||
- Package: `dsh-netxops`
|
||||
- Brand: **Netx Ops**
|
||||
## Install
|
||||
|
||||
## Install (one command)
|
||||
In Harness **Plugins → Add plugin**, enter `github:hansjone/netxops`, or the absolute path to a released `dsh-netxops-<version>.tgz`. A release tarball is recommended for a fixed, tested version and avoids downloading from GitHub during installation.
|
||||
|
||||
```powershell
|
||||
dsh plugin --profile web add `
|
||||
github:hansjone/netxops `
|
||||
github:hansjone/dsh-im-ops `
|
||||
github:hansjone/dsh-ops-cron
|
||||
For the Web CLI:
|
||||
|
||||
```sh
|
||||
dsh plugin --profile web add github:hansjone/netxops
|
||||
dsh web
|
||||
```
|
||||
|
||||
IM + cron must be **direct** profile deps (same `add` line). Nesting `github:` under netxops hits `blockExoticSubdeps` / `ERR_PNPM_EXOTIC_SUBDEP`. Details: [docs/INSTALL.md](docs/INSTALL.md).
|
||||
Only Netx Ops is required. IM delivery and scheduling are optional, separate plugins. Users do not need Bun, Python, a local source checkout, or a build step; runtime JS and skills are included. Harness supplies its own internal packages and React.
|
||||
|
||||
Then:
|
||||
See the [installation and troubleshooting guide](docs/INSTALL.md).
|
||||
|
||||
1. Settings → **Plugins** → **Netx Ops** → API URL / token / capability groups
|
||||
2. Optional: enable **关键告警推送** — DSH dials out to netx; choose **Deliver to DSH session** and/or **Deliver to WhatsApp / IM** (paste `botId`+`targetId` from IM 投递设置). The card shows live WSS status.
|
||||
3. Optional: **导出全部会话** — download one ZIP of every durable session on this Host.
|
||||
4. Settings → **Agent presets** → Custom → **Netx Ops** (installed automatically on first host activate)
|
||||
5. New session → choose **Netx Ops**
|
||||
## Configure
|
||||
|
||||
Also need: a reachable **netx API** (no local `pip install netx_mcp`).
|
||||
1. Open **Settings → Plugins → Netx Ops** and enter your Netx API URL and token.
|
||||
2. Choose each capability group's target presets. The default enables operations and business monitoring in Netx Ops only; topology and publication to all presets start disabled.
|
||||
3. After installation or upgrade, restart the relevant Desktop or Web Host once and select **Netx Ops** for a new session.
|
||||
|
||||
## Flexible publication
|
||||
Publication switches and preset selection save automatically. Connection fields, model language, alarm settings and manually entered knowledge-base paths use **Save / Discard**, shown when a draft changes. Choosing a knowledge-base directory through the picker saves that path automatically.
|
||||
|
||||
Settings → Plugins → Netx Ops supports a master publication switch and independent
|
||||
targets for ops, topology, biz-monitor, and knowledge-base capabilities:
|
||||
The master publication switch removes all plugin-managed Netx tools and skills while retaining selections. Subsequent publication changes apply on the next model request without restarting. API access requires a reachable Netx service and token permissions matching the requested tools.
|
||||
|
||||
- Enable in the built-in **Netx Ops** preset.
|
||||
- Select specific other presets from the live Host roster.
|
||||
- Publish to **all presets** through the Host layer.
|
||||
Optional features include alarm delivery to a Harness session or IM, knowledge-base skills and local memory, and downloading this Host's persisted sessions as a ZIP. See [knowledge-base configuration](docs/KNOWLEDGE_BASE.md) and the [tool map](docs/TOOL_MAP.md).
|
||||
|
||||
Tools and corresponding skills follow the same policy. Changes auto-save and apply
|
||||
to current and new sessions on their next model request. Turning the master switch
|
||||
off removes all plugin-managed Netx tools and skills while retaining your selections.
|
||||
After upgrading the plugin, restart each installed Host once; subsequent publication
|
||||
changes do not need a restart.
|
||||
## Development and release
|
||||
|
||||
See the [Chinese diagnosis and validation report](docs/PUBLICATION-REVIEW.zh.md).
|
||||
Development checks: `bun run typecheck`, `bun test`, and `bun run preview:client`.
|
||||
```sh
|
||||
pnpm install --frozen-lockfile --ignore-scripts
|
||||
bun run bundle
|
||||
bun run release:check
|
||||
bun run test:release
|
||||
bun run release:pack
|
||||
```
|
||||
|
||||
**Skills:** edit only in the sibling **netx** repo `skills/` tree, then `powershell -File .\scripts\sync-skills-from-netx.ps1` before publish. Linked local installs prefer `../netx/skills` or `NETX_SKILLS_ROOT` at runtime.
|
||||
Development requires Node.js 22, pnpm 11.7 and Bun 1.3.13 or later. Building and package installation tests use only public development dependencies. Full Harness integration tests and type checking additionally need a local Harness runtime; see [maintainer instructions](docs/RELEASING.md).
|
||||
|
||||
## What is coupled
|
||||
Release checks detect stale or missing bundles, undeclared runtime dependencies, invalid metadata and missing skills. Tests install the actual npm tarball offline in an isolated profile. CI repeats the package checks on Windows, macOS and Linux.
|
||||
|
||||
| In the plugin | Outside (data / runtime) |
|
||||
|---------------|---------------------------|
|
||||
| `netx__*` REST tools (groups: ops / topology; one group ↔ one skill; optional host publish + `tools-ops|topology`) + settings + credentials | netx HTTP API (URL + token) |
|
||||
| Optional key-alarm push (WSS client → sticky DSH session) | netx `/v1/integrations/dsh-alarm/ws` hub |
|
||||
| **Export all sessions** (Plugins card → browser ZIP download) | this Host’s session store (JSONL) |
|
||||
| Persona + skills (`netx-ops` / `netx-topology`) | |
|
||||
| Agent preset auto-install to `~/.dsh/.agent-presets` | |
|
||||
Skills are maintained in the sibling `netx/skills` repository and copied into this package before release. Published installations use the bundled skill files; a source checkout can use the sibling repository or an explicit `NETX_SKILLS_ROOT`.
|
||||
|
||||
MCP (`python -m netx_mcp`) remains available for OpenClaw / other hosts — not required for DSH.
|
||||
Implementation and UI validation details: [Chinese review](docs/PUBLICATION-REVIEW.zh.md).
|
||||
|
||||
## License
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue