Initial Netx Ops DSH agent preset (UME + managed CLI).

Portable persona and playbooks for DeepSeek Harness; tools via netx MCP.
This commit is contained in:
hansjone 2026-09-04 21:22:25 +08:00
commit 6677e36424
18 changed files with 746 additions and 0 deletions

58
docs/INSTALL.md Normal file
View file

@ -0,0 +1,58 @@
# Install Netx Ops on DeepSeek Harness
## Prerequisites
1. **DeepSeek Harness** (`dsh`) installed or a local checkout (see [local debug](../examples/local-debug/README.md)).
2. **netx API** reachable (default `http://127.0.0.1:8890`).
3. **Python 3.11+** on the same machine as `dsh`, with `netx_mcp` importable:
```powershell
pip install "git+https://github.com/hansjone/netx.git#subdirectory=packages/netx-mcp"
python -c "import netx_mcp; print('ok')"
```
4. Environment (optional if defaults match):
| Variable | Default | Purpose |
|----------|---------|---------|
| `NETX_API_URL` | `http://127.0.0.1:8890` | netx REST root |
| `NETX_API_TOKEN` | (empty / auto file) | Bearer token |
| `NETX_LANG` | `zh` | API locale |
## Install the agent preset (recommended)
Clone this repo, then link or copy the preset directory into the DSH user preset root:
```powershell
git clone https://github.com/hansjone/netxops.git
# Windows (developer junction — editable in place):
powershell -File .\scripts\link-preset.ps1
# Or copy:
# Copy-Item -Recurse .\presets\netxops $env:USERPROFILE\.dsh\.agent-presets\netxops
```
Unix:
```bash
git clone https://github.com/hansjone/netxops.git
./scripts/link-preset.sh
# Or: cp -R presets/netxops ~/.dsh/.agent-presets/netxops
```
Restart / open `dsh web`, create a session, choose preset **Netx Ops** (`netxops`).
## Optional: `dsh plugin add`
```bash
dsh plugin --profile <name> add github:hansjone/netxops
```
v1’s host `cordis.patch.yml` is empty (MCP stays inside the preset). You still need the preset link/copy above.
## Verify
1. Session tools include `mcp__netx__queryUmeAlarms` (and siblings).
2. Ask: “Critical Top 10 by host” → expect `aggregateUmeAlarms` + Result/Evidence shell.
3. Ask a single `host_name` alarm query → host-scoped tools only.
See [TOOL_MAP.md](TOOL_MAP.md).