Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/tincopper/neeko/code-walkthroughnpx skills add tincopper/neeko --skill code-walkthroughgit clone --depth 1 https://github.com/tincopper/neekoWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00128 | $0.03895 |
| Opus 5 | $0.00064 | $0.01947 |
| Sonnet 5 | $0.00026 | $0.00779 |
| Haiku 4.5 | $0.00013 | $0.00390 |
Grade A, and why
code-walkthrough scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 327 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Code Walkthrough
与用户共同阅读 Neeko 代码,逐文件讲解 Tauri 应用架构、跨端数据流与设计决策。纯讲解 + 审查,不修改代码。
核心原则
- 先全景再深入 -- 先建立模块全局地图,再逐文件探索;不知道全貌就不知道该看什么
- 逐文件推进 -- 每次只读一个文件,讲完要点、确认用户无问题后再继续,不批量扫
- 证据驱动 -- 所有讲解必须引用具体文件路径和行号,不凭印象说话
- 主动审查 -- 阅读过程中主动标注 dead code、设计偏差、类型不一致、迁移遗漏,但不修改代码
- 交互确认 -- 每个文件讲完后等用户确认,用户有疑问优先解答再继续
- 用户主导节奏 -- 用户说"继续"才到下一个文件,用户说"看看这个"就切换焦点
- 双端意识 -- 始终关注 Rust 后端与 React 前端的契约关系,标注跨端依赖
Neeko 架构概览
Neeko 是基于 Tauri 2 + React 18 的桌面应用。代码分为三个域:
┌─────────────────────────────────────────────────────────────────┐
│ React 前端 (src/) │
│ components/ → hooks/ → store/ ← contexts/ ← types.ts │
└───────────────────────────┬─────────────────────────────────────┘
│ @tauri-apps/api/core.invoke()
│ Tauri Events (listen/emit)
┌───────────────────────────┴─────────────────────────────────────┐
│ Rust 后端 (src-tauri/src/) │
│ commands/ → managers → models/ + storage.rs + git/ + skill/ │
└─────────────────────────────────────────────────────────────────┘
核心数据流:
- 前端 → 后端:
hooks调用invoke("command_name", args)→ Tauri IPC →commands/<domain>.rs→managers - 后端 → 前端:
app.emit("event-name", payload)→ 前端listen()→ hooks/store 更新 - 类型契约:
src-tauri/src/models/↔src/types.ts(serde 序列化)
两种模式
模式 A:三域分层(默认)
从数据模型开始,按三个域逐层向上阅读。
适用场景:新接手模块、架构改造后全貌理解、PRD 实现 review。
域与层级:
域 1: Rust 后端(src-tauri/src/)
├── Layer 1: 数据模型(models/) -- 共享契约层,Rust ↔ TS 类型同步
├── Layer 2: 存储层(storage.rs) -- JSON 持久化
├── Layer 3: Manager(terminal.rs, project.rs, agent.rs 等) -- 业务逻辑核心
├── Layer 4: 命令层(commands/) -- Tauri IPC 入口,参数校验 + 错误转换
└── Layer 5: 应用组装(app.rs, app_state.rs) -- 依赖注入 + 命令注册
域 2: 跨端桥接
├── Layer 6: 类型契约(models/ ↔ types.ts) -- 结构体/接口对齐
└── Layer 7: IPC 通道(invoke/events) -- 命令名 + 事件名映射
域 3: React 前端(src/)
├── Layer 8: 类型定义(types.ts) -- TypeScript 接口
├── Layer 9: 状态管理(store/, contexts/) -- 全局状态 + 领域动作
├── Layer 10: 自定义 Hooks(hooks/) -- 业务逻辑封装 + invoke 调用
└── Layer 11: UI 组件(components/) -- 渲染 + 用户交互
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 327 lines · 128 tokens per session scan A 5f1b096bc6e9
code-walkthrough is a skill published in the GitHub repository tincopper/neeko (10 stars, last pushed 4d ago), licensed Apache-2.0. It adds 128 tokens to every session and 3,895 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
reskin
Author a NEW skin for the reskinnable-demo app. A skin is a self-contained domain plugin under src/skins/ / that implements the frozen Skin contract (src/shell/skin-contract.ts) to swap the app's entire experience — brand, theme, layout, pages, tools, data, and agent — as a live sales demo. Use when the user says "add…
copilotkit-setup
Use when adding CopilotKit to an existing project or bootstrapping a new CopilotKit project from scratch. Covers framework detection, package installation, runtime wiring (managed Intelligence or self-hosted SSE), provider setup, and first working chat integration.
setup-slack-channel
Use for the PROVIDER half of getting a locally running CopilotKit Channels agent to answer in Slack, when no Slack app exists yet — setting up a Channels bot in Slack for the first time, creating the Slack app and its tokens, attaching it to a managed Intelligence Channel, or when a Channel reports setuprequired, sits…
copilotkit-channels
Use for the CODE half of a managed Intelligence Channel with Slack or Microsoft Teams: customising the Channel a CLI-scaffolded project already ships, or — for a project the CLI did not generate — writing the Channel declaration, the long-running host, and the awaited activation call. Teams provider setup is in scope…
runtime
@copilotkit/runtime — mount a fetch-native CopilotRuntime on any JS server, wire middleware, pick an AgentRunner, instantiate BuiltInAgent (Factory Mode with TanStack AI is the preferred default) or plug in any of 12 external agent frameworks (Mastra, LangGraph, CrewAI Crews/Flows, PydanticAI, ADK, LlamaIndex, Agno…
copilotkit-integrations
Use when wiring an external agent framework (LangGraph, CrewAI, PydanticAI, Mastra, ADK, LlamaIndex, Agno, Strands, Microsoft Agent Framework, or others) into a CopilotKit application via the AG-UI protocol.