@kodelyth/feishu 2026.5.39
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/api.js +7 -0
- package/channel-entry.js +7 -0
- package/channel-plugin-api.js +7 -0
- package/contract-api.js +7 -0
- package/index.js +7 -0
- package/klaw.plugin.json +1845 -0
- package/package.json +61 -0
- package/runtime-api.js +7 -0
- package/secret-contract-api.js +7 -0
- package/security-contract-api.js +7 -0
- package/session-key-api.js +7 -0
- package/setup-api.js +7 -0
- package/setup-entry.js +7 -0
- package/skills/feishu-doc/SKILL.md +211 -0
- package/skills/feishu-doc/references/block-types.md +103 -0
- package/skills/feishu-drive/SKILL.md +97 -0
- package/skills/feishu-perm/SKILL.md +119 -0
- package/skills/feishu-wiki/SKILL.md +113 -0
- package/subagent-hooks-api.js +7 -0
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: feishu-wiki
|
|
3
|
+
description: |
|
|
4
|
+
Feishu knowledge base navigation. Activate when user mentions knowledge base, wiki, or wiki links.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Feishu Wiki Tool
|
|
8
|
+
|
|
9
|
+
Single tool `feishu_wiki` for knowledge base operations.
|
|
10
|
+
|
|
11
|
+
Wiki `space_id` values are opaque strings. Always keep them quoted in tool calls, even when they contain only digits; passing a long numeric-looking ID as a number can corrupt the suffix due to JavaScript number precision limits.
|
|
12
|
+
|
|
13
|
+
## Token Extraction
|
|
14
|
+
|
|
15
|
+
From URL `https://xxx.feishu.cn/wiki/ABC123def` → `token` = `ABC123def`
|
|
16
|
+
|
|
17
|
+
## Actions
|
|
18
|
+
|
|
19
|
+
### List Knowledge Spaces
|
|
20
|
+
|
|
21
|
+
```json
|
|
22
|
+
{ "action": "spaces" }
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Returns all accessible wiki spaces.
|
|
26
|
+
|
|
27
|
+
### List Nodes
|
|
28
|
+
|
|
29
|
+
```json
|
|
30
|
+
{ "action": "nodes", "space_id": "7xxx" }
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
With parent:
|
|
34
|
+
|
|
35
|
+
```json
|
|
36
|
+
{ "action": "nodes", "space_id": "7xxx", "parent_node_token": "wikcnXXX" }
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Get Node Details
|
|
40
|
+
|
|
41
|
+
```json
|
|
42
|
+
{ "action": "get", "token": "ABC123def" }
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Returns: `node_token`, `obj_token`, `obj_type`, etc. Use `obj_token` with `feishu_doc` to read/write the document.
|
|
46
|
+
|
|
47
|
+
### Create Node
|
|
48
|
+
|
|
49
|
+
```json
|
|
50
|
+
{ "action": "create", "space_id": "7xxx", "title": "New Page" }
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
With type and parent:
|
|
54
|
+
|
|
55
|
+
```json
|
|
56
|
+
{
|
|
57
|
+
"action": "create",
|
|
58
|
+
"space_id": "7xxx",
|
|
59
|
+
"title": "Sheet",
|
|
60
|
+
"obj_type": "sheet",
|
|
61
|
+
"parent_node_token": "wikcnXXX"
|
|
62
|
+
}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
`obj_type`: `docx` (default), `sheet`, `bitable`, `mindnote`, `file`, `doc`, `slides`
|
|
66
|
+
|
|
67
|
+
### Move Node
|
|
68
|
+
|
|
69
|
+
```json
|
|
70
|
+
{ "action": "move", "space_id": "7xxx", "node_token": "wikcnXXX" }
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
To different location:
|
|
74
|
+
|
|
75
|
+
```json
|
|
76
|
+
{
|
|
77
|
+
"action": "move",
|
|
78
|
+
"space_id": "7xxx",
|
|
79
|
+
"node_token": "wikcnXXX",
|
|
80
|
+
"target_space_id": "7yyy",
|
|
81
|
+
"target_parent_token": "wikcnYYY"
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Rename Node
|
|
86
|
+
|
|
87
|
+
```json
|
|
88
|
+
{ "action": "rename", "space_id": "7xxx", "node_token": "wikcnXXX", "title": "New Title" }
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Wiki-Doc Workflow
|
|
92
|
+
|
|
93
|
+
To edit a wiki page:
|
|
94
|
+
|
|
95
|
+
1. Get node: `{ "action": "get", "token": "wiki_token" }` → returns `obj_token`
|
|
96
|
+
2. Read doc: `feishu_doc { "action": "read", "doc_token": "obj_token" }`
|
|
97
|
+
3. Write doc: `feishu_doc { "action": "write", "doc_token": "obj_token", "content": "..." }`
|
|
98
|
+
|
|
99
|
+
## Configuration
|
|
100
|
+
|
|
101
|
+
```yaml
|
|
102
|
+
channels:
|
|
103
|
+
feishu:
|
|
104
|
+
tools:
|
|
105
|
+
wiki: true # default: true
|
|
106
|
+
doc: true # required - wiki content uses feishu_doc
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
**Dependency:** This tool requires `feishu_doc` to be enabled. Wiki pages are documents - use `feishu_wiki` to navigate, then `feishu_doc` to read/edit content.
|
|
110
|
+
|
|
111
|
+
## Permissions
|
|
112
|
+
|
|
113
|
+
Required: `wiki:wiki` or `wiki:wiki:readonly`
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from "../../../dist/extensions/feishu/subagent-hooks-api.js";
|
|
2
|
+
import * as module from "../../../dist/extensions/feishu/subagent-hooks-api.js";
|
|
3
|
+
let defaultExport = "default" in module ? module.default : module;
|
|
4
|
+
for (let index = 0; index < 4 && defaultExport && typeof defaultExport === "object" && "default" in defaultExport; index += 1) {
|
|
5
|
+
defaultExport = defaultExport.default;
|
|
6
|
+
}
|
|
7
|
+
export { defaultExport as default };
|