@lievclouds/dsh-cortex 0.3.1 → 0.3.3
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/README.md +1 -186
- package/locale/en.json +6 -6
- package/locale/zh.json +6 -6
- package/package.json +106 -106
package/README.md
CHANGED
|
@@ -1,186 +1 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
把本地 **Cortex** 桌面端工作台**原样移植**进 **DeepSeek Harness** 的原生全局面板:
|
|
4
|
-
漏洞看板、内网作战、**记忆星云(Nebula)知识图谱**、资产库、认知快照、漏洞复测。
|
|
5
|
-
插件同时注册 **12 个原生 Agent 工具**,DSH 对话可直接读写同一份 Cortex SQLite,**不需要 MCP**。
|
|
6
|
-
|
|
7
|
-
- **1:1 移植**:直接复用 Cortex 原渲染层源码(React / Tailwind / Radix / lucide /
|
|
8
|
-
react-markdown / three.js + ForceGraph),原 App 组件、页面、i18n、样式**未做视觉重设计**。
|
|
9
|
-
- **无 Electron 依赖**:数据由插件 Host 用 `node:sqlite` 直读 `~/.cortex/data.db`(schema v5),
|
|
10
|
-
通过 `/cortex-api/cortex/**` 暴露给浏览器;Cortex 桌面端 / CLI / Web 均可关闭。
|
|
11
|
-
- **无 MCP 依赖**:内置 `cortex_*` Agent 工具 + 系统提示注入,替代原 MCP 工作流。
|
|
12
|
-
- 只监听 loopback(仅本机可访问);凭据 secret 永不出库;不自动迁移数据库。
|
|
13
|
-
|
|
14
|
-
> 本插件是 Cortex 仓库的一部分(`dsh-cortex/`),与 Cortex 同源发布;Cortex 桌面端 / Web / CLI 的
|
|
15
|
-
> 安装方式见仓库根目录 [README](../README.md)(DSH 插件章节之后)。
|
|
16
|
-
|
|
17
|
-
## 环境要求
|
|
18
|
-
|
|
19
|
-
| 项 | 要求 |
|
|
20
|
-
|---|---|
|
|
21
|
-
| DeepSeek Harness | **0.2.2-rc.1**(实测;使用其 Client 模块加载器 / `slots` / `webServer`) |
|
|
22
|
-
| Node.js | **>= 22.19.0**(`node:sqlite`) |
|
|
23
|
-
| Cortex 数据库 | **schema v5**(`PRAGMA user_version = 5`) |
|
|
24
|
-
| 平台 React | DSH 页面提供 **React 18.3.1**;插件内置配套 `react-dom@18.3.1` 与 JSX runtime shim |
|
|
25
|
-
|
|
26
|
-
> schema 不是 v5 时:所有数据接口返回 `409 SCHEMA_INCOMPATIBLE`,界面显示不兼容提示,
|
|
27
|
-
> **不写库、不自动迁移**。
|
|
28
|
-
|
|
29
|
-
## 在 DSH 中安装(推荐)
|
|
30
|
-
|
|
31
|
-
插件包名 **`@lievclouds/dsh-cortex`**,位于 Cortex 仓库 `dsh-cortex/`,与 Cortex 同源发布。
|
|
32
|
-
三种安装方式任选:
|
|
33
|
-
|
|
34
|
-
1. **DSH 插件市场(一键)**:打开 DSH 桌面端 → 插件 / Plugin Manager → 市场(Market)→ 搜索
|
|
35
|
-
**`@lievclouds/dsh-cortex`** → 安装。注意:无 scope 的 `dsh-cortex` 是另一位作者的另一个插件
|
|
36
|
-
(peer 依赖不同、与当前 DSH 不兼容),不要选错。这是本插件,已发布到 npm。
|
|
37
|
-
2. **DSH 命令(一行)**:
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
|
-
dsh plugin --profile desktop add @lievclouds/dsh-cortex
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
3. **本仓库本地开发(link)**:
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
|
-
dsh plugin --profile desktop add ./dsh-cortex
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
也可使用 DSH Agent 的管理工具:`plugin_manager action=install_bundle target="<repo>/dsh-cortex"`。
|
|
50
|
-
|
|
51
|
-
安装后左侧全局面板出现 **Cortex** 图标(`sidebar.panellist`,order 5,位于「插件 / 自动化任务」之间),
|
|
52
|
-
点击进入整页工作台。面板内部采用 **DSH 外壳适配布局**:顶部一行横向卡片导航(漏洞看板 / 内网作战 /
|
|
53
|
-
记忆星云 / 资产库 / 认知快照 / 漏洞复测,图标与激活色沿用原侧栏),右端为中英文切换;不渲染原
|
|
54
|
-
236px 侧栏、Cortex 品牌与 data.db 卡片(DSH 左栏已承担会话卡片)。
|
|
55
|
-
原 MCP 接入页已移除;Inter / JetBrains Mono 字体在文档层注入,确保 Shadow DOM 内真正使用原始字体。
|
|
56
|
-
链接安装时重建 `client.js` 会被 DSH `client-hmr` 自动热替换,无需刷新页面;
|
|
57
|
-
Host 代码(`index.js` / `src/host/**`)变更需要 DSH 重载或插件 recomposition。
|
|
58
|
-
|
|
59
|
-
## 卸载
|
|
60
|
-
|
|
61
|
-
```text
|
|
62
|
-
plugin_manager action=remove_bundle target="dsh-cortex"
|
|
63
|
-
# 或 CLI:
|
|
64
|
-
dsh plugin --profile desktop remove @lievclouds/dsh-cortex
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
只移除插件注册,**不会删除** Cortex 数据库。
|
|
68
|
-
|
|
69
|
-
## 配置
|
|
70
|
-
|
|
71
|
-
| 环境变量 | 默认 | 说明 |
|
|
72
|
-
|---|---|---|
|
|
73
|
-
| `CORTEX_DB_PATH` | `~/.cortex/data.db` | Cortex SQLite 路径(可指向副本) |
|
|
74
|
-
| `CORTEX_DB_READONLY` | 未设置 | 设为 `1` 强制只读(状态修改 / 复测发送等写操作 403) |
|
|
75
|
-
|
|
76
|
-
## 对话内访问(非 MCP)
|
|
77
|
-
|
|
78
|
-
插件不再需要 MCP,也不需要手动写 skill 注入:Host 半边通过 `ctx.tools.register` 注册 12 个原生
|
|
79
|
-
Agent 工具,并通过 `ctx.systemPrompt.section` **自动注入使用说明**(常驻系统提示,作用等同原 MCP
|
|
80
|
-
skill 注入,但由插件自身维护)。对话里正常描述目标即可触发:
|
|
81
|
-
|
|
82
|
-
| 工具 | 说明 |
|
|
83
|
-
|---|---|
|
|
84
|
-
| `cortex_list_vulns` / `cortex_get_vuln` | 漏洞列表(realm/search/severity/status/分页)/ 完整证据 |
|
|
85
|
-
| `cortex_save_vuln` | 新增或更新漏洞(省略 id 自动分配 VULN-YYYYMMDD-NNN) |
|
|
86
|
-
| `cortex_update_vuln_status` | 更新漏洞状态(只改 status 列) |
|
|
87
|
-
| `cortex_append_retest` | 追加复测结论(append-only,不改原始证据) |
|
|
88
|
-
| `cortex_list_assets` / `cortex_get_asset` | 资产列表 / 详情(结构化接口、泄露、测试参数) |
|
|
89
|
-
| `cortex_sync_asset_info` | 同步资产上下文(mode=merge 增量 / replace 全量) |
|
|
90
|
-
| `cortex_list_snapshots` / `cortex_get_snapshot` | 认知快照列表 / 详情(九字段) |
|
|
91
|
-
| `cortex_internal_overview` | 内网作战范围汇总(footholds/hosts/services/credentials/pivots) |
|
|
92
|
-
| `cortex_graph_summary` | 记忆星云派生图规模与高连接节点 |
|
|
93
|
-
|
|
94
|
-
**提示词写法**(自然语言即可,明确「动作 + 对象」最稳):
|
|
95
|
-
|
|
96
|
-
- 查询:`列出 Cortex 漏洞库里 127.0.0.1:8080 的所有高危漏洞`、`查一下 VULN-20261102-007 的详情`
|
|
97
|
-
- 写入:`把刚才确认的 SSRF 漏洞写入 Cortex:host 127.0.0.1:8080,severity High,target ...`
|
|
98
|
-
- 状态:`把 VULN-20261102-007 标记为已确认`
|
|
99
|
-
- 复测:`给 VULN-20261102-007 追加一条复测结论:2026-11-07 复测仍可复现,...`
|
|
100
|
-
- 资产:`把 127.0.0.1:8080 的接口/泄露/技术栈同步到资产库(merge)`
|
|
101
|
-
- 内网/星云:`汇总一下内网作战范围`、`星云图里哪些节点连接最多`
|
|
102
|
-
- 若模型没自动触发,可直接点名:`用 cortex_list_vulns 查 ...`
|
|
103
|
-
|
|
104
|
-
同一套能力也以 `/cortex-api/cortex/**` HTTP 路由暴露(loopback),
|
|
105
|
-
`node scripts/verify-agent-access.mjs` 可对运行中的 DSH 做非 MCP 读写验证。
|
|
106
|
-
|
|
107
|
-
> 旧的 `mcp__cortex__*` 工具仍可用但不再必需;插件工具与 MCP 共用同一 SQLite,
|
|
108
|
-
> 两套入口可混用(写入建议只走其中一套,避免重复记录)。
|
|
109
|
-
|
|
110
|
-
---
|
|
111
|
-
|
|
112
|
-
## 页面(与原 UI 一致)
|
|
113
|
-
|
|
114
|
-
| 页面 | 说明 |
|
|
115
|
-
|---|---|
|
|
116
|
-
| 漏洞看板 | 漏洞列表 / 搜索 / severity·status·realm 过滤 / 分页 / 详情抽屉 / 状态流转 / 删除 / 导出报告 / 种子数据 |
|
|
117
|
-
| 内网作战 | 项目切换;footholds / hosts / services / credentials / pivots;凭据矩阵、子网热力图、Loot 解析 |
|
|
118
|
-
| 记忆星云 | 3D 知识图谱(three.js + ForceGraph3D):漏洞 / 资产 / 泄露 / 快照 / 内网实体;2D 降级;节点检查器;范围选择 |
|
|
119
|
-
| 资产库 | 资产表 / 详情抽屉:技术栈、结构化接口(原始 HTTP 请求)、泄露信息、测试参数、关联漏洞 |
|
|
120
|
-
| 认知快照 | 项目 → 父/子会话;九字段、测试接口、关联漏洞、归档/恢复/删除 |
|
|
121
|
-
| 漏洞复测 | 原 Repeater 面板;Web 漏洞列表、步骤、重定向、响应渲染;顶部状态修改 |
|
|
122
|
-
| AI 配置 | 桌面端专属;Web/DSH 运行时按原逻辑隐藏 |
|
|
123
|
-
|
|
124
|
-
> MCP 接入页已按需求移除:DSH 插件直接访问本地 SQLite,不需要 MCP。
|
|
125
|
-
|
|
126
|
-
## 架构
|
|
127
|
-
|
|
128
|
-
```
|
|
129
|
-
DSH Web (page, dsh-app://app/)
|
|
130
|
-
└─ client.js ← 原 Cortex App(Shadow DOM 内挂载,Tailwind 样式完全隔离)
|
|
131
|
-
└─ fetch('/cortex-api/cortex/**') ← 同源相对路径可用(DSH 代理到本机 webServer)
|
|
132
|
-
└─ Host 插件(index.js → src/host/*)
|
|
133
|
-
├─ 原 DSH 风格 REST:/cortex-api/health|stats|vulns|assets|internal|snapshots|reports
|
|
134
|
-
└─ 原 CortexApi 兼容层:/cortex-api/cortex/**(vulns/assets/snapshots/internal/graph/poc/repeater…)
|
|
135
|
-
├─ node:sqlite 只读查询 ~/.cortex/data.db (schema v5)
|
|
136
|
-
└─ 记忆星云:原 buildMemoryGraph.ts(编译为 graph-builder.js) + node:sqlite 适配器
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
- 移植时的平台适配:React 18 shim、`react-dom@18.3.1` 内置、JSX runtime shim、Sonner→Shadow toast 兼容层、
|
|
140
|
-
Radix Portal 重定向到 Shadow 容器、Tailwind 样式注入 Shadow root。
|
|
141
|
-
- **只改数据层**:`renderer/lib/transport/index.ts` 改为插件 API;原 App / pages / components 未改。
|
|
142
|
-
|
|
143
|
-
## 安全
|
|
144
|
-
|
|
145
|
-
- 仅 loopback peer + loopback Host;写操作同源校验(Origin / Sec-Fetch-Site / JSON)。
|
|
146
|
-
- 凭据 `secret` 永不序列化;内网凭据矩阵只显示 masked 值。
|
|
147
|
-
- 复测出站:origin allowlist、默认不跟随重定向(≤5 跳)、15s、2MiB 截断。
|
|
148
|
-
- 日志不含 SQL / 凭据 / 请求体 / 数据库绝对路径。
|
|
149
|
-
|
|
150
|
-
## 开发
|
|
151
|
-
|
|
152
|
-
```powershell
|
|
153
|
-
npm run build # 重新编译记忆星云构建器 + 原 UI client.js(Tailwind + esbuild)
|
|
154
|
-
npm test # node --test(204 用例:Host / 集成 / jsdom 忠实度 / manifest)
|
|
155
|
-
npm run smoke # jsdom 忠实度冒烟(顶部导航行 / 6 导航 / 数据渲染 / 字体注入 / 0 console.error)
|
|
156
|
-
node scripts/build-cortex-ui.mjs # 只重建 client.js
|
|
157
|
-
node scripts/build-host-graph.mjs # 只重建 Nebula 图构建器
|
|
158
|
-
node scripts/verify-cortex-api.mjs # 对运行中的 DSH 校验 /cortex-api/cortex/**
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
目录:
|
|
162
|
-
|
|
163
|
-
```
|
|
164
|
-
src/cortex-ui/renderer/ # 原 Cortex 渲染层(vendor,仅 4 处平台适配改动)
|
|
165
|
-
src/cortex-ui/shared/ # 原 shared 类型/契约(vendor)
|
|
166
|
-
src/cortex-ui/graph/ # 原 buildMemoryGraph.ts(vendor)
|
|
167
|
-
src/cortex-ui/dsh/ # 平台入口(Shadow DOM / API 传输 / sonner shim / wrapper)
|
|
168
|
-
src/host/ # 插件 Host(原 REST + CortexApi 兼容层 + Nebula 图适配)
|
|
169
|
-
scripts/ # 构建 / 冒烟 / 实测脚本
|
|
170
|
-
fixtures/ test/ # 合成 schema-v5 fixture 与测试
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
## 已知限制
|
|
174
|
-
|
|
175
|
-
1. **仅 loopback**:其他机器访问 403(页面显示「仅本机可用」)。
|
|
176
|
-
2. **DSH 版本适配面**:实测 DSH 0.2.2-rc.1 + Node 24.21.0;平台 React 18.3.1。
|
|
177
|
-
3. **schema 只认 v5**:不迁移、默认不创建数据库(`CORTEX_DB_PATH` 可指向副本)。
|
|
178
|
-
4. **AI 配置页**:与 Cortex `ctx web` 一致隐藏(桌面端专属);MCP 接入页已移除。
|
|
179
|
-
5. **星云全屏**:优先 Browser Fullscreen API(Electron 真全屏,隐藏任务栏/窗口按钮);API 被拒绝时
|
|
180
|
-
降级为页内覆盖层,Esc / 右下角按钮退出。
|
|
181
|
-
6. **无浏览器控制**:交付验证覆盖 slot/HTTP/jsdom 结构 + 真实页面离屏挂载探针(7 页面 0 错误、
|
|
182
|
-
Nebula canvas 已渲染);无截图级像素比对。
|
|
183
|
-
7. **Nebula 3D**:真实页面 WebGL2 可用已实测;jsdom 无 WebGL,测试只断言懒加载路由与打包内容。
|
|
184
|
-
8. **删除/归档写操作**:按原 UI 行为实现,仅用合成 fixture 测试;真实库未做破坏性验证。
|
|
185
|
-
9. **npm 发布**:包名 `@lievclouds/dsh-cortex`。首次发布前,插件市场与 `dsh plugin add` 需等
|
|
186
|
-
`npm publish` 完成;本地仓库可直接用安装方式 3(link)安装。
|
|
1
|
+
在 DeepSeek Harness 内使用原版 Cortex 工作台:漏洞看板、内网作战、记忆星云图谱、资产库、认知快照与漏洞复测
|
package/locale/en.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
{
|
|
2
|
-
"meta": {
|
|
3
|
-
"title": "Cortex",
|
|
4
|
-
"description": "The original Cortex workbench inside DeepSeek Harness: vulnerability board, internal operations, memory nebula graph, assets,
|
|
5
|
-
}
|
|
6
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"meta": {
|
|
3
|
+
"title": "Cortex",
|
|
4
|
+
"description": "The original Cortex workbench inside DeepSeek Harness: vulnerability board, internal operations, memory nebula graph, assets, snapshots and retest, plus 12 native cortex_* agent tools. No MCP needed."
|
|
5
|
+
}
|
|
6
|
+
}
|
package/locale/zh.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
{
|
|
2
|
-
"meta": {
|
|
3
|
-
"title": "Cortex",
|
|
4
|
-
"description": "在 DeepSeek Harness 内使用原版 Cortex
|
|
5
|
-
}
|
|
6
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"meta": {
|
|
3
|
+
"title": "Cortex",
|
|
4
|
+
"description": "在 DeepSeek Harness 内使用原版 Cortex 工作台:漏洞看板、内网作战、记忆星云图谱、资产库、认知快照与漏洞复测;内置 12 个 cortex_* Agent 工具,无需 MCP。"
|
|
5
|
+
}
|
|
6
|
+
}
|
package/package.json
CHANGED
|
@@ -1,106 +1,106 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@lievclouds/dsh-cortex",
|
|
3
|
-
"version": "0.3.
|
|
4
|
-
"description": "Cortex workbench for DeepSeek Harness: the original Cortex UI (vulnerabilities, assets, internal operations, Memory Nebula, snapshots, retest) as a native DSH panel, plus 12 native agent tools so DSH conversations use the local Cortex SQLite without MCP.",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"main": "index.js",
|
|
7
|
-
"license": "MIT",
|
|
8
|
-
"author": {
|
|
9
|
-
"name": "Revcloudi",
|
|
10
|
-
"url": "https://github.com/Revcloudi"
|
|
11
|
-
},
|
|
12
|
-
"homepage": "https://github.com/Revcloudi/Cortex/tree/main/dsh-cortex#readme",
|
|
13
|
-
"repository": {
|
|
14
|
-
"type": "git",
|
|
15
|
-
"url": "git+https://github.com/Revcloudi/Cortex.git",
|
|
16
|
-
"directory": "dsh-cortex"
|
|
17
|
-
},
|
|
18
|
-
"bugs": {
|
|
19
|
-
"url": "https://github.com/Revcloudi/Cortex/issues"
|
|
20
|
-
},
|
|
21
|
-
"publishConfig": {
|
|
22
|
-
"access": "public"
|
|
23
|
-
},
|
|
24
|
-
"keywords": [
|
|
25
|
-
"dsh-plugin",
|
|
26
|
-
"deepseek-harness",
|
|
27
|
-
"dsh",
|
|
28
|
-
"cordis",
|
|
29
|
-
"cortex",
|
|
30
|
-
"pentest",
|
|
31
|
-
"vulnerability-management",
|
|
32
|
-
"asset-management",
|
|
33
|
-
"sqlite",
|
|
34
|
-
"nebula"
|
|
35
|
-
],
|
|
36
|
-
"exports": {
|
|
37
|
-
".": "./index.js",
|
|
38
|
-
"./client": "./client.js",
|
|
39
|
-
"./cordis.patch.yml": "./cordis.patch.yml",
|
|
40
|
-
"./locale/*.json": "./locale/*.json",
|
|
41
|
-
"./icon": "./icon.svg",
|
|
42
|
-
"./package.json": "./package.json"
|
|
43
|
-
},
|
|
44
|
-
"files": [
|
|
45
|
-
"index.js",
|
|
46
|
-
"client.js",
|
|
47
|
-
"src",
|
|
48
|
-
"cordis.patch.yml",
|
|
49
|
-
"locale",
|
|
50
|
-
"icon.svg",
|
|
51
|
-
"README.md",
|
|
52
|
-
"LICENSE"
|
|
53
|
-
],
|
|
54
|
-
"engines": {
|
|
55
|
-
"node": ">=22.19.0"
|
|
56
|
-
},
|
|
57
|
-
"scripts": {
|
|
58
|
-
"build": "node scripts/build-host-graph.mjs && node scripts/build-cortex-ui.mjs",
|
|
59
|
-
"build:graph": "node scripts/build-host-graph.mjs",
|
|
60
|
-
"build:client": "node scripts/build-cortex-ui.mjs",
|
|
61
|
-
"smoke": "node scripts/smoke-cortex-ui.mjs",
|
|
62
|
-
"test": "node --test",
|
|
63
|
-
"test:host": "node --test \"test/host/**/*.test.mjs\"",
|
|
64
|
-
"pack:check": "npm pack --dry-run",
|
|
65
|
-
"publish:npm": "npm publish --access public"
|
|
66
|
-
},
|
|
67
|
-
"dsh": {
|
|
68
|
-
"bundle": {
|
|
69
|
-
"patch": "./cordis.patch.yml"
|
|
70
|
-
},
|
|
71
|
-
"client": {
|
|
72
|
-
"platform": "web",
|
|
73
|
-
"immediately": true,
|
|
74
|
-
"inject": [
|
|
75
|
-
"@deepseek-ai/dsh-client-ui-sidebar",
|
|
76
|
-
"@deepseek-ai/dsh-client-locale"
|
|
77
|
-
]
|
|
78
|
-
}
|
|
79
|
-
},
|
|
80
|
-
"devDependencies": {
|
|
81
|
-
"@fontsource-variable/inter": "5.3.0",
|
|
82
|
-
"@fontsource-variable/jetbrains-mono": "5.3.0",
|
|
83
|
-
"@radix-ui/react-dialog": "1.3.1",
|
|
84
|
-
"@radix-ui/react-select": "^2.4.1",
|
|
85
|
-
"@radix-ui/react-tabs": "1.2.1",
|
|
86
|
-
"@radix-ui/react-tooltip": "1.4.1",
|
|
87
|
-
"autoprefixer": "10.6.2",
|
|
88
|
-
"class-variance-authority": "0.7.1",
|
|
89
|
-
"clsx": "2.1.1",
|
|
90
|
-
"esbuild": "0.28.2",
|
|
91
|
-
"jsdom": "^31.0.0",
|
|
92
|
-
"lucide-react": "1.65.0",
|
|
93
|
-
"postcss": "8.5.32",
|
|
94
|
-
"react": "18.3.1",
|
|
95
|
-
"react-dom": "18.3.1",
|
|
96
|
-
"react-force-graph-3d": "^1.29.2",
|
|
97
|
-
"react-markdown": "^10.1.0",
|
|
98
|
-
"react-syntax-highlighter": "^16.1.2",
|
|
99
|
-
"remark-gfm": "^4.0.1",
|
|
100
|
-
"sonner": "2.0.8",
|
|
101
|
-
"tailwind-merge": "3.7.0",
|
|
102
|
-
"tailwindcss": "3.4.19",
|
|
103
|
-
"three": "^0.187.0",
|
|
104
|
-
"zod": "4.6.7"
|
|
105
|
-
}
|
|
106
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@lievclouds/dsh-cortex",
|
|
3
|
+
"version": "0.3.3",
|
|
4
|
+
"description": "Cortex workbench for DeepSeek Harness: the original Cortex UI (vulnerabilities, assets, internal operations, Memory Nebula, snapshots, retest) as a native DSH panel, plus 12 native agent tools so DSH conversations use the local Cortex SQLite without MCP.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "index.js",
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"author": {
|
|
9
|
+
"name": "Revcloudi",
|
|
10
|
+
"url": "https://github.com/Revcloudi"
|
|
11
|
+
},
|
|
12
|
+
"homepage": "https://github.com/Revcloudi/Cortex/tree/main/dsh-cortex#readme",
|
|
13
|
+
"repository": {
|
|
14
|
+
"type": "git",
|
|
15
|
+
"url": "git+https://github.com/Revcloudi/Cortex.git",
|
|
16
|
+
"directory": "dsh-cortex"
|
|
17
|
+
},
|
|
18
|
+
"bugs": {
|
|
19
|
+
"url": "https://github.com/Revcloudi/Cortex/issues"
|
|
20
|
+
},
|
|
21
|
+
"publishConfig": {
|
|
22
|
+
"access": "public"
|
|
23
|
+
},
|
|
24
|
+
"keywords": [
|
|
25
|
+
"dsh-plugin",
|
|
26
|
+
"deepseek-harness",
|
|
27
|
+
"dsh",
|
|
28
|
+
"cordis",
|
|
29
|
+
"cortex",
|
|
30
|
+
"pentest",
|
|
31
|
+
"vulnerability-management",
|
|
32
|
+
"asset-management",
|
|
33
|
+
"sqlite",
|
|
34
|
+
"nebula"
|
|
35
|
+
],
|
|
36
|
+
"exports": {
|
|
37
|
+
".": "./index.js",
|
|
38
|
+
"./client": "./client.js",
|
|
39
|
+
"./cordis.patch.yml": "./cordis.patch.yml",
|
|
40
|
+
"./locale/*.json": "./locale/*.json",
|
|
41
|
+
"./icon": "./icon.svg",
|
|
42
|
+
"./package.json": "./package.json"
|
|
43
|
+
},
|
|
44
|
+
"files": [
|
|
45
|
+
"index.js",
|
|
46
|
+
"client.js",
|
|
47
|
+
"src",
|
|
48
|
+
"cordis.patch.yml",
|
|
49
|
+
"locale",
|
|
50
|
+
"icon.svg",
|
|
51
|
+
"README.md",
|
|
52
|
+
"LICENSE"
|
|
53
|
+
],
|
|
54
|
+
"engines": {
|
|
55
|
+
"node": ">=22.19.0"
|
|
56
|
+
},
|
|
57
|
+
"scripts": {
|
|
58
|
+
"build": "node scripts/build-host-graph.mjs && node scripts/build-cortex-ui.mjs",
|
|
59
|
+
"build:graph": "node scripts/build-host-graph.mjs",
|
|
60
|
+
"build:client": "node scripts/build-cortex-ui.mjs",
|
|
61
|
+
"smoke": "node scripts/smoke-cortex-ui.mjs",
|
|
62
|
+
"test": "node --test",
|
|
63
|
+
"test:host": "node --test \"test/host/**/*.test.mjs\"",
|
|
64
|
+
"pack:check": "npm pack --dry-run",
|
|
65
|
+
"publish:npm": "npm publish --access public"
|
|
66
|
+
},
|
|
67
|
+
"dsh": {
|
|
68
|
+
"bundle": {
|
|
69
|
+
"patch": "./cordis.patch.yml"
|
|
70
|
+
},
|
|
71
|
+
"client": {
|
|
72
|
+
"platform": "web",
|
|
73
|
+
"immediately": true,
|
|
74
|
+
"inject": [
|
|
75
|
+
"@deepseek-ai/dsh-client-ui-sidebar",
|
|
76
|
+
"@deepseek-ai/dsh-client-locale"
|
|
77
|
+
]
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"devDependencies": {
|
|
81
|
+
"@fontsource-variable/inter": "5.3.0",
|
|
82
|
+
"@fontsource-variable/jetbrains-mono": "5.3.0",
|
|
83
|
+
"@radix-ui/react-dialog": "1.3.1",
|
|
84
|
+
"@radix-ui/react-select": "^2.4.1",
|
|
85
|
+
"@radix-ui/react-tabs": "1.2.1",
|
|
86
|
+
"@radix-ui/react-tooltip": "1.4.1",
|
|
87
|
+
"autoprefixer": "10.6.2",
|
|
88
|
+
"class-variance-authority": "0.7.1",
|
|
89
|
+
"clsx": "2.1.1",
|
|
90
|
+
"esbuild": "0.28.2",
|
|
91
|
+
"jsdom": "^31.0.0",
|
|
92
|
+
"lucide-react": "1.65.0",
|
|
93
|
+
"postcss": "8.5.32",
|
|
94
|
+
"react": "18.3.1",
|
|
95
|
+
"react-dom": "18.3.1",
|
|
96
|
+
"react-force-graph-3d": "^1.29.2",
|
|
97
|
+
"react-markdown": "^10.1.0",
|
|
98
|
+
"react-syntax-highlighter": "^16.1.2",
|
|
99
|
+
"remark-gfm": "^4.0.1",
|
|
100
|
+
"sonner": "2.0.8",
|
|
101
|
+
"tailwind-merge": "3.7.0",
|
|
102
|
+
"tailwindcss": "3.4.19",
|
|
103
|
+
"three": "^0.187.0",
|
|
104
|
+
"zod": "4.6.7"
|
|
105
|
+
}
|
|
106
|
+
}
|