@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 CHANGED
@@ -1,4 +1,4 @@
1
- # n8n-nodes-deepseek-fixed-romy
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 `n8n-nodes-deepseek-fixed-romy`, cocher la case de risque, Install,
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
  }
@@ -5,6 +5,7 @@ class DeepSeekFixedApi {
5
5
  constructor() {
6
6
  this.name = 'deepSeekFixedApi';
7
7
  this.displayName = 'DeepSeek Fixed API';
8
+ this.icon = 'file:deepseek.png';
8
9
  this.documentationUrl = 'https://api-docs.deepseek.com/';
9
10
  this.properties = [
10
11
  {
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
- body.extra_body =
127
- this.thinkingMode === 'disabled'
128
- ? { thinking: { type: 'disabled' } }
129
- : {
130
- thinking: { type: 'enabled' },
131
- ...(this.thinkingMode === 'max' ? { reasoning_effort: 'max' } : {}),
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: 'fa:comment',
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',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@drx974/n8n-nodes-deepseek-fixed",
3
- "version": "0.1.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": "*"