Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ Beyond the three modes:
- **Memory and curation**: cross-session long-term memory keeps the profile, preferences and facts a user has confirmed. Folder uploads keep their directory tree, and retrieval chunks can be edited, diffed and rolled back.
- **Data sources and formats**: auto-sync from Feishu wiki / Feishu Drive / Confluence / GitLab / Tencent IMA / Notion / Yuque / DingTalk Docs / Seafile / RSS, with more on the way. 10+ document formats including PDF, Word, images, Excel and XMind; Office files are parsed in-process by anydoc.
- **Channels and integrations**: Q&A in WeCom, Feishu, Slack, Telegram and other IM apps; an embed widget for external websites; a built-in MCP Server for Cursor, Claude and other AI tools; scoped API keys with a principal model for programmatic access.
- **Models**: 29 built-in vendors with a generated model catalog, including OpenAI, DeepSeek, Qwen (Alibaba Cloud), Zhipu, Hunyuan, Gemini, MiniMax, NVIDIA, LiteLLM and Ollama.
- **Models**: 31 built-in vendors with a generated model catalog, including Ace Data Cloud, OpenAI, DeepSeek, Qwen (Alibaba Cloud), Zhipu, Hunyuan, Gemini, MiniMax, NVIDIA, LiteLLM and Ollama.
- **Permissions and operations**: multi-workspace RBAC (four roles, per-resource ownership, per-workspace audit log), several storage instances per workspace, a runtime task-queue dashboard with worker-pool governance, and Langfuse tracing for agent steps, token usage and pipelines.
- **Deployment**: LLMs, vector databases and storage backends are all swappable. Deploy locally or on a private cloud and keep the data in your own environment.

Expand Down Expand Up @@ -323,7 +323,7 @@ A modular pipeline from document parsing, vectorization and retrieval to LLM inf

| Component | Options |
|-----------|---------|
| [LLMs](https://weknora.weixin.qq.com/docs/03-features/06-models) | 29 built-in vendors, including OpenAI / Azure OpenAI / Anthropic / DeepSeek / Qwen / Zhipu / Hunyuan / Doubao / Gemini / MiniMax / NVIDIA / SiliconFlow / OpenRouter / LiteLLM / Ollama |
| [LLMs](https://weknora.weixin.qq.com/docs/03-features/06-models) | 31 built-in vendors, including Ace Data Cloud / OpenAI / Azure OpenAI / Anthropic / DeepSeek / Qwen / Zhipu / Hunyuan / Doubao / Gemini / MiniMax / NVIDIA / SiliconFlow / OpenRouter / LiteLLM / Ollama |
| Embeddings | Ollama / BGE / GTE / Zhipu / OpenAI-compatible APIs |
| Vector databases | PostgreSQL (pgvector) / Elasticsearch / OpenSearch / Milvus / Weaviate / Qdrant / Apache Doris / Tencent VectorDB |
| [Object storage](https://weknora.weixin.qq.com/docs/03-features/19-storage-backends) | Local / Tencent Cloud COS / MinIO / AWS S3 / Volcengine TOS / Alibaba Cloud OSS / Kingsoft Cloud KS3 / Huawei Cloud OBS |
Expand Down
4 changes: 2 additions & 2 deletions README_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ https://github.com/user-attachments/assets/5722b10d-d04d-49ed-a6cc-635a8c77d91f
- **记忆与知识整理**:跨会话长期记忆保存用户确认过的个人信息、偏好与事实;文件夹上传保留原始目录结构;检索分块可以编辑、比对与回滚。
- **数据源与格式**:飞书知识库 / 飞书云盘 / Confluence / GitLab / 腾讯 IMA / Notion / 语雀 / 钉钉文档 / Seafile / RSS 自动同步,更多数据源持续接入中;覆盖 PDF、Word、图片、Excel、XMind 等十余种格式,Office 文档由 anydoc 在 Go 进程内解析。
- **渠道与集成**:企业微信、飞书、Slack、Telegram 等 IM 频道内直接问答;网站嵌入 Widget 把智能体发布到外部站点;内置 MCP Server 供 Cursor、Claude 等 AI 工具连接;权限范围 API Key 与 Principal 模型用于程序化集成。
- **模型**:内置 29 家模型厂商与自动生成的模型目录,兼容 OpenAI、DeepSeek、Qwen(阿里云)、智谱、混元、Gemini、MiniMax、NVIDIA、LiteLLM、Ollama 等。
- **模型**:内置 31 家模型厂商与自动生成的模型目录,兼容 Ace Data Cloud、OpenAI、DeepSeek、Qwen(阿里云)、智谱、混元、Gemini、MiniMax、NVIDIA、LiteLLM、Ollama 等。
- **权限与运维**:多空间 RBAC(四级角色、资源归属、空间审计日志)、每空间多实例存储后端、运行时任务队列面板与 Worker 池治理,并通过 Langfuse 追踪 Agent 步骤、Token 用量与任务流水线。
- **部署**:大模型、向量数据库、存储后端均可替换,支持本地与私有云部署,数据留在你自己的环境中。

Expand Down Expand Up @@ -323,7 +323,7 @@ docker compose up -d # 用新镜像重建容器

| 组件 | 可选项 |
|------|--------|
| [模型厂商](https://weknora.weixin.qq.com/docs/03-features/06-models) | 内置 29 家,包括 OpenAI / Azure OpenAI / Anthropic / DeepSeek / Qwen(阿里云)/ 智谱 / 混元 / 豆包(火山引擎)/ Gemini / MiniMax / NVIDIA / SiliconFlow / OpenRouter / LiteLLM / Ollama |
| [模型厂商](https://weknora.weixin.qq.com/docs/03-features/06-models) | 内置 31 家,包括 Ace Data Cloud / OpenAI / Azure OpenAI / Anthropic / DeepSeek / Qwen(阿里云)/ 智谱 / 混元 / 豆包(火山引擎)/ Gemini / MiniMax / NVIDIA / SiliconFlow / OpenRouter / LiteLLM / Ollama |
| Embedding | Ollama / BGE / GTE / 智谱 / OpenAI 兼容接口 |
| 向量数据库 | PostgreSQL (pgvector) / Elasticsearch / OpenSearch / Milvus / Weaviate / Qdrant / Apache Doris / 腾讯云 VectorDB |
| [对象存储](https://weknora.weixin.qq.com/docs/03-features/19-storage-backends) | 本地 / 腾讯云 COS / MinIO / AWS S3 / 火山引擎 TOS / 阿里云 OSS / 金山云 KS3 / 华为云 OBS |
Expand Down
4 changes: 2 additions & 2 deletions README_JA.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ https://github.com/user-attachments/assets/5722b10d-d04d-49ed-a6cc-635a8c77d91f
- **メモリとナレッジ整理**:クロスセッション長期メモリが、ユーザーが確認したプロフィール・好み・事実を保持します。フォルダーアップロードは元のディレクトリ構造を保ち、検索チャンクは編集・差分比較・ロールバックできます。
- **データソースとフォーマット**:Feishu ナレッジベース / Feishu クラウドドライブ / Confluence / GitLab / Tencent IMA / Notion / Yuque / DingTalk Docs / Seafile / RSS の自動同期(順次拡充中)。PDF、Word、画像、Excel、XMind など 10 以上のフォーマットに対応し、Office 文書は anydoc でプロセス内解析します。
- **チャネルと連携**:WeChat Work、Feishu、Slack、Telegram などの IM で直接 Q&A、ウェブサイト埋め込み Widget で外部サイトにエージェントを公開、組み込み MCP Server で Cursor や Claude などの AI ツールと接続、スコープ付き API キーと Principal モデルでプログラム連携。
- **モデル**:29 の組み込みベンダーと自動生成のモデルカタログ。OpenAI、DeepSeek、Qwen(Alibaba Cloud)、Zhipu、Hunyuan、Gemini、MiniMax、NVIDIA、LiteLLM、Ollama などに対応。
- **モデル**:31 の組み込みベンダーと自動生成のモデルカタログ。Ace Data Cloud、OpenAI、DeepSeek、Qwen(Alibaba Cloud)、Zhipu、Hunyuan、Gemini、MiniMax、NVIDIA、LiteLLM、Ollama などに対応。
- **権限と運用**:マルチワークスペース RBAC(4 階層ロール、リソース所有権、ワークスペース監査ログ)、ワークスペースごとの複数ストレージインスタンス、ランタイムタスクキューダッシュボードと Worker プール統治、Langfuse による Agent ステップ・トークン消費・パイプラインのトレーシング。
- **デプロイ**:LLM、ベクトルデータベース、ストレージバックエンドはすべて差し替え可能。ローカルまたはプライベートクラウドにデプロイし、データを自社環境に置けます。

Expand Down Expand Up @@ -323,7 +323,7 @@ docker compose up -d # 新しいイメージでコンテナを再作成

| コンポーネント | 選択肢 |
|----------------|--------|
| [大規模モデル](https://weknora.weixin.qq.com/docs/03-features/06-models) | 29 の組み込みベンダー。OpenAI / Azure OpenAI / Anthropic / DeepSeek / Qwen(Alibaba Cloud)/ Zhipu / Hunyuan / Doubao(Volcengine)/ Gemini / MiniMax / NVIDIA / SiliconFlow / OpenRouter / LiteLLM / Ollama など |
| [大規模モデル](https://weknora.weixin.qq.com/docs/03-features/06-models) | 31 の組み込みベンダー。Ace Data Cloud / OpenAI / Azure OpenAI / Anthropic / DeepSeek / Qwen(Alibaba Cloud)/ Zhipu / Hunyuan / Doubao(Volcengine)/ Gemini / MiniMax / NVIDIA / SiliconFlow / OpenRouter / LiteLLM / Ollama など |
| Embedding | Ollama / BGE / GTE / Zhipu / OpenAI 互換 API |
| ベクトル DB | PostgreSQL (pgvector) / Elasticsearch / OpenSearch / Milvus / Weaviate / Qdrant / Apache Doris / Tencent VectorDB |
| [オブジェクトストレージ](https://weknora.weixin.qq.com/docs/03-features/19-storage-backends) | ローカル / Tencent Cloud COS / MinIO / AWS S3 / 火山引擎 TOS / Alibaba Cloud OSS / 金山雲 KS3 / 華為雲 OBS |
Expand Down
4 changes: 2 additions & 2 deletions README_KO.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ https://github.com/user-attachments/assets/5722b10d-d04d-49ed-a6cc-635a8c77d91f
- **메모리와 지식 정리**: 크로스 세션 장기 메모리가 사용자가 확인한 프로필, 선호, 사실을 보관합니다. 폴더 업로드는 원래 디렉터리 구조를 유지하고, 검색 청크는 편집·비교·롤백할 수 있습니다.
- **데이터 소스와 포맷**: Feishu 지식베이스 / Feishu 클라우드 드라이브 / Confluence / GitLab / Tencent IMA / Notion / Yuque / DingTalk Docs / Seafile / RSS 자동 동기화(지속 확장 중). PDF, Word, 이미지, Excel, XMind 등 10가지 이상의 포맷을 지원하며, Office 문서는 anydoc으로 프로세스 내 파싱합니다.
- **채널과 연동**: WeChat Work, Feishu, Slack, Telegram 등 IM에서 바로 Q&A, 웹사이트 임베드 Widget으로 외부 사이트에 에이전트 게시, 내장 MCP Server로 Cursor·Claude 등 AI 도구와 연결, 범위 지정 API 키와 Principal 모델로 프로그램 연동.
- **모델**: 29개 내장 벤더와 자동 생성 모델 카탈로그. OpenAI, DeepSeek, Qwen(Alibaba Cloud), Zhipu, Hunyuan, Gemini, MiniMax, NVIDIA, LiteLLM, Ollama 등을 지원합니다.
- **모델**: 31개 내장 벤더와 자동 생성 모델 카탈로그. Ace Data Cloud, OpenAI, DeepSeek, Qwen(Alibaba Cloud), Zhipu, Hunyuan, Gemini, MiniMax, NVIDIA, LiteLLM, Ollama 등을 지원합니다.
- **권한과 운영**: 멀티 워크스페이스 RBAC(4단계 역할, 리소스 소유권, 워크스페이스 감사 로그), 워크스페이스별 다중 스토리지 인스턴스, 런타임 작업 큐 대시보드와 Worker 풀 거버넌스, Langfuse를 통한 Agent 단계·토큰 사용량·파이프라인 추적.
- **배포**: LLM, 벡터 데이터베이스, 스토리지 백엔드를 모두 교체할 수 있습니다. 로컬이나 프라이빗 클라우드에 배포해 데이터를 자체 환경에 둘 수 있습니다.

Expand Down Expand Up @@ -333,7 +333,7 @@ docker compose up -d # 새 이미지로 컨테이너 재생성

| 구성 요소 | 선택지 |
|-----------|--------|
| [LLM](https://weknora.weixin.qq.com/docs/03-features/06-models) | 29개 내장 벤더. OpenAI / Azure OpenAI / Anthropic / DeepSeek / Qwen (Alibaba Cloud) / Zhipu / Hunyuan / Doubao (Volcengine) / Gemini / MiniMax / NVIDIA / SiliconFlow / OpenRouter / LiteLLM / Ollama 등 |
| [LLM](https://weknora.weixin.qq.com/docs/03-features/06-models) | 31개 내장 벤더. Ace Data Cloud / OpenAI / Azure OpenAI / Anthropic / DeepSeek / Qwen (Alibaba Cloud) / Zhipu / Hunyuan / Doubao (Volcengine) / Gemini / MiniMax / NVIDIA / SiliconFlow / OpenRouter / LiteLLM / Ollama 등 |
| Embedding | Ollama / BGE / GTE / Zhipu / OpenAI 호환 API |
| 벡터 DB | PostgreSQL (pgvector) / Elasticsearch / OpenSearch / Milvus / Weaviate / Qdrant / Apache Doris / Tencent VectorDB |
| [오브젝트 스토리지](https://weknora.weixin.qq.com/docs/03-features/19-storage-backends) | 로컬 / Tencent Cloud COS / MinIO / AWS S3 / Volcengine TOS / Alibaba Cloud OSS / Kingsoft Cloud KS3 / Huawei Cloud OBS |
Expand Down
Binary file added frontend/src/assets/img/acedatacloud.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
59 changes: 59 additions & 0 deletions frontend/src/components/settings/McpPresetPicker.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
<template>
<section class="setting-drawer__section preset-picker" :aria-label="t('mcpServiceDialog.presets.title')">
<h4 class="setting-drawer__section-title">{{ t('mcpServiceDialog.presets.title') }}</h4>
<p class="form-desc">{{ t('mcpServiceDialog.presets.hint') }}</p>
<t-input v-model="query" :placeholder="t('mcpServiceDialog.presets.search')"
:aria-label="t('mcpServiceDialog.presets.search')" clearable />
<div class="preset-picker__list">
<button v-for="preset in filtered" :key="preset.id" type="button"
class="preset-picker__card" :class="{ 'is-selected': selectedId === preset.id }"
:aria-pressed="selectedId === preset.id" @click="emit('select', preset)">
<img :src="aceIcon" alt="" width="24" height="24" />
<span class="preset-picker__text">
<strong>{{ preset.name }}</strong>
<span>{{ t(preset.labelKey) }}</span>
</span>
<t-icon v-if="selectedId === preset.id" name="check" aria-hidden="true" />
</button>
</div>
<p v-if="filtered.length === 0" role="status" class="form-desc">{{ t('common.noResult') }}</p>
<button type="button" class="preset-picker__custom" @click="emit('custom')">
{{ t('mcpServiceDialog.presets.custom') }}
</button>
</section>
</template>

<script setup lang="ts">
import { computed, ref } from 'vue'
import { useI18n } from 'vue-i18n'
import aceIcon from '@/assets/img/acedatacloud.png'
import { filterMcpPresets, type McpServicePreset } from '@/utils/mcpServicePresets'

defineProps<{ selectedId?: string }>()
const emit = defineEmits<{ select: [preset: McpServicePreset]; custom: [] }>()
const { t } = useI18n()
const query = ref('')
const filtered = computed(() => filterMcpPresets(query.value))
</script>

<style scoped lang="less">
.preset-picker { display: grid; gap: 10px; }
.preset-picker__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.preset-picker__card {
display: flex; align-items: flex-start; gap: 8px; padding: 12px;
text-align: left; color: var(--td-text-color-primary); background: var(--td-bg-color-container);
border: 1px solid var(--td-component-stroke); border-radius: var(--app-radius-sm); cursor: pointer;
&:hover, &.is-selected { border-color: var(--td-brand-color); }
&:focus-visible { outline: 2px solid var(--td-brand-color); outline-offset: 2px; }
}
.preset-picker__text {
display: flex; flex: 1; flex-direction: column; gap: 4px; min-width: 0;
strong { font-size: var(--app-text-sm); }
span { font-size: var(--app-text-xs); color: var(--td-text-color-secondary); }
}
.preset-picker__custom {
justify-self: start; padding: 0; background: none; border: 0;
color: var(--td-brand-color); font: inherit; cursor: pointer;
}
@media (max-width: 600px) { .preset-picker__list { grid-template-columns: 1fr; } }
</style>
16 changes: 16 additions & 0 deletions frontend/src/i18n/locales/en-US.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5717,6 +5717,22 @@ export default {
"saveNext": "Save and continue"
},
mcpServiceDialog: {
presets: {
keyRequired: "Enter your own Ace Data Cloud API key before saving this preset.",
"title": "Find a service preset",
"hint": "Choose an independently configured service, or add a custom MCP server. These integrations are provided by Ace Data Cloud; they are not official apps from the model brands.",
"search": "Search Suno, Seedance, HappyHorse, GPT Image or Nano Banana",
"custom": "Configure a custom MCP service",
"account": "Sign in to Ace Data Cloud → Applications → General application. Copy an existing API key or create a dedicated one; verify service access, balance and current pricing.",
"getKey": "Open Ace Data Cloud API keys",
"pricing": "Check current service pricing",
"credentialHint": "Paste your key in the private Token field below. The preset adds the Bearer prefix when saving. Selecting a preset sends no request; generation remains billable.",
"suno": "Music generation and same-task audio retrieval",
"seedance": "Video generation and task retrieval",
"happyhorse": "Video creation and same-task results",
"gptImage": "Image generation and asynchronous results",
"nanoBanana": "Image creation and editing"
},
addTitle: 'Add MCP Service',
addDesc: 'Connect an external MCP service so agents can call its tools.',
editTitle: 'Edit MCP Service',
Expand Down
16 changes: 16 additions & 0 deletions frontend/src/i18n/locales/ja-JP.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5717,6 +5717,22 @@ export default {
"saveNext": "保存して次へ"
},
mcpServiceDialog: {
presets: {
keyRequired: "このプリセットを保存する前に、ご自身のAce Data Cloud APIキーを入力してください。",
"title": "サービスのプリセットを探す",
"hint": "各サービスを個別に設定できます。カスタムMCPも追加できます。これらはAce Data Cloudが提供する連携であり、モデルブランドの公式アプリではありません。",
"search": "Suno、Seedance、HappyHorse、GPT Image、Nano Bananaを検索",
"custom": "カスタムMCPサービスを設定",
"account": "Ace Data Cloudにログインし、Applications → General applicationでAPIキーをコピーするか専用キーを作成します。サービス権限、残高、現在の料金を確認してください。",
"getKey": "Ace Data CloudのAPIキーを開く",
"pricing": "現在のサービス料金を確認",
"credentialHint": "下の非公開Token欄にキーを貼り付けます。保存時にBearer接頭辞を付けます。プリセットを選ぶだけではリクエストは送信されません。生成は課金対象です。",
"suno": "音楽生成と同じタスクの音声取得",
"seedance": "動画生成とタスク取得",
"happyhorse": "動画作成と同じタスクの結果取得",
"gptImage": "画像生成と非同期結果の取得",
"nanoBanana": "画像の作成と編集"
},
addTitle: 'MCPサービスを追加',
addDesc: '外部の MCP サービスを接続すると、エージェントがそのツールを呼び出せます。',
editTitle: 'MCPサービスを編集',
Expand Down
16 changes: 16 additions & 0 deletions frontend/src/i18n/locales/ko-KR.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2897,6 +2897,22 @@ export default {
"saveNext": "저장하고 다음"
},
mcpServiceDialog: {
presets: {
keyRequired: "이 프리셋을 저장하기 전에 본인의 Ace Data Cloud API 키를 입력하세요.",
"title": "서비스 프리셋 찾기",
"hint": "각 서비스를 개별로 설정하거나 사용자 지정 MCP를 추가하세요. 이 통합은 Ace Data Cloud가 제공하며 모델 브랜드의 공식 앱이 아닙니다.",
"search": "Suno, Seedance, HappyHorse, GPT Image 또는 Nano Banana 검색",
"custom": "사용자 지정 MCP 서비스 설정",
"account": "Ace Data Cloud에 로그인한 뒤 Applications → General application에서 기존 API 키를 복사하거나 전용 키를 만드세요. 서비스 권한, 잔액과 현재 가격을 확인하세요.",
"getKey": "Ace Data Cloud API 키 열기",
"pricing": "현재 서비스 가격 확인",
"credentialHint": "아래 비공개 Token 필드에 키를 붙여 넣으세요. 저장할 때 Bearer 접두사가 추가됩니다. 프리셋 선택만으로 요청을 보내지 않으며 생성 작업에는 요금이 부과됩니다.",
"suno": "음악 생성 및 동일 작업의 오디오 조회",
"seedance": "동영상 생성 및 작업 조회",
"happyhorse": "동영상 제작 및 동일 작업 결과 조회",
"gptImage": "이미지 생성 및 비동기 결과 조회",
"nanoBanana": "이미지 생성 및 편집"
},
addTitle: 'MCP 서비스 추가',
addDesc: '외부 MCP 서비스를 연결하면 에이전트가 해당 도구를 호출할 수 있습니다.',
editTitle: 'MCP 서비스 편집',
Expand Down
Loading