当前位置: 首页 > news >正文

CANN / cannbot-skills 代理文档

AGENTS.md — cannbot-insight

【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills

Project

CANNBot-Insight: Session-level observability tool for LLM coding agents (opencode). Next.js 16 App Router + Prisma + SQLite. Chinese/English mixed UI. UI version tracked insrc/lib/version.ts(v0.31) —package.jsonversion (0.02) is not the display version.

CLI Frontend (New - 2026-06)

Adding a CLI frontend alongside the existing web UI. Backend remains unchanged; CLI is a pure API client.

Tech Stack

  • Ink 7.0.6+ React 19.2.7 (ESM required:"type": "module"in package.json)
  • Commander.jsfor command parsing
  • string-width+cli-truncatefor CJK character width handling
  • Run withtsx(not ts-node) due to yoga-layout top-level await

Key Decisions (PoC Verified)

  • No third-party Ink components— ink-table/ink-select/ink-spinner all incompatible with Ink v7
  • Self-implement all components: DataTable, Spinner (10 lines), TextInput (30 lines)
  • Dual render strategy: ink-testing-library for tests (has lastFrame), Ink native render for production
  • stdin handling:resume() + setRawMode(true)before Ink render, restore on exit
  • Pagination over virtual scroll: pageSize=20, n/p keys (Ink re-renders full tree anyway)
  • CLI types useApiprefix(ApiSessionListItem) to distinguish from shared types

Architecture

src/cli/ ├── index.ts # Commander entry point ├── client.ts # API client (15 endpoints) ├── types.ts # Api-prefixed response types ├── errors.ts # Error hierarchy ├── config.ts # Config management ├── commands/ # CLI commands (sessions, session, turn, search, compare, stats, import, delete, config) ├── hooks/ # useApi, useKeyboard, useNavigation, useTable ├── utils/ # format, colors, table (with padEndVisual/truncateVisual) └── tui/ ├── App.tsx # Root component (stdin switching, useMemo client) ├── screens/ # SessionList, SessionDetail, TurnDetail, CompareView, ImportPanel ├── tabs/ # OverviewTab, TurnsTab, WorkflowTab, SubagentsTab, SkillsTab, BridgesTab, ContextTab └── components/ # StatusBar, KeyBar, DataTable, MetricCards, AsciiBar, TreeView, TabBar, Spinner, TextInput

Dev Commands (CLI)

CommandNotes
npx tsx src/cli/index.ts tuiLaunch TUI mode (requires real TTY)
npx tsx src/cli/index.ts sessionsList sessions (command mode)
npx tsx src/cli/index.ts statsGlobal statistics
npm run test:cliCLI tests (uses ink-testing-library)

CLI Constraints

  • Ink v7 native render() has no lastFrame/frames/output— only ink-testing-library provides these
  • ESM strict: Cannot use require(), must use import
  • CJ width: Chinese characters = 2 columns, use string-width for all text measurement
  • No PTY in tests: TUI E2E tests only run manually, CI runs component tests only
  • Version: Import from@/lib/version, never hardcode

Dev Commands

CommandNotes
./start.shAuto port (21025+), kills existing dev server via.next/dev/lockPID, runsprisma migrate dev+next dev
./start.sh -uSame but also runsnpm installfirst
npm run devRuns on default port 3000 — prefer./start.shinstead
npm run buildStandardnext build
npm run testvitest run— 187 tests (web)
npm run test:cliCLI frontend tests
npm run linteslint(flat config,eslint.config.mjs) — run after edits to verify

Architecture

Data Flow

opencode sessions.db (external) → better-sqlite3 read → opencode-db adapter → normalize → turn-split → bridge-builder → execution-split → merge → contenteditable="false">【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.gsyq.cn/news/1641827.html

相关文章:

  • 计算机视觉实战:使用SageMaker Studio Lab训练图像分类模型的完整指南
  • activerecord-multi-tenant 终极指南:如何在 Rails 应用中轻松实现多租户架构
  • RESPX安全测试:使用模拟库进行API安全测试的实践方法
  • 天赐范式第94天:从断裂到新技术的“内燃机“——TDP-CP与DRR-R方法论边界规范
  • Subliminal:终极iOS集成测试框架完整指南
  • 换手机数据迁移太麻烦?这款iPhone、安卓和平板电脑互传工具,一键搞定不丢数据!
  • Opslane最佳实践:10个技巧提升AI并行开发效率
  • Riffusion音乐API对接实战:低成本高效生成AI音乐
  • pysimdjson实战:大数据JSON处理的5个技巧
  • CANN CLI前端评审决策
  • 5 分钟上手 Swift Protobuf:最新官方仓库使用教程
  • Perlite Mermaid集成教程:创建交互式图表与流程图
  • Project Restoration:终极Majora‘s Mask 3D修复补丁完全指南
  • Justice.js:革命性网页性能监控工具,让前端性能问题无所遁形
  • OpenEduCat ERP财务管理:教育机构费用管理的完整教程
  • Perlite插件系统解析:扩展功能的无限可能
  • Tilt Brush Toolkit开发指南:构建自定义3D绘画应用的完整路线图
  • 终极指南:如何无缝过渡到 apple/swift-protobuf 新仓库
  • Lunalytics部署指南:使用Docker快速搭建私有监控面板
  • 3分钟免费激活Windows和Office:KMS_VL_ALL_AIO智能激活工具完全指南
  • RESPX版本升级指南:如何平滑迁移到最新版本的完整教程
  • CANN MatmulPermute算子开发
  • 低成本高精度时钟合成方案:CS2200-CP与STM32F031K6实践
  • 如何快速开始Pillar Valley游戏开发:10个新手必学技巧
  • RetinexNet实战教程:5分钟完成低光图像增强,附代码示例
  • Pillar Valley游戏美术资源管理:Three.js材质与纹理的最佳实践
  • 10分钟掌握防撤回神器:RevokeMsgPatcher从新手到高手的完整指南
  • Project Restoration技术架构深度解析:游戏补丁开发原理与实践
  • Coding Coach社区治理指南:开源项目的协作与贡献流程
  • Vue Content Loading:打造Facebook风格SVG加载卡片的终极指南