@yeyuan98/opencode-bioresearcher-plugin 1.3.0 → 1.3.1-alpha.1

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,137 +1,140 @@
1
- # BioResearcher Plugin
2
-
3
- OpenCode plugin that adds agents and tools for biomedical and pharmaceutical research.
4
-
5
- ## Overview
6
-
7
- No nonsense and powerful. Agents and tools that just work for your typical biomedical and pharmaceutical research needs.
8
-
9
- Tab to activate and start asking right away:
10
-
11
- - The **Bioresearcher Agent** is jack-of-all-trades.
12
- - The **BioresearcherDR Agent** is a specialist for biomed/pharma deep research (DR).
13
-
14
- ## Agents
15
-
16
- ### BioresearcherDR
17
-
18
- By default, it will conduct **highly detailed and in-depth** research, easily surpassing all general purpose LLM applications.
19
-
20
- To reduce research depth and make research process faster, start your question with `light-research`:
21
-
22
- ```text
23
- light-research Significance of KRAS for cancer?
24
- ```
25
-
26
- To skip the Question-Clarification cycle, prompt your question with `no-interview`:
27
-
28
- ```text
29
- no-interview light-research Significance of KRAS for cancer?
30
- ```
31
-
32
- ## Tools
33
-
34
- ### Table Tools
35
-
36
- Manipulate Excel, CSV, and ODS files with precision and smart parsing for dates, numbers, and data types.
37
-
38
- **Enable LLMs to wrangle huge tables WITHOUT overwhelming model context.**
39
-
40
- ```text
41
- What are tools for table processing?
42
- What are column names in XXX.xlsx?
43
- Analyze XXX.xlsx - group by Y column, and report unique values of Z column.
44
- ```
45
-
46
- ### Calculator
47
-
48
- Evaluate mathematical expressions with full support for brackets, powers, and scientific notation.
49
-
50
- **Make your model accurate with numbers. No more 3.11 > 3.9 nor 1+2=5.**
51
-
52
- ```text
53
- Use the calculator tool: (3+1.5*6-1/2)^3
54
- ```
55
-
56
- ### Blocking Timer
57
-
58
- Pause execution for testing or pacing operations.
59
-
60
- **Respect API rate limits. No more IP bans/blocks.**
61
-
62
- ```text
63
- Query XXX API. You MUST include a 0.5 second delay between two API calls with the blockingTimer tool.
64
- ```
65
-
66
- ### PubMed Parser
67
-
68
- Parse PubMed XML files to markdown or Excel format. Supports `.xml` and `.xml.gz` files.
69
-
70
- **Analyze years of publication articles in one go. Simple and powerful.**
71
-
72
- ```text
73
- Download pubmed article data from https://ftp.ncbi.nlm.nih.gov/pubmed/updatefiles/pubmed26n1340.xml.gz and parse to Excel format.
74
- ```
75
-
76
- Reference: [PubMed Download Data](https://pubmed.ncbi.nlm.nih.gov/download/).
77
-
78
- ## Skills
79
-
80
- Skills are reusable prompt templates discovered from multiple paths:
81
-
82
- | Path | Scope |
83
- |------|-------|
84
- | `.opencode/skills/` | Project |
85
- | `~/.config/opencode/skills/` | Global |
86
- | `.claude/skills/` | Claude Code compatible |
87
- | `.agents/skills/` | Agents compatible |
88
-
89
- This plugin provides a skill tool that overrides Opencode's built-in to support plugin-shipped skills.
90
-
91
- See [skill-tools/README.md](skill-tools/README.md) for full documentation.
92
-
93
- ### Supplied skills
94
-
95
- - `demo-skill`: showcase skill tool mechanisms.
96
- - `python-setup-uv`: setup python runtime in your working directory with uv.
97
-
98
- Prompt the following and follow along:
99
-
100
- ```txt
101
- Setup python uv with skill
102
- ```
103
-
104
- ## Installation
105
-
106
- Add the plugin to your `opencode.json`:
107
-
108
- ```json
109
- {
110
- "$schema": "https://opencode.ai/config.json",
111
- "plugin": [
112
- "@yeyuan98/opencode-bioresearcher-plugin",
113
- ],
114
- "mcp": {
115
- "biomcp": {
116
- "type": "local",
117
- "command": ["uv", "run", "--with", "biomcp-python", "biomcp", "run"],
118
- "enabled": true,
119
- "timeout": 120000
120
- }
121
- }
122
- }
123
- ```
124
-
125
- BioMCP is absolutely required and might take time to load. You will need to have `uv` installed on your system too. Refer to [BioMCP guide](https://biomcp.org/getting-started) for details.
126
-
127
- ## Common Issues and Solutions
128
-
129
- | Issue | Solution |
130
- |-------|----------|
131
- | Agent not appearing | Check plugin in opencode.json is typed correctly |
132
- | BioMCP tool failures | Make sure you have BioMCP [installed and enabled](https://opencode.ai/docs/mcp-servers/#enable) |
133
- | Research taking a long time | Check whether subagents are generating outputs; could be slow model / API throttle / overcomplicated query / etc. |
134
-
135
- ## License
136
-
137
- CC BY-NC-ND 4.0
1
+ # BioResearcher Plugin
2
+
3
+ ![NPM Downloads](https://img.shields.io/npm/dm/%40yeyuan98%2Fopencode-bioresearcher-plugin)
4
+
5
+ OpenCode plugin that adds agents and tools for biomedical and pharmaceutical research.
6
+
7
+ ## Overview
8
+
9
+ No nonsense and powerful. Agents and tools that just work for your typical biomedical and pharmaceutical research needs.
10
+
11
+ Tab to activate and start asking right away:
12
+
13
+ - The **Bioresearcher Agent** is jack-of-all-trades.
14
+ - The **BioresearcherDR Agent** is a specialist for biomed/pharma deep research (DR).
15
+
16
+ ## Agents
17
+
18
+ ### BioresearcherDR
19
+
20
+ By default, it will conduct **highly detailed and in-depth** research, easily surpassing all general purpose LLM applications.
21
+
22
+ To reduce research depth and make research process faster, start your question with `light-research`:
23
+
24
+ ```text
25
+ light-research Significance of KRAS for cancer?
26
+ ```
27
+
28
+ To skip the Question-Clarification cycle, prompt your question with `no-interview`:
29
+
30
+ ```text
31
+ no-interview light-research Significance of KRAS for cancer?
32
+ ```
33
+
34
+ ## Tools
35
+
36
+ ### Table Tools
37
+
38
+ Manipulate Excel, CSV, and ODS files with precision and smart parsing for dates, numbers, and data types.
39
+
40
+ **Enable LLMs to wrangle huge tables WITHOUT overwhelming model context.**
41
+
42
+ ```text
43
+ What are tools for table processing?
44
+ What are column names in XXX.xlsx?
45
+ Analyze XXX.xlsx - group by Y column, and report unique values of Z column.
46
+ ```
47
+
48
+ ### Calculator
49
+
50
+ Evaluate mathematical expressions with full support for brackets, powers, and scientific notation.
51
+
52
+ **Make your model accurate with numbers. No more 3.11 > 3.9 nor 1+2=5.**
53
+
54
+ ```text
55
+ Use the calculator tool: (3+1.5*6-1/2)^3
56
+ ```
57
+
58
+ ### Blocking Timer
59
+
60
+ Pause execution for testing or pacing operations.
61
+
62
+ **Respect API rate limits. No more IP bans/blocks.**
63
+
64
+ ```text
65
+ Query XXX API. You MUST include a 0.5 second delay between two API calls with the blockingTimer tool.
66
+ ```
67
+
68
+ ### PubMed Parser
69
+
70
+ Parse PubMed XML files to markdown or Excel format. Supports `.xml` and `.xml.gz` files.
71
+
72
+ **Analyze years of publication articles in one go. Simple and powerful.**
73
+
74
+ ```text
75
+ Download pubmed article data from https://ftp.ncbi.nlm.nih.gov/pubmed/updatefiles/pubmed26n1340.xml.gz and parse to Excel format.
76
+ ```
77
+
78
+ Reference: [PubMed Download Data](https://pubmed.ncbi.nlm.nih.gov/download/).
79
+
80
+ ## Skills
81
+
82
+ Skills are reusable prompt templates discovered from multiple paths:
83
+
84
+ | Path | Scope |
85
+ |------|-------|
86
+ | `.opencode/skills/` | Project |
87
+ | `~/.config/opencode/skills/` | Global |
88
+ | `.claude/skills/` | Claude Code compatible |
89
+ | `.agents/skills/` | Agents compatible |
90
+
91
+ This plugin provides a skill tool that overrides Opencode's built-in to support plugin-shipped skills.
92
+
93
+ See [skill-tools/README.md](skill-tools/README.md) for full documentation.
94
+
95
+ ### Supplied skills
96
+
97
+ - `demo-skill`: showcase skill tool mechanisms.
98
+ - `python-setup-uv`: setup python runtime in your working directory with uv.
99
+ - `pubmed-weekly`: automated download of pubmed daily update files over the past one week.
100
+
101
+ Prompt the following and follow along:
102
+
103
+ ```txt
104
+ Setup python uv with skill
105
+ ```
106
+
107
+ ## Installation
108
+
109
+ Add the plugin to your `opencode.json`:
110
+
111
+ ```json
112
+ {
113
+ "$schema": "https://opencode.ai/config.json",
114
+ "plugin": [
115
+ "@yeyuan98/opencode-bioresearcher-plugin",
116
+ ],
117
+ "mcp": {
118
+ "biomcp": {
119
+ "type": "local",
120
+ "command": ["uv", "run", "--with", "biomcp-python", "biomcp", "run"],
121
+ "enabled": true,
122
+ "timeout": 120000
123
+ }
124
+ }
125
+ }
126
+ ```
127
+
128
+ BioMCP is absolutely required and might take time to load. You will need to have `uv` installed on your system too. Refer to [BioMCP guide](https://biomcp.org/getting-started) for details.
129
+
130
+ ## Common Issues and Solutions
131
+
132
+ | Issue | Solution |
133
+ |-------|----------|
134
+ | Agent not appearing | Check plugin in opencode.json is typed correctly |
135
+ | BioMCP tool failures | Make sure you have BioMCP [installed and enabled](https://opencode.ai/docs/mcp-servers/#enable) |
136
+ | Research taking a long time | Check whether subagents are generating outputs; could be slow model / API throttle / overcomplicated query / etc. |
137
+
138
+ ## License
139
+
140
+ CC BY-NC-ND 4.0
@@ -1,41 +1,41 @@
1
- ---
2
- name: demo-skill
3
- description: Demo skill showcasing the plugin skill integration system
4
- allowedTools:
5
- - Bash
6
- - Read
7
- ---
8
-
9
- # Demo Skill
10
-
11
- This skill demonstrates the plugin skill integration system.
12
-
13
- ## Features Demonstrated
14
-
15
- 1. **Skill Discovery** - This skill is discovered from `plugin/skills/`
16
- 2. **allowedTools** - Listed above (documentation only)
17
- 3. **Bundled Resources** - Files in this directory are accessible
18
-
19
- ## Test Resource Resolution
20
-
21
- Run the bundled script to verify resources are properly resolved:
22
-
23
- ```bash
24
- python demo_script.py
25
- ```
26
-
27
- Expected output:
28
- ```
29
- Demo Skill - Resource Resolution Test
30
- =====================================
31
- Skill directory: <path to skill>
32
- Status: Resources resolved correctly!
33
- ```
34
-
35
- ## How It Works
36
-
37
- 1. Plugin builds with `npm run build`
38
- 2. `skills/` directory copied to `dist/skills/`
39
- 3. Skill tool discovers all `SKILL.md` files
40
- 4. Agent calls `skill` tool with skill name
41
- 5. Skill content + file list returned to agent
1
+ ---
2
+ name: demo-skill
3
+ description: Demo skill showcasing the plugin skill integration system
4
+ allowedTools:
5
+ - Bash
6
+ - Read
7
+ ---
8
+
9
+ # Demo Skill
10
+
11
+ This skill demonstrates the plugin skill integration system.
12
+
13
+ ## Features Demonstrated
14
+
15
+ 1. **Skill Discovery** - This skill is discovered from `plugin/skills/`
16
+ 2. **allowedTools** - Listed above (documentation only)
17
+ 3. **Bundled Resources** - Files in this directory are accessible
18
+
19
+ ## Test Resource Resolution
20
+
21
+ Run the bundled script to verify resources are properly resolved:
22
+
23
+ ```bash
24
+ python demo_script.py
25
+ ```
26
+
27
+ Expected output:
28
+ ```
29
+ Demo Skill - Resource Resolution Test
30
+ =====================================
31
+ Skill directory: <path to skill>
32
+ Status: Resources resolved correctly!
33
+ ```
34
+
35
+ ## How It Works
36
+
37
+ 1. Plugin builds with `npm run build`
38
+ 2. `skills/` directory copied to `dist/skills/`
39
+ 3. Skill tool discovers all `SKILL.md` files
40
+ 4. Agent calls `skill` tool with skill name
41
+ 5. Skill content + file list returned to agent
@@ -1,23 +1,23 @@
1
- #!/usr/bin/env python
2
- """Demo script to verify skill resource resolution."""
3
-
4
- import os
5
- import sys
6
-
7
-
8
- def main():
9
- print("Demo Skill - Resource Resolution Test")
10
- print("=" * 40)
11
- print(f"Script location: {os.path.abspath(__file__)}")
12
- print(f"Python version: {sys.version.split()[0]}")
13
- print()
14
- print("Status: Resources resolved correctly!")
15
- print()
16
- print("This confirms:")
17
- print(" - Skill files bundled at build time")
18
- print(" - Resources discoverable via skill tool")
19
- print(" - Scripts executable from skill directory")
20
-
21
-
22
- if __name__ == "__main__":
23
- main()
1
+ #!/usr/bin/env python
2
+ """Demo script to verify skill resource resolution."""
3
+
4
+ import os
5
+ import sys
6
+
7
+
8
+ def main():
9
+ print("Demo Skill - Resource Resolution Test")
10
+ print("=" * 40)
11
+ print(f"Script location: {os.path.abspath(__file__)}")
12
+ print(f"Python version: {sys.version.split()[0]}")
13
+ print()
14
+ print("Status: Resources resolved correctly!")
15
+ print()
16
+ print("This confirms:")
17
+ print(" - Skill files bundled at build time")
18
+ print(" - Resources discoverable via skill tool")
19
+ print(" - Scripts executable from skill directory")
20
+
21
+
22
+ if __name__ == "__main__":
23
+ main()