@drx974/n8n-nodes-deepseek-fixed 0.1.1 → 0.1.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 +10 -2
- package/dist/credentials/DeepSeekFixedApi.credentials.d.ts +1 -0
- package/dist/credentials/DeepSeekFixedApi.credentials.js +1 -0
- package/dist/credentials/deepseek.png +0 -0
- package/dist/nodes/LmChatDeepSeekFixed/ChatDeepSeekFixed.js +14 -7
- package/dist/nodes/LmChatDeepSeekFixed/LmChatDeepSeekFixed.node.js +1 -2
- package/dist/nodes/LmChatDeepSeekFixed/deepseek.png +0 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# n8n-nodes-deepseek-fixed
|
|
1
|
+
# @drx974/n8n-nodes-deepseek-fixed
|
|
2
2
|
|
|
3
3
|
Nœud DeepSeek Chat Model "maison" pour l'AI Agent n8n. Corrige les deux bugs
|
|
4
4
|
documentés qui cassent le Tool Calling avec DeepSeek dans n8n :
|
|
@@ -39,7 +39,7 @@ npm publish --access public
|
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
Puis, dans n8n : **Settings → Community Nodes → Install**, coller le nom du
|
|
42
|
-
package
|
|
42
|
+
package `@drx974/n8n-nodes-deepseek-fixed`, cocher la case de risque, Install,
|
|
43
43
|
puis **redémarrer le container n8n** (obligatoire pour que le node se charge,
|
|
44
44
|
surtout en mode queue).
|
|
45
45
|
|
|
@@ -58,6 +58,14 @@ GitHub Packages, etc.) — le flux d'installation via l'UI reste identique.
|
|
|
58
58
|
fonctionnent avec les tools.
|
|
59
59
|
5. Connecter vos tools comme d'habitude.
|
|
60
60
|
|
|
61
|
+
## Icône
|
|
62
|
+
|
|
63
|
+
Logo DeepSeek (icons8 "3D Fluency"), redimensionné en 60×60 PNG conformément
|
|
64
|
+
aux recommandations n8n, appliqué au nœud et au type de credential. Licence
|
|
65
|
+
gratuite icons8 = attribution requise (lien vers icons8.com) sauf si vous
|
|
66
|
+
disposez d'un plan payant sans attribution — à vérifier avant publication
|
|
67
|
+
publique si ça vous importe.
|
|
68
|
+
|
|
61
69
|
## Limites connues
|
|
62
70
|
|
|
63
71
|
- Pas de support du streaming token-par-token (`_generate` uniquement,
|
|
@@ -2,6 +2,7 @@ import type { ICredentialType, INodeProperties } from 'n8n-workflow';
|
|
|
2
2
|
export declare class DeepSeekFixedApi implements ICredentialType {
|
|
3
3
|
name: string;
|
|
4
4
|
displayName: string;
|
|
5
|
+
icon: "file:deepseek.png";
|
|
5
6
|
documentationUrl: string;
|
|
6
7
|
properties: INodeProperties[];
|
|
7
8
|
}
|
|
Binary file
|
|
@@ -123,13 +123,20 @@ class ChatDeepSeekFixed extends chat_models_1.BaseChatModel {
|
|
|
123
123
|
// field is omitted entirely — it must be set explicitly in both
|
|
124
124
|
// directions, or "Disabled" here silently has no effect and DeepSeek
|
|
125
125
|
// keeps thinking (and returning reasoning_content) regardless.
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
126
|
+
//
|
|
127
|
+
// IMPORTANT: `thinking` belongs at the TOP LEVEL of the request body.
|
|
128
|
+
// DeepSeek's own docs show `extra_body={"thinking": ...}` in Python
|
|
129
|
+
// examples, but that's a Python-openai-SDK-only convention that merges
|
|
130
|
+
// those keys into the root of the outgoing JSON — it is not itself a
|
|
131
|
+
// field DeepSeek recognizes. Nesting it under a literal `extra_body`
|
|
132
|
+
// key here (as an earlier version of this file did) sends a field
|
|
133
|
+
// DeepSeek silently ignores, so thinking stays on regardless of this
|
|
134
|
+
// setting.
|
|
135
|
+
body.thinking =
|
|
136
|
+
this.thinkingMode === 'disabled' ? { type: 'disabled' } : { type: 'enabled' };
|
|
137
|
+
if (this.thinkingMode === 'max') {
|
|
138
|
+
body.reasoning_effort = 'max';
|
|
139
|
+
}
|
|
133
140
|
const completion = await this.client.chat.completions.create(body);
|
|
134
141
|
const choice = completion.choices[0];
|
|
135
142
|
const rawMessage = choice.message;
|
|
@@ -8,8 +8,7 @@ class LmChatDeepSeekFixed {
|
|
|
8
8
|
this.description = {
|
|
9
9
|
displayName: 'DeepSeek Chat Model (Fixed)',
|
|
10
10
|
name: 'lmChatDeepSeekFixed',
|
|
11
|
-
icon: '
|
|
12
|
-
iconColor: 'black',
|
|
11
|
+
icon: 'file:deepseek.png',
|
|
13
12
|
group: ['transform'],
|
|
14
13
|
version: 1,
|
|
15
14
|
description: 'DeepSeek chat model for the AI Agent — fixes the strict tool-schema rejection and the reasoning_content passback error',
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@drx974/n8n-nodes-deepseek-fixed",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "DeepSeek Chat Model for n8n AI Agent — fixes strict tool-schema rejection and reasoning_content passback",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"n8n-community-node-package"
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
]
|
|
24
24
|
},
|
|
25
25
|
"scripts": {
|
|
26
|
-
"build": "tsc"
|
|
26
|
+
"build": "tsc && node scripts/copy-assets.js"
|
|
27
27
|
},
|
|
28
28
|
"peerDependencies": {
|
|
29
29
|
"@langchain/core": "*"
|