eust-w/CSNative
GitHub: eust-w/CSNative
一个面向 Claude Science 的本地桌面控制面板,支持集中管理多供应商凭证并将请求路由至自定义 AI 模型。
Stars: 143 | Forks: 1
# CS Native
Provider profile"] --> B["启动页
选择可用 provider"] B --> C["本地代理
127.0.0.1:18991"] C --> D["虚拟 OAuth
写入隔离目录"] D --> E["沙箱 Claude Science
127.0.0.1:8990"] E --> F["fresh nonce 入口
127.0.0.1:8992"] B --> G["官方 Claude 模式
打开真实 Claude Science"] ``` 第三方模型模式的主链路是: ``` Provider -> 本地代理 -> 虚拟 OAuth -> 沙箱 Science -> fresh URL ``` ## 界面与功能 ### 启动 启动页只展示已经启用并保存 key 的 provider。选择 provider 后,可以一键启动或全部停止,并实时查看代理端口、沙箱端口、当前上游和公网入口状态。  主要功能: - 在 **第三方模型** 与 **官方 Claude** 两种模式之间切换。 - 从已配置 provider 中选择当前启动上游。 - 显示 provider 验证状态、adapter、默认模型和 base URL 摘要。 - 一键启动本地代理、虚拟 OAuth、沙箱 Science 和 fresh nonce 入口。 - 官方 Claude 模式只打开真实 Claude Science,不改写第三方配置。 ### 模型与凭证 模型与凭证页是 provider 控制中心。左侧是 provider 列表,右侧是当前 provider 的完整配置表单。  主要功能: - 新增、复制、删除 provider。 - 编辑 provider ID、显示名称、adapter、base URL、API key 和默认模型。 - 管理 Opus、Sonnet、Haiku 三类 Claude Science 模型族到上游模型的映射。 - 保存、验证 provider,并设置启动默认 provider。 - 区分 **缺 key**、**未验证**、**已验证** 等状态,启动页只使用可启动 provider。 - 内置 provider 可改配置;自定义 provider 可接任何兼容端点。 ### 网络与公网入口 网络页只负责运行网络设置,不混入 provider 或 key。  主要功能: - 配置本地代理端口、沙箱端口、fresh nonce public entry 端口。 - 设置公网域名,用于生成可打开的 fresh URL。 - 明确公网路由设计:`/` 走 fresh nonce helper,其他路径转发沙箱 Science。 - 提供入口预览、复制和打开动作。 ### 日志 日志页读取 `~/.csnative/logs/csnative.log`,不是静态占位文本。  主要功能: - 刷新运行日志。 - 打开日志目录。 - 清空本地日志。 - 查看启动、停止、provider 验证、网络保存、自检等动作记录。 ### 关于与诊断 关于页放产品信息、Doctor 自检、反馈、更新和版本信息。日志和关于分开,避免把工具入口和运行日志混在一起。  主要功能: - 查看产品、版本、品牌信息。 - 打开当前浏览器面板。 - 运行 Doctor 检查配置和环境。 - 打开反馈和最新 Release。 ## 基本用法 1. 打开 **模型与凭证**。 2. 选择一个内置 provider,或点击 **新增** 创建自定义 provider。 3. 填写 `base URL`、`API key`、`adapter`、默认模型和 Science 模型映射。 4. 点击 **保存**,再点击 **验证**。 5. 回到 **启动**,选择已启用且有 key 的 provider。 6. 点击 **一键开始**。 7. 使用启动页显示的 fresh nonce URL 打开沙箱 Science。 8. 如需使用真实 Claude Science,切换到 **官方 Claude** 模式。 ## 下载与发布 产品主页:[https://eust-w.github.io/CSNative/](https://eust-w.github.io/CSNative/) 最新版本在 [GitHub Releases](https://github.com/eust-w/CSNative/releases/latest) 下载: | 系统 / 架构 | 下载资产 | 内容 | | --- | --- | --- | | macOS Apple Silicon | `CSNative-v*-darwin-arm64.zip` | 压缩后的 macOS `.app` | | macOS Intel | `CSNative-v*-darwin-amd64.zip` | 压缩后的 macOS `.app` | | Windows x64 | `CSNative-v*-windows-amd64.zip` | Windows 可执行文件包 | | Linux x64 | `CSNative-v*-linux-amd64.tar.gz` | Linux 可执行文件包 | | 全平台 | `checksums.txt` | SHA-256 校验文件 | Release 自动流程: ``` tag v* -> go test -> go vet -> Wails build -> GitHub Release assets -> GHCR package ``` ## 内置 provider | Provider | Adapter | 默认用途 | | --- | --- | --- | | DeepSeek | `anthropic_messages` | Anthropic-compatible 上游 | | 阿里云 DashScope / Qwen | `openai_chat_completions` | DashScope OpenAI-compatible chat completions | | OpenAI-compatible | `openai_chat_completions` | 通用 OpenAI 兼容网关 | | Anthropic-compatible | `anthropic_messages` | 通用 Anthropic Messages 兼容网关 | | OpenRouter | `openai_chat_completions` | 聚合模型入口 | | Moonshot / Kimi | `openai_chat_completions` | Kimi / Moonshot 兼容入口 | | SiliconFlow | `openai_chat_completions` | SiliconFlow 兼容入口 | | Ollama | `openai_chat_completions` | 本地模型服务,默认 `127.0.0.1:11434` | 所有预设都是可编辑模板。模型列表不会自动同步供应商市场,实际可用模型以 provider 控制台为准。 ## 配置与安全边界 | 项目 | 路径 / 行为 | | --- | --- | | 配置目录 | `~/.csnative` | | 配置文件 | `~/.csnative/config.json` | | Provider key | 存在本地配置文件,权限 `0600` | | 沙箱 HOME | `~/.csnative/sandbox/home` | | 本地日志 | `~/.csnative/logs/csnative.log` | | 真实 Claude Science 凭证目录 | 不写入 | | 真实 OAuth token | 不复制到沙箱 | | 官方 Claude 模式 | 不注入第三方 `ANTHROPIC_*` 环境变量 | 默认端口: | 服务 | 地址 | | --- | --- | | 本地代理 | `127.0.0.1:18991` | | Science 沙箱 | `127.0.0.1:8990` | | fresh nonce 公网入口 | `127.0.0.1:8992` | 公网域名建议: | 外部路径 | 本地目标 | 用途 | | --- | --- | --- | | `/` | `127.0.0.1:8992` | 生成 fresh nonce | | `/*` | `127.0.0.1:8990` | 转发到 Science 沙箱 | ## 多语言 | 语言 | README | 应用 / 宣传页语言代码 | | --- | --- | --- | | 🇨🇳 中文 | [README.md](README.md) | `zh-CN` | | 🇺🇸 English | [README.en.md](docs/readme/README.en.md) | `en` | | 🇰🇷 한국어 | [README.ko.md](docs/readme/README.ko.md) | `ko` | | 🇸🇦 العربية | [README.ar.md](docs/readme/README.ar.md) | `ar` | | 🇩🇪 Deutsch | [README.de.md](docs/readme/README.de.md) | `de` | | 🇫🇷 Français | [README.fr.md](docs/readme/README.fr.md) | `fr` | | 🇻🇦 Latina | [README.la.md](docs/readme/README.la.md) | `la` | 桌面应用的语言入口在侧栏底部,GitHub Pages 宣传页的语言入口在右上角。语言选择会保存在本地,阿拉伯语会切换为 RTL 排版。 ## 从源码运行 ### 前置条件 - macOS - 已安装 Claude Science - 已安装 Go - 已安装 Wails CLI - 至少一个第三方 provider API key ### 构建与测试 ``` go test ./... go vet ./... go build ./cmd/csnative wails build ``` 构建完成后,应用包位于: ``` build/bin/CSNative.app ``` 命令行入口: ``` go run ./cmd/csnative ``` ## 目录结构 ``` cmd/csnative/ 命令行入口 internal/app/ Wails app API、配置、启动、日志和自检 internal/config/ provider profile 与本地配置读写 internal/proxy/ Anthropic/OpenAI adapter 与代理逻辑 internal/oauth/ 虚拟 OAuth 写入与护栏 internal/science/ Claude Science 沙箱进程和 public entry internal/desktop/frontend/ 设置面板静态前端 docs/ GitHub Pages 与 README 资产 docs/readme/ 多语言 README docs/assets/readme/ README 截图和动图 docs/brand.md 品牌说明 build/appicon.png 生产图标源文件 ``` ## 开发检查 常用验证命令: ``` node --check internal/desktop/frontend/dist/main.js go test ./... go vet ./... go build ./cmd/csnative wails build -clean ``` 如果改了页面交互,建议同时用浏览器打开静态前端检查: ``` cd internal/desktop/frontend/dist python3 -m http.server 4179 --bind 127.0.0.1 ``` 然后访问: ``` http://127.0.0.1:4179/ ``` ## 品牌 CS Native 使用 `CSN` 作为应用识别标记,并保留 `eust-w` 品牌方向。产品定位见 [docs/brand.md](docs/brand.md)。  ## Star History
README
🇨🇳 中文 ·
🇺🇸 English ·
🇰🇷 한국어 ·
🇸🇦 العربية ·
🇩🇪 Deutsch ·
🇫🇷 Français ·
🇻🇦 Latina
CS Native 是面向 Claude Science 的本地 provider / runtime control plane。
管理模型供应商、凭证、模型映射、代理、沙箱、fresh nonce 公网入口、日志和诊断,同时保留官方 Claude Science 独立入口。
产品主页 · 下载最新版 · GHCR Package
Provider profile"] --> B["启动页
选择可用 provider"] B --> C["本地代理
127.0.0.1:18991"] C --> D["虚拟 OAuth
写入隔离目录"] D --> E["沙箱 Claude Science
127.0.0.1:8990"] E --> F["fresh nonce 入口
127.0.0.1:8992"] B --> G["官方 Claude 模式
打开真实 Claude Science"] ``` 第三方模型模式的主链路是: ``` Provider -> 本地代理 -> 虚拟 OAuth -> 沙箱 Science -> fresh URL ``` ## 界面与功能 ### 启动 启动页只展示已经启用并保存 key 的 provider。选择 provider 后,可以一键启动或全部停止,并实时查看代理端口、沙箱端口、当前上游和公网入口状态。  主要功能: - 在 **第三方模型** 与 **官方 Claude** 两种模式之间切换。 - 从已配置 provider 中选择当前启动上游。 - 显示 provider 验证状态、adapter、默认模型和 base URL 摘要。 - 一键启动本地代理、虚拟 OAuth、沙箱 Science 和 fresh nonce 入口。 - 官方 Claude 模式只打开真实 Claude Science,不改写第三方配置。 ### 模型与凭证 模型与凭证页是 provider 控制中心。左侧是 provider 列表,右侧是当前 provider 的完整配置表单。  主要功能: - 新增、复制、删除 provider。 - 编辑 provider ID、显示名称、adapter、base URL、API key 和默认模型。 - 管理 Opus、Sonnet、Haiku 三类 Claude Science 模型族到上游模型的映射。 - 保存、验证 provider,并设置启动默认 provider。 - 区分 **缺 key**、**未验证**、**已验证** 等状态,启动页只使用可启动 provider。 - 内置 provider 可改配置;自定义 provider 可接任何兼容端点。 ### 网络与公网入口 网络页只负责运行网络设置,不混入 provider 或 key。  主要功能: - 配置本地代理端口、沙箱端口、fresh nonce public entry 端口。 - 设置公网域名,用于生成可打开的 fresh URL。 - 明确公网路由设计:`/` 走 fresh nonce helper,其他路径转发沙箱 Science。 - 提供入口预览、复制和打开动作。 ### 日志 日志页读取 `~/.csnative/logs/csnative.log`,不是静态占位文本。  主要功能: - 刷新运行日志。 - 打开日志目录。 - 清空本地日志。 - 查看启动、停止、provider 验证、网络保存、自检等动作记录。 ### 关于与诊断 关于页放产品信息、Doctor 自检、反馈、更新和版本信息。日志和关于分开,避免把工具入口和运行日志混在一起。  主要功能: - 查看产品、版本、品牌信息。 - 打开当前浏览器面板。 - 运行 Doctor 检查配置和环境。 - 打开反馈和最新 Release。 ## 基本用法 1. 打开 **模型与凭证**。 2. 选择一个内置 provider,或点击 **新增** 创建自定义 provider。 3. 填写 `base URL`、`API key`、`adapter`、默认模型和 Science 模型映射。 4. 点击 **保存**,再点击 **验证**。 5. 回到 **启动**,选择已启用且有 key 的 provider。 6. 点击 **一键开始**。 7. 使用启动页显示的 fresh nonce URL 打开沙箱 Science。 8. 如需使用真实 Claude Science,切换到 **官方 Claude** 模式。 ## 下载与发布 产品主页:[https://eust-w.github.io/CSNative/](https://eust-w.github.io/CSNative/) 最新版本在 [GitHub Releases](https://github.com/eust-w/CSNative/releases/latest) 下载: | 系统 / 架构 | 下载资产 | 内容 | | --- | --- | --- | | macOS Apple Silicon | `CSNative-v*-darwin-arm64.zip` | 压缩后的 macOS `.app` | | macOS Intel | `CSNative-v*-darwin-amd64.zip` | 压缩后的 macOS `.app` | | Windows x64 | `CSNative-v*-windows-amd64.zip` | Windows 可执行文件包 | | Linux x64 | `CSNative-v*-linux-amd64.tar.gz` | Linux 可执行文件包 | | 全平台 | `checksums.txt` | SHA-256 校验文件 | Release 自动流程: ``` tag v* -> go test -> go vet -> Wails build -> GitHub Release assets -> GHCR package ``` ## 内置 provider | Provider | Adapter | 默认用途 | | --- | --- | --- | | DeepSeek | `anthropic_messages` | Anthropic-compatible 上游 | | 阿里云 DashScope / Qwen | `openai_chat_completions` | DashScope OpenAI-compatible chat completions | | OpenAI-compatible | `openai_chat_completions` | 通用 OpenAI 兼容网关 | | Anthropic-compatible | `anthropic_messages` | 通用 Anthropic Messages 兼容网关 | | OpenRouter | `openai_chat_completions` | 聚合模型入口 | | Moonshot / Kimi | `openai_chat_completions` | Kimi / Moonshot 兼容入口 | | SiliconFlow | `openai_chat_completions` | SiliconFlow 兼容入口 | | Ollama | `openai_chat_completions` | 本地模型服务,默认 `127.0.0.1:11434` | 所有预设都是可编辑模板。模型列表不会自动同步供应商市场,实际可用模型以 provider 控制台为准。 ## 配置与安全边界 | 项目 | 路径 / 行为 | | --- | --- | | 配置目录 | `~/.csnative` | | 配置文件 | `~/.csnative/config.json` | | Provider key | 存在本地配置文件,权限 `0600` | | 沙箱 HOME | `~/.csnative/sandbox/home` | | 本地日志 | `~/.csnative/logs/csnative.log` | | 真实 Claude Science 凭证目录 | 不写入 | | 真实 OAuth token | 不复制到沙箱 | | 官方 Claude 模式 | 不注入第三方 `ANTHROPIC_*` 环境变量 | 默认端口: | 服务 | 地址 | | --- | --- | | 本地代理 | `127.0.0.1:18991` | | Science 沙箱 | `127.0.0.1:8990` | | fresh nonce 公网入口 | `127.0.0.1:8992` | 公网域名建议: | 外部路径 | 本地目标 | 用途 | | --- | --- | --- | | `/` | `127.0.0.1:8992` | 生成 fresh nonce | | `/*` | `127.0.0.1:8990` | 转发到 Science 沙箱 | ## 多语言 | 语言 | README | 应用 / 宣传页语言代码 | | --- | --- | --- | | 🇨🇳 中文 | [README.md](README.md) | `zh-CN` | | 🇺🇸 English | [README.en.md](docs/readme/README.en.md) | `en` | | 🇰🇷 한국어 | [README.ko.md](docs/readme/README.ko.md) | `ko` | | 🇸🇦 العربية | [README.ar.md](docs/readme/README.ar.md) | `ar` | | 🇩🇪 Deutsch | [README.de.md](docs/readme/README.de.md) | `de` | | 🇫🇷 Français | [README.fr.md](docs/readme/README.fr.md) | `fr` | | 🇻🇦 Latina | [README.la.md](docs/readme/README.la.md) | `la` | 桌面应用的语言入口在侧栏底部,GitHub Pages 宣传页的语言入口在右上角。语言选择会保存在本地,阿拉伯语会切换为 RTL 排版。 ## 从源码运行 ### 前置条件 - macOS - 已安装 Claude Science - 已安装 Go - 已安装 Wails CLI - 至少一个第三方 provider API key ### 构建与测试 ``` go test ./... go vet ./... go build ./cmd/csnative wails build ``` 构建完成后,应用包位于: ``` build/bin/CSNative.app ``` 命令行入口: ``` go run ./cmd/csnative ``` ## 目录结构 ``` cmd/csnative/ 命令行入口 internal/app/ Wails app API、配置、启动、日志和自检 internal/config/ provider profile 与本地配置读写 internal/proxy/ Anthropic/OpenAI adapter 与代理逻辑 internal/oauth/ 虚拟 OAuth 写入与护栏 internal/science/ Claude Science 沙箱进程和 public entry internal/desktop/frontend/ 设置面板静态前端 docs/ GitHub Pages 与 README 资产 docs/readme/ 多语言 README docs/assets/readme/ README 截图和动图 docs/brand.md 品牌说明 build/appicon.png 生产图标源文件 ``` ## 开发检查 常用验证命令: ``` node --check internal/desktop/frontend/dist/main.js go test ./... go vet ./... go build ./cmd/csnative wails build -clean ``` 如果改了页面交互,建议同时用浏览器打开静态前端检查: ``` cd internal/desktop/frontend/dist python3 -m http.server 4179 --bind 127.0.0.1 ``` 然后访问: ``` http://127.0.0.1:4179/ ``` ## 品牌 CS Native 使用 `CSN` 作为应用识别标记,并保留 `eust-w` 品牌方向。产品定位见 [docs/brand.md](docs/brand.md)。  ## Star History
标签:DLL 劫持, EVTX分析, LLM路由, 人工智能, 大语言模型, 控制面板, 日志审计, 桌面应用, 模型管理, 用户模式Hook绕过, 跨平台