You'll probably need to do it "the hard way", which is by writing a Lua script or running commands directly at the console interactively.
From what I can see, you first want to use the k cursor over an existing River tile and then run the "probe" command - the output should contain "feature_local = Y" and the "local feature idx" should be something other than "-1".
Once you've gotten that information, the following commands should do what you want, assuming you've got the map cursor hovering over the tile into which you want your river to extend:
-- grab a pointer to the map "chunk" beneath the cursor
blk = dfhack.maps.ensureTileBlock(df.global.cursor.x, df.global.cursor.y, df.global.cursor.z)
-- check if it's already assigned to a local feature
print(blk.local_feature)
-- if you see a number other than "-1" or the feature index you got above, then you can't extend the river into this tile
-- if it was "-1", then change it to the feature index from above (replace "N")
blk.local_feature = N
-- mark the tile as being part of the local feature
blk.designation[df.global.cursor.x % 16][df.global.cursor.y % 16].feature_local = true
You should only need to perform these actions on the actual tiles filled with water - the air blocks above should be left alone. If you're placing actual Brook tiles (which include a special floor tile above them), then you'll want to flag those as well.