Power Apps Code Apps 开发实战:TypeScript + React + Power Platform 集成标准与最佳实践
本文基于 awesome-copilot 仓库中的 Power Apps Code Apps Development Instructions 编写,系统讲解使用 TypeScript、React 与 Vite 构建 Power Apps Code Apps 的完整开发标准,涵盖项目脚手架、Power Platform SDK 连接器集成、PCF 控件与 Power BI 嵌入、Dataverse 数据模型、离线架构、安全、测试、多环境 DevOps 流水线与常见问题排查。读完本文,你将掌握一套可直接落地的 Code-first 应用开发规范,并能借助仓库配套的 插件 与 脚手架技能 快速初始化并部署到 Power Platform。
一、项目上下文:什么是 Power Apps Code Apps
Power Apps Code Apps 是 Microsoft Power Platform 推出的 代码优先(Code-first)Web 应用开发模式:开发者不再受限于低代码画布,而是直接用 TypeScript、React 构建前端,通过 Power Platform SDK 与 1,500+ 连接器、Microsoft Entra 认证以及托管的 Power Platform 基础设施深度集成。根据 skills/power-apps-code-app-scaffold/SKILL.md 的说明,Code Apps 允许开发者在代码优先的同时复用 Power Platform 的连接器生态、身份认证与托管运行时。
以下是本指令文档确认的几项硬性环境约束,后续所有配置都围绕它们展开:
| 维度 | 约束 | 说明 |
|---|---|---|
| 前端技术栈 | TypeScript + React + Vite | 官方推荐组合,Vite 作为打包器 |
| Power Platform SDK | @microsoft/power-apps(^1.0.3) |
用于连接器集成与运行时初始化 |
| 本地开发端口 | 3000(必需) | Power Apps SDK 要求应用运行在 3000 端口 |
| 项目管理 | PAC CLI(Power Platform CLI) | 负责项目初始化、连接器管理与部署 |
| 生产许可 | Power Apps Premium | 终端用户使用 Code Apps 的许可要求 |
| 开发前置 | VS Code + Power Platform Tools 扩展、Node.js LTS(v18.x 或 v20.x)、已启用 Code Apps 的 Power Platform 环境(管理员设置) | 详见脚手架技能的 Prerequisites 一节 |
该指令文档在仓库中登记于 docs/README.instructions.md 的指令索引表,可一键安装到 VS Code / VS Code Insiders,其 front-matter 声明了 applyTo: '**/*.{ts,tsx,js,jsx}, **/vite.config.*, **/package.json, **/tsconfig.json, **/power.config.json',即这些文件被打开时 Copilot 会自动应用本套开发标准。
二、开发标准:工程结构与 TypeScript 配置
2.1 项目目录结构
指令文档要求采用职责清晰的分层目录结构,并将 PAC CLI 生成的代码与手写业务代码严格隔离:
src/
├── components/ # 可复用 UI 组件
├── hooks/ # 面向 Power Platform 的自定义 React hooks
├── generated/
│ ├── services/ # PAC CLI 生成的连接器服务
│ └── models/ # PAC CLI 生成的 TypeScript 模型
├── utils/ # 工具函数与辅助方法
├── types/ # TypeScript 类型定义
├── PowerProvider.tsx # Power Platform 上下文包装组件
└── main.tsx # 应用入口
要点:
- 生成代码与自定义代码分离:
generated/services/与generated/models/由 PAC CLI 生成,不应手改;业务代码引用其导出的类型与服务,从而获得端到端类型安全。 - 命名约定统一:文件使用 kebab-case,组件使用 PascalCase。
- 脚手架技能(SKILL.md)中给出了与之一致的结构,并建议使用
pac code init --displayName "App Name"初始化项目,再由pac code add-data-source将连接器源加入工程以生成服务与模型。
2.2 TypeScript 配置:与 Power Apps SDK 兼容
指令文档明确指出:必须将 verbatimModuleSyntax 设为 false,以保证与 Power Apps SDK 的兼容性,同时开启严格模式。推荐的完整 tsconfig.json 如下:
{
"compilerOptions": {
"target": "ES2020",
"useDefineForClassFields": true,
"lib": ["ES2020", "DOM", "DOM.Iterable"],
"module": "ESNext",
"skipLibCheck": true,
"verbatimModuleSyntax": false,
"moduleResolution": "bundler",
"allowImportingTsExtensions": true,
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "react-jsx",
"strict": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noFallthroughCasesInSwitch": true,
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"]
}
}
}
几个关键项的作用:
target: ES2020与lib: ES2020/DOM/DOM.Iterable:保证对现代浏览器 API(Promise、async/await、DOM)的类型覆盖,同时与 SDK 的运行环境要求对齐。moduleResolution: "bundler"+allowImportingTsExtensions:适配 Vite 的打包解析方式。noEmit: true:类型检查由tsc -b独立承担,产物统一交给 Vite 输出。paths别名@/*映射到./src/*,配合 Vite 侧"@": path.resolve(__dirname, "./src")使用,保证编辑器与打包器两侧的导入路径一致。- 严格模式 +
noUnusedLocals/noUnusedParameters/noFallthroughCasesInSwitch:在编译期拦截死代码与潜在逻辑漏洞。
同时遵循以下编码约束:
- 为 Power Platform 连接器响应提供完整类型(优先使用 PAC CLI 生成的模型)。
- 为应用自有数据结构定义 interface。
- 实现错误边界(Error Boundary)与规范的错误处理类型。
2.3 关键依赖安装
指令文档要求按官方示例安装以下依赖:
| 依赖 | 用途 |
|---|---|
@microsoft/power-apps |
Power Platform SDK(连接器、认证与运行时能力) |
@fluentui/react-components |
Fluent UI React 组件库,官方示例采用的 UI 方案 |
concurrently(devDependency) |
并行执行 vite 与 pac code run 等开发脚本 |
三、高级 Power Platform 集成能力
指令文档为 Code Apps 规划了四类深度集成能力,均有可复制的代码范式。
3.1 集成 PCF 控件(Power Apps Component Framework)
可以将 PCF 自定义控件嵌入 Code Apps,用于数据可视化等场景,并通过包装组件打通 PCF 与 React 之间的数据绑定与事件:
// Example: Using custom PCF control for data visualization
import { PCFControlWrapper } from './components/PCFControlWrapper';
const MyComponent = () => {
return (
<PCFControlWrapper
controlName="CustomChartControl"
dataset={chartData}
configuration={chartConfig}
/>
);
};
实践要点:处理好 PCF 与 React 之间的事件、数据绑定,并将 PCF 控件随 Code Apps 一起打包部署。仓库中另有完整的 PCF 最佳实践 与 Code Components 实现指南 可作为进阶参考。
3.2 嵌入 Power BI 报表
通过 powerbi-client-react 嵌入交互式仪表盘,支持动态筛选与 PDF / Excel / 图片导出:
import { PowerBIEmbed } from 'powerbi-client-react';
const DashboardComponent = () => {
return (
<PowerBIEmbed
embedConfig={{
type: 'report',
id: reportId,
embedUrl: embedUrl,
accessToken: accessToken,
tokenType: models.TokenType.Aad,
settings: {
panes: { filters: { expanded: false, visible: false } }
}
}}
/>
);
};
注意 tokenType: models.TokenType.Aad 表示使用 AAD 令牌嵌入(非 embed token),settings.panes 可控制筛选器面板的展开与可见性,据此可基于 Code App 的上下文实现报表动态过滤与导出能力。
3.3 集成 AI Builder
可调用 AI Builder 模型实现表单处理、对象检测、预测与情感分析:
// Example: Document processing with AI Builder
const processDocument = async (file: File) => {
const formData = new FormData();
formData.append('file', file);
const result = await AIBuilderService.ProcessDocument({
modelId: 'document-processing-model-id',
document: formData
});
return result.extractedFields;
};
这类服务同样可经由 PAC CLI 生成类型化服务层,保持与连接器调用一致的类型安全体验。
3.4 嵌入 Power Virtual Agents 聊天机器人
使用 Bot Framework 生态(botframework-directlinejs + botframework-webchat)在 Code App 内嵌入对话机器人:
import { DirectLine } from 'botframework-directlinejs';
import { WebChat } from 'botframework-webchat';
const ChatbotComponent = () => {
const directLine = new DirectLine({
token: chatbotToken
});
return (
<div style={{ height: '400px', width: '100%' }}>
<WebChat directLine={directLine} />
</div>
);
};
要点:将 Code App 上下文传入对话;通过自定义机器人动作触发 Code App 内函数,实现"聊天驱动应用操作"的双向联动。
3.5 PowerProvider 与认证流程
- PowerProvider 实现模式:SDK v1.0 版本无需等待 SDK 初始化,最小实现就是一个透传 children 的 Provider:
import type { ReactNode } from "react";
export default function PowerProvider({ children }: { children: ReactNode }) {
return <>{children}</>;
}
- 认证:实现基于 Microsoft Entra ID 的完整认证流程;处理连接器同意(consent)对话框与权限管理。
- 连接器操作:统一使用 PAC CLI 生成的 TypeScript 服务执行连接器操作。
3.6 官方支持连接器清单
指令文档列出的受支持连接器模式(脚手架技能 SKILL.md 在此基础上补充了更多示例连接器):
| 连接器 | 典型用途 |
|---|---|
| SQL Server(含 Azure SQL) | 完整 CRUD、存储过程 |
| SharePoint | 文档库、列表、站点 |
| Office 365 Users / Groups | 用户档案、照片、组成员信息 |
| Azure Data Explorer | 分析与大数据查询 |
| OneDrive for Business | 文件存储与共享 |
| Microsoft Teams | 团队协作与通知 |
| Dataverse | CRUD 操作、关系与业务逻辑 |
以 Office 365 Users 为例,官方推荐的服务调用模式(见脚手架技能):
// Example: Get current user profile
const profile = await Office365UsersService.MyProfile_V2("id,displayName,jobTitle,userPrincipalName");
// Example: Get user photo
const photoData = await Office365UsersService.UserPhoto_V2(profile.data.id);
四、React 模式与数据管理
4.1 React 开发模式
- 所有新开发一律使用函数组件 + hooks。
- 为连接器操作实现完整的加载态与错误态。
- 优先考虑 Fluent UI React 组件(与官方示例一致)。
- 数据获取与缓存:酌情使用 React Query 或 SWR。
- 遵循组件组合的 React 最佳实践,采用 mobile-first 的响应式设计。
4.2 数据管理准则
- 敏感数据一律存放在数据源中,严禁写进应用代码(对应脚手架技能中的 "Store sensitive data in data sources, not app code")。
- 使用生成的模型保证连接器操作的类型安全。
- 实现数据校验与清洗、优雅的离线处理、对高频数据的合理缓存。
4.3 高级 Dataverse 关系处理
指令文档给出了三类进阶关系场景的代码范式:
多对多关系——通过中间表服务与过滤实现:
// Example: User-to-Role many-to-many relationship
const userRoles = await UserRoleService.getall();
const filteredRoles = userRoles.filter(ur => ur.userId === currentUser.id);
多态查找(Polymorphic lookups)——处理可引用多个实体类型的 customer 字段:
// Handle polymorphic customer lookup (Account or Contact)
const customerType = record.customerType; // 'account' or 'contact'
const customerId = record.customerId;
const customer = customerType === 'account'
? await AccountService.get(customerId)
: await ContactService.get(customerId);
复杂关系查询——善用 $expand 与 $filter 提升检索效率;同时为关系约束实现业务规则校验。
五、性能优化与离线优先架构
5.1 常规性能手段
- 对昂贵计算使用
React.memo与useMemo。 - 大型应用实施代码分割(code splitting)与懒加载。
- 通过 tree shaking 优化打包体积。
- 用高效的连接器查询模式(合理分页、按需字段)减少 API 调用。
5.2 离线优先架构与同步模式
指令文档给出了完整的离线能力实现路径:
Service Worker 注册:
// Example: Service worker registration
if ('serviceWorker' in navigator) {
window.addEventListener('load', () => {
navigator.serviceWorker.register('/sw.js')
.then(registration => console.log('SW registered:', registration))
.catch(error => console.log('SW registration failed:', error));
});
}
IndexedDB 本地存储封装:
// Example: IndexedDB wrapper for offline storage
class OfflineDataStore {
async saveData(key: string, data: any) {
const db = await this.openDB();
const transaction = db.transaction(['data'], 'readwrite');
transaction.objectStore('data').put({ id: key, data, timestamp: Date.now() });
}
async loadData(key: string) {
const db = await this.openDB();
const transaction = db.transaction(['data'], 'readonly');
return transaction.objectStore('data').get(key);
}
}
在此基础上,还需设计回连后的冲突解决(sync conflict resolution)、后台同步(periodic data synchronization)以及 PWA 安装与离线能力。
六、安全、错误处理与测试策略
6.1 安全最佳实践
- 永不将密钥或敏感配置写入代码。
- 使用 Power Platform 内置的认证与授权。
- 实现输入校验与清洗,遵循 OWASP Web 应用安全指南。
- 尊重 Power Platform 的数据丢失防护(DLP)策略。
- 仅使用 HTTPS 通信。
6.2 错误处理
- 在 React 中实现完整的错误边界。
- 优雅处理连接器专属错误,向用户提供有意义的错误信息。
- 日志记录不得泄露敏感信息。
- 为瞬时故障实现重试逻辑,并处理网络连接问题。
6.3 测试策略
- 业务逻辑与工具函数编写单元测试。
- 使用 React Testing Library 测试组件。
- 测试中 Mock Power Platform 连接器。
- 为关键用户流程编写集成测试。
- 使用 TypeScript 提升测试安全,覆盖错误场景与边界情况。
七、开发工作流与 DevOps 部署
7.1 本地开发脚本
使用 PAC CLI 管理项目与连接器,配合 concurrently 并行启动 Vite 与 PAC 运行时:
{
"scripts": {
"dev": "concurrently \"vite\" \"pac code run\"",
"build": "tsc -b && vite build",
"preview": "vite preview",
"lint": "eslint ."
}
}
7.2 PAC CLI 核心命令
脚手架技能 SKILL.md 给出了完整的 PAC CLI 命令集:
| 命令 | 作用 |
|---|---|
pac auth create --environment {environment-id} |
认证并绑定指定环境 |
pac env select --environment {environment-url} |
选择目标环境 |
pac code init --displayName "App Name" |
初始化 Code Apps 工程 |
pac connection list |
列出可用连接 |
pac code add-data-source -a {api-name} -c {connection-id} |
添加连接器数据源 |
pac code push |
部署到 Power Platform |
7.3 部署与多环境流水线
部署标准流程为 npm run build 后执行 pac code push,并做好 dev / test / prod 环境管理。指令文档给出了环境专属配置文件的范例:
// Example: environment-specific config files
// config/development.json
{
"powerPlatform": {
"environmentUrl": "https://dev-env.crm.dynamics.com",
"apiVersion": "9.2"
},
"features": {
"enableDebugMode": true,
"enableAnalytics": false
}
}
自动化流水线可用 Azure DevOps 或 GitHub Actions,指令文档给出了 Azure DevOps 的参考步骤:
# Example Azure DevOps pipeline step
- task: PowerPlatformToolInstaller@2
- task: PowerPlatformSetConnectionVariables@2
inputs:
authenticationType: 'PowerPlatformSPN'
applicationId: '$(AppId)'
clientSecret: '$(ClientSecret)'
tenantId: '$(TenantId)'
- task: PowerPlatformPublishCustomizations@2
进阶实践还包括:dev → test → staging → prod 的自动晋升、失败自动回滚、以及使用 Azure Key Vault 管理环境专属密钥。
八、代码质量指南
8.1 组件、状态与 API 集成
- 组件:定义清晰的 props interface;组合优于继承;TypeScript 完成 prop 校验;遵循单一职责原则;命名自解释。
- 状态管理:简单场景用 React 内置状态;复杂场景考虑 Redux Toolkit;实现状态规范化;用 Context 或状态库避免 prop drilling;高效使用派生状态与计算值。
- API 集成:统一使用 PAC CLI 生成的服务;实现请求/响应拦截器;管理认证令牌;实现请求去重与缓存;正确处理 HTTP 状态码。
8.2 样式与 UI
- 使用一致的设计系统或组件库(Fluent UI 为首选)。
- CSS Grid / Flexbox 实现响应式布局。
- 遵循 WCAG 2.1 无障碍指南。
- 使用 CSS-in-JS 或 CSS Modules。
- 视情况支持暗黑模式与移动端友好界面。
8.3 进阶 UI/UX 模式
指令文档提供了五组可直接套用的高级模式:
设计系统组件——构建可复用组件系统并配合设计令牌(间距、颜色、排版):
// Example: Design system button component
interface ButtonProps {
variant: 'primary' | 'secondary' | 'danger';
size: 'small' | 'medium' | 'large';
disabled?: boolean;
onClick: () => void;
children: React.ReactNode;
}
export const Button: React.FC<ButtonProps> = ({
variant, size, disabled, onClick, children
}) => {
const classes = `btn btn-${variant} btn-${size} ${disabled ? 'btn-disabled' : ''}`;
return <button className={classes} onClick={onClick} disabled={disabled}>{children}</button>;
};
用 Storybook 做组件文档。
暗黑模式与主题系统——Theme Context + Provider,配合 CSS 变量实现动态主题,并尊重系统偏好:
// Example: Theme context and provider
const ThemeContext = createContext({
theme: 'light',
toggleTheme: () => {}
});
export const ThemeProvider: React.FC<{children: ReactNode}> = ({ children }) => {
const [theme, setTheme] = useState<'light' | 'dark'>('light');
const toggleTheme = () => {
setTheme(prev => prev === 'light' ? 'dark' : 'light');
};
return (
<ThemeContext.Provider value={{ theme, toggleTheme }}>
<div className={`theme-${theme}`}>{children}</div>
</ThemeContext.Provider>
);
};
响应式进阶——使用容器查询(container queries)与流式排版:
/* Example: Container query for responsive components */
.card-container {
container-type: inline-size;
}
@container (min-width: 400px) {
.card {
display: grid;
grid-template-columns: 1fr 1fr;
}
}
动画与微交互——集成 Framer Motion:
import { motion, AnimatePresence } from 'framer-motion';
const AnimatedCard = () => {
return (
<motion.div
initial={{ opacity: 0, y: 20 }}
animate={{ opacity: 1, y: 0 }}
exit={{ opacity: 0, y: -20 }}
transition={{ duration: 0.3 }}
whileHover={{ scale: 1.02 }}
className="card"
>
Card content
</motion.div>
);
};
配合骨架屏加载态、手势识别,并使用 CSS transforms 与 will-change 优化性能。
无障碍自动化与测试——ARIA 语义标记 + 键盘导航 + 屏幕阅读器优化。指令文档给出的无障碍弹窗范式:
// Example: Accessible modal component
const Modal: React.FC<{isOpen: boolean, onClose: () => void, children: ReactNode}> = ({
isOpen, onClose, children
}) => {
useEffect(() => {
if (isOpen) {
document.body.style.overflow = 'hidden';
const focusableElement = document.querySelector('[data-autofocus]') as HTMLElement;
focusableElement?.focus();
}
return () => { document.body.style.overflow = 'unset'; };
}, [isOpen]);
return (
<div
role="dialog"
aria-modal="true"
aria-labelledby="modal-title"
className={isOpen ? 'modal-open' : 'modal-hidden'}
>
{children}
</div>
);
};
集成 axe-core 做自动化无障碍测试,并在 NVDA、JAWS、VoiceOver 上验证。
国际化(i18n)与本地化——react-intl 集成、自动语言检测、RTL 支持(阿拉伯语、希伯来语)、本地化日期与数字格式:
import { FormattedMessage, useIntl } from 'react-intl';
const WelcomeMessage = ({ userName }: { userName: string }) => {
const intl = useIntl();
return (
<h1>
<FormattedMessage
id="welcome.title"
defaultMessage="Welcome, {userName}!"
values={{ userName }}
/>
</h1>
);
};
九、当前限制与变通方案
指令文档明确列出了 Code Apps 预览期的已知限制(脚手架技能中的限制清单与之基本一致),这些属于当前版本的真实边界,规划架构时应提前考虑:
| 已知限制 | 变通方案 |
|---|---|
| 尚不支持内容安全策略(CSP) | 按受控环境规划内容来源,等待官方支持 |
| 不支持存储 SAS IP 限制 | 通过其他访问控制手段弥补 |
| 无 Power Platform Git 集成 | 实现手动部署工作流 |
| 支持 Dataverse 解决方案,但解决方案打包器与源码集成有限 | 用外部工具管理高级分析 |
| Application Insights 仅可通过 SDK logger 配置(无内置原生集成) | 使用替代错误跟踪方案,规划未来迁移 |
十、文档标准
为保证工程可维护性,指令文档要求每个 Code Apps 项目维护:
- 含完整环境搭建说明的 README.md;
- 所有自定义组件与 hooks 的文档;
- 常见问题排查指南;
- 部署流程与需求文档;
- 版本更新的 changelog;
- 重大架构决策的 ADR(架构决策记录)。
十一、常见问题排查
11.1 开发阶段问题
| 症状 | 处置方式 |
|---|---|
| 3000 端口冲突 | netstat -ano | findstr :3000 找到占用进程,再 taskkill /PID {PID} /F 结束进程 |
| 认证失败 | 用 pac auth list 检查环境与用户权限 |
| 依赖安装失败 | npm cache clean --force 清理缓存后重装 |
| TypeScript 编译错误 | 检查 verbatimModuleSyntax 设置与 SDK 兼容性 |
| 连接器权限错误 | 确认 consent 流程与管理权限 |
| PowerProvider 异常 | 确认 v1.0 应用不等待 SDK 初始化 |
| Vite dev server 异常 | 核对 host 与 port 配置是否符合要求 |
11.2 部署阶段问题
| 症状 | 处置方式 |
|---|---|
| 构建失败 | 用 npm audit 检查依赖,核对构建配置 |
| 认证错误 | 依次执行 pac auth clear 与 pac auth create 重新认证 |
| 连接器不可用 | 检查 Power Platform 中的连接器配置与连接状态 |
| 性能问题 | 用 npm run build --report 分析包体积并实施缓存 |
| 环境不匹配 | 用 pac env list 确认当前所选环境 |
| 应用超时 | 检查构建输出与网络连通性 |
11.3 运行时问题
| 症状 | 处置方式 |
|---|---|
| "App timed out" 错误 | 确认已执行 npm run build 且部署产物有效 |
| 连接器认证弹窗 | 确认 consent 流程实现正确 |
| 数据加载失败 | 检查网络请求与连接器权限 |
| UI 渲染异常 | 核对 Fluent UI 兼容性与响应式设计实现 |
十二、最佳实践总结
指令文档收尾给出了 10 条最佳实践,可视为 Code Apps 开发的总纲:
- 遵循 Microsoft 官方文档与最佳实践;
- 使用 TypeScript 保证类型安全与开发体验;
- 实现完善的错误处理与用户反馈;
- 持续优化性能与用户体验;
- 遵循安全最佳实践与 Power Platform 策略;
- 编写可维护、可测试、文档齐全的代码;
- 统一使用 PAC CLI 生成的服务与模型;
- 为未来的功能更新与迁移做规划;
- 实施全面的测试策略;
- 遵循规范的 DevOps 与部署实践。
十三、在 awesome-copilot 仓库中的配套落地资源
本指令并非孤立的规范文件,仓库为其提供了完整的工具链支撑:
- 开发插件:plugins/power-apps-code-apps/README.md 定义了
power-apps-code-apps插件(plugin.json),安装方式为copilot plugin install power-apps-code-apps@awesome-copilot,内置斜杠命令/power-apps-code-apps:power-apps-code-apps-scaffold(一键脚手架 Code Apps 工程)与power-platform-expert专家 Agent(见 agents/power-platform-expert.agent.md,同样登记于 docs/README.agents.md)。 - 脚手架技能:skills/power-apps-code-app-scaffold/SKILL.md 提供了从项目初始化、PAC CLI 命令、官方支持连接器到文档交付物的完整生成流程,是"读完规范即可开工"的落地加速器。
- 仓库目录索引:本指令收录于 docs/README.instructions.md,插件收录于 docs/README.plugins.md,便于在 Copilot 中一键安装使用。
按此规范开发的 Code Apps,从工程结构、类型安全、连接器集成到部署流水线,均与 Power Platform 的官方预览能力对齐;同时保留 Web 前端生态的灵活性与开发效率,是"低代码生态 + 代码优先"场景下的可靠选择。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0631
MiniCPM5-2BMiniCPM5-2B 是一款面向端侧、本地部署和资源受限场景的 2B 稠密 Transformer,能够达到同尺寸开源模型 SOTA 水平。Markdown00
video-shotcraftAI宣传片skill,使用 Remotion 制作电影级产品视频:提供106 张镜头配方卡和可复用的视频魔板。适用于 Claude Code 与 Codex以及所有其他智能体Markdown00
HivisionIDPhotos⚡️HivisionIDPhotos: a lightweight and efficient AI ID photos tools. 一个轻量级的AI证件照制作算法。Python09
DragonOSDragonOS is an operating system developed from scratch using Rust, with Linux compatibility. It is designed for **Serverless** scenarios. 使用Rust从0自研内核,具有Linux兼容性的操作系统,面向云计算Serverless场景而设计。Rust00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00