内容
<!-- ---
!-- Timestamp: 2026-03-15 01:57:12
!-- Author: ywatanabe
!-- File: /home/ywatanabe/proj/scitex-hub/README.md
!-- --- -->
<!-- ---
!-- Timestamp: 2026-03-15
!-- File: /home/ywatanabe/proj/scitex-hub/README.md
!-- --- -->
# SciTeX 中心
<p align="center">
<img src="docs/assets/images/scitex-logo-blue-cropped.png" alt="SciTeX 中心" width="280" />
</p>
<!-- scitex-badges:start -->
<p align="center">
<a href="https://pypi.org/project/scitex-hub/"><img src="https://img.shields.io/pypi/v/scitex-hub?label=pypi" alt="pypi"></a>
<a href="https://pypi.org/project/scitex-hub/"><img src="https://img.shields.io/pypi/pyversions/scitex-hub?label=python" alt="python"></a>
<a href="https://scitex-hub.readthedocs.io/en/latest/"><img src="https://img.shields.io/readthedocs/scitex-hub?label=docs" alt="docs"></a>
</p>
<p align="center">
<a href="https://github.com/ywatanabe1989/scitex-hub/actions/workflows/pytest-matrix-on-ubuntu-py3-11-3-12-3-13.yml"><img src="https://img.shields.io/github/actions/workflow/status/ywatanabe1989/scitex-hub/pytest-matrix-on-ubuntu-py3-11-3-12-3-13.yml?branch=develop&label=tests" alt="tests"></a>
<a href="https://github.com/ywatanabe1989/scitex-hub/actions/workflows/import-smoke-on-ubuntu-py3-12.yml"><img src="https://img.shields.io/github/actions/workflow/status/ywatanabe1989/scitex-hub/import-smoke-on-ubuntu-py3-12.yml?branch=develop&label=install-check" alt="install-check"></a>
<a href="https://codecov.io/gh/ywatanabe1989/scitex-hub"><img src="https://img.shields.io/codecov/c/github/ywatanabe1989/scitex-hub/develop?label=cov" alt="cov"></a>
<a href="https://www.gnu.org/licenses/agpl-3.0"><img src="https://img.shields.io/badge/license-AGPL_v3-blue.svg" alt="license"></a>
</p>
<!-- scitex-badges:end -->
<p align="center">
<a href="https://scitex-hub.readthedocs.io/en/latest/api/scitex_hub.html">完整文档</a> · <code>uv pip install scitex-hub[all]</code>
</p>
---
## 问题与解决方案
| # | 问题 | 解决方案 |
|---|---------|----------|
| 1 | **工具碎片化**。文献、写作、分析和可视化需要单独的应用程序,通常是专有的,迫使研究人员不断切换上下文,使得AI代理难以在整个研究工作流中建立足够的上下文。 | **统一平台**。Scholar、Writer、FigRecipe、Console、Hub和Clew在一个Django Web应用程序中,可在任何地方使用Docker部署。所有应用程序共享同一个项目文件系统,并通过`scitex` Python包集成。 |
| 2 | **没有自定义工具**。每个研究团队都需要特定领域的工具(例如,临床试验仪表板、峰值分类接口、化合物筛选管道),但是构建和共享这些工具需要深入的计算知识,并且需要从头开始创建组件。 | **应用程序商店和创建工具**。研究人员创建、发布和安装基于共享组件的自定义研究工具 - 用户/组权限、AI基础设施、容器化计算和文件操作由平台处理。 |
| 3 | **AI工具不了解研究**。现有的工具通常缺乏AI助手功能和特定于科学工作的领域技能,无法在整个研究生命周期(文献综述、分析、写作、验证)中运行。 | **内置AI协作者**。平台感知的上下文、技能和工具,如MCP(模型上下文协议)和CLI,涵盖整个研究生命周期,提供理解整个项目的AI助手。 |
| 4 | **评审危机**。已发表论文的不断增加的数量和异质性压倒了有限的、基于志愿者的同行评审过程,该过程无法扩展。 | **通过问题和拉取请求进行开放评审**。GitHub风格的问题跟踪和拉取请求为研究项目带来了透明、结构化和可扩展的同行评审 - 任何人都可以检查、评论和提出更改。 |
| 5 | **破碎的出处**。论文、代码和执行环境很少联系在一起,使得评审者难以验证声明,其他研究人员难以复制结果 - 减缓了累积的科学进步。 | **可验证的出处**。Clew将论文、代码、数据和执行环境链接到一个哈希验证的有向图(DAG)中,带有可视化,作为研究工作流和逻辑的压缩视图 - 减少了评审者必须检查的决策点。 |
| 6 | **项目交接时知识丢失**。当研究人员毕业或离开项目时,继任者会继承分散的文件,几乎没有上下文,使得理解在哪里接手和继续工作变得困难。 | **无缝的项目交接**。整个项目状态 - 代码、数据、来源图、手稿草稿和执行环境 - 都存储在一个地方,因此继任者可以立即理解和继续工作。 |
| 7 | **没有研究社区平台**。没有类似GitHub的基础设施用于以研究项目为中心的全程跟踪、并行工作和协作。 | **GitHub风格的项目中心**。存储库托管和基于票据的开发与共同作者和社区合作,实现高效的研究进展和协作。 |
| 8 | **没有控制权**。研究人员对其基础设施没有所有权:供应商锁定、算法不透明、单方面定价变更和数据政策他们无法影响。 | **自托管、开源、任意位置运行**。在您的笔记本电脑、实验室服务器或云上部署。AGPL-3.0许可 - 检查每一行,自定义,免费,无供应商锁定,无数据放弃。 |
<sub><b>表1.</b> 科学研究中的八个基础设施挑战以及SciTeX中心如何解决每个挑战。这些差距助长了可复制性危机,限制了AI可以为研究做的事情,并在人员离开时留下了知识孤岛。</sub>
SciTeX中心是一个AI原生的基础设施,使研究人员能够专注于科学研究,而不是工具。
## 演示
<p align="center"><b>Writer</b><br><img src="docs/images/screenshot-writer.png" alt="Writer" width="100%"></p>
<p align="center"><b>Scholar</b><br><img src="docs/images/screenshot-scholar.png" alt="Scholar" width="100%"></p>
<p align="center"><b>应用程序</b><br><img src="docs/images/screenshot-apps.png" alt="Apps" width="100%"></p>
<p align="center"><sub><b>图1.</b> 核心应用程序模块。Writer提供LaTeX手稿环境,实时编译。Scholar提供文献发现、BibTeX丰富和PDF管理。应用程序面板显示链接所有模块的项目中心。</sub></p>
## 架构
```mermaid
graph TB
subgraph workspace[应用程序/工作区]
S[scholar_app] --- W[writer_app]
W --- F[figrecipe / plt]
F --- CN[console_app]
CN --- H[repo_app]
H --- CW[clew_app]
end
subgraph infra[应用程序/基础设施]
WS[workspace_app] --- PA[platform_app<br/>DataStore / FileVault / JobQueue]
PA --- PR[project_app]
PR --- A2[a2a_app]
end
workspace --> infra
infra --> DK[Docker / Postgres / Gitea]
```
```
scitex-hub/
├── apps/
│ ├── workspace/ # scholar / writer / figrecipe / console / hub / clew
│ ├── infra/ # workspace_app, platform_app, project_app, a2a_app
│ └── public_app/ # landing page + public tools
├── deployment/docker/ # docker_dev / docker_prod / envs
├── config/ # Django settings
├── src/scitex_hub/ # pip package: CLI + MCP server
└── tests/
```
## 安装
```bash
pip install scitex-hub # 仅限CLI
pip install scitex-hub[mcp] # CLI + MCP服务器
pip install scitex-hub[all] # 所有内容
```
## 快速开始
```bash
git clone https://github.com/ywatanabe1989/scitex-hub.git
cd scitex-hub
make start # 启动开发环境
# 访问:http://localhost:8000
# Gitea:http://localhost:3000
# 测试用户:test-user / Password123!
```
## 四个接口
<details open>
<summary><strong>Python API</strong></summary>
<br>
```python
import scitex_hub
# 版本和健康检查
scitex_hub.__version__ # 从pyproject.toml读取(例如“0.17.0-alpha”)
scitex_hub.get_version() # 版本字符串
scitex_hub.health_check() # 本地包信息
scitex_hub.health_check("https://scitex.ai/api/health/") # 远程端点
# 客户端/帮助器
client = scitex_hub.CloudClient() # HTTP客户端
env = scitex_hub.get_environment() # 环境配置
docker = scitex_hub.DockerManager() # 容器帮助器
```
> **[完整API参考](https://scitex-hub.readthedocs.io/en/latest/api/scitex_hub.html)**
</details>
<details>
<summary><strong>CLI命令</strong></summary>
<br>
```bash
scitex-hub --help # 帮助
scitex-hub --help-recursive # 所有命令递归
scitex-hub --version # 版本
# Git托管(Gitea)
scitex-hub gitea list # 列出仓库
scitex-hub gitea clone user/repo # 克隆仓库
scitex-hub gitea push # 推送更改
scitex-hub gitea pr create # 创建拉取请求
scitex-hub gitea issue create # 创建问题
# Docker管理
scitex-hub docker up # 启动容器
scitex-hub docker down # 停止容器
scitex-hub docker ps # 容器状态
scitex-hub docker build # 构建镜像
scitex-hub docker restart # 重启服务
# MCP服务器
scitex-hub mcp start # 启动MCP服务器
scitex-hub mcp list-tools # 列出可用工具
scitex-hub mcp doctor # 诊断设置
scitex-hub mcp installation # 客户端配置说明
# 实用工具
scitex-hub status # 部署状态
scitex-hub completion # Shell补全设置
scitex-hub list-python-apis # 列出所有Python API
```
> **[完整CLI参考](https://scitex-hub.readthedocs.io/en/latest/cli/index.html)**
</details>
<details>
<summary><strong>MCP服务器 - 用于AI代理</strong></summary>
<br>
AI代理可以通过MCP(模型上下文协议)工具与SciTeX中心平台自主交互。
| 类别 | 工具 | 描述 |
|----------|-------|-------------|
| gitea | 14 | Git操作(clone, push, pull, PR, issues, auth) |
| sdk | 14 | DataStore, FileVault, JobQueue操作 |
| api | 9 | Scholar搜索,CrossRef,BibTeX丰富 |
| app | 7 | 应用程序插件生命周期(init, validate, submit) |
| onsite | 6 | onsite平台操作 |
| project_crud | 5 | 项目创建,列出,重命名,删除 |
<sub><b>表2.</b> MCP工具类别 - 共注册55种工具,通过<code>register_all_tools</code>在<code>_mcp_tools/__init__.py</code>中注册。使用<code>scitex-hub mcp list-tools</code>获取实时列表。</sub>
**Claude Desktop** (`~/.config/claude/claude_desktop_config.json`):
```json
{
"mcpServers": {
"scitex-hub": {
"command": "scitex-hub",
"args": ["mcp", "start"]
}
}
}
```
> **[完整MCP规范](https://scitex-hub.readthedocs.io/en/latest/mcp/index.html)**
</details>
<details>
<summary><strong>技能 - 用于AI代理</strong></summary>
<br>
技能文件为在SciTeX生态系统中工作的AI代理提供上下文感知指导。
```bash
# 导出技能到dotfiles(同步到Claude)
scitex-dev skills export --package scitex-hub
# 列出可用技能
scitex-hub skills list
```
技能存储在`src/scitex_hub/_skills/scitex-hub/`中,涵盖部署、开发、测试等。
> **[技能索引](_skills/scitex-hub/SKILL.md)**
</details>
## Web平台
<details>
<summary><strong>部署</strong></summary>
<br>
```bash
make start # 开发(默认)
make ENV=prod start # 生产
make ENV=prod status # 健康检查
make ENV=prod db-backup # 备份数据库
make help # 所有可用命令
```
</details>
<details>
<summary><strong>配置</strong></summary>
<br>
`.env`文件位于`deployment/docker/envs/`(gitignored):
```bash
.env.dev # 开发
.env.prod # 生产
.env.staging # 阶段
.env.example # 模板(跟踪)
```
关键变量:
```bash
SCITEX_HUB_DJANGO_SECRET_KEY=your-secret-key
SCITEX_HUB_POSTGRES_PASSWORD=strong-password
SCITEX_HUB_GITEA_TOKEN=your-token
```
</details>
<details>
<summary><strong>项目结构</strong></summary>
<br>
```
scitex-hub/
├── apps/ # Django应用程序
│ ├── workspace/ # 工作区模块
│ │ ├── apps_app/ # 应用程序市场和开发安装
│ │ ├── scholar_app/ # 文献发现
│ │ ├── writer_app/ # 科学写作
│ │ ├── console_app/ # 终端和代码执行
│ │ ├── repo_app/ # 项目中心和文件浏览器
│ │ └── clew_app/ # 验证管道
│ ├── infra/ # 平台基础设施
│ │ ├── workspace_app/ # 模块注册和工作区shell
│ │ ├── platform_app/ # DataStore, FileVault, JobQueue API
│ │ └── project_app/ # 项目管理
│ └── public_app/ # 登录页面和公共工具
│
├── deployment/docker/
│ ├── docker_dev/ # 开发compose
│ ├── docker_prod/ # 生产compose
│ └── envs/ # .env文件(gitignored)
│
├── config/ # Django设置
├── static/ # 共享前端资产
├── src/scitex_hub/ # pip包(平台CLI + MCP)
├── tests/ # 测试套件
└── Makefile # 薄调度器
```
> **对于应用程序开发者:** 使用`pip install scitex-app[cli]`和`scitex-app app` CLI。
> scitex-hub是平台服务器 - 应用程序开发者不需要安装它。
</details>
## SciTeX的一部分
`scitex-hub`是[**SciTeX**](https://scitex.ai)的一部分。通过`pip install scitex[hub]`安装为`scitex.hub`(Python)或`scitex hub ...`(CLI)。
| 从 | 产生 | 到 | 结果 |
|------|----------|----|---------|
| **Scholar** | 引用卡 | **Writer** | 便捷的基于证据的引用 |
| **SciTeX-followed Analysis** | 工件 | **Writer** | AI根据实际结果编写手稿 |
| **FigRecipe** | 可编辑的组合图形 | **Writer** | 发布准备好的图形在上下文中 |
| **Clew** | 验证和DAG可视化 | **Writer** | 每个声明的可验证可复制性 |
SciTeX系统遵循以下四项研究自由,灵感来自[自由软件定义](https://www.gnu.org/philosophy/free-sw.en.html):
> 四项研究自由
>
> 0. 在任何地方运行研究的**自由** - 您的机器,您指定的条件。
> 1. 研究**研究**如何工作的自由 - 从原始数据到最终手稿。
> 2. **重新分发**工作流的自由,而不是仅仅您的论文。
> 3. **修改**任何模块并分享改进的自由,与社区共享。
>
> AGPL-3.0 - 因为我们相信研究基础设施应该与运行它的软件具有相同的自由。
## A2A协议表面
scitex-hub在`a2a.scitex.ai`上提供[Google A2A协议](https://a2a-protocol.org/) - orochi代理舰队 - AgentCard发现,JSON-RPC调度,Gitea PAT认证和3级转发器到实时代理。参见[`apps/infra/a2a_app/README.md`](apps/infra/a2a_app/README.md)。
```bash
curl https://a2a.scitex.ai/v1/agents/ | jq '.agents | length'
## 状态
SciTeX中心处于**alpha**。核心功能正在开发中。数据格式可能会在版本之间更改 - 备份重要工作。
## 贡献
我们欢迎贡献!参见[CONTRIBUTING.md](CONTRIBUTING.md)。
<p align="center">
<a href="https://scitex.ai" target="_blank"><img src="static/shared/images/scitex_logos/scitex-icons/scitex-icon-navy-inverted.png" alt="SciTeX" width="40"/></a>
</p>
<!-- EOF -->
MCP 配置
以下是此 MCP Server 的配置信息,可直接复制到 Cursor 或其他 MCP 客户端中使用。
mcp.json
连接信息
猜你喜欢
暂无推荐服务器