zhouyoukang1234-spec/kiro-assistant
GitHub: zhouyoukang1234-spec/kiro-assistant
Kiro 助手是一款跨平台的 IDE 透明代理扩展,提供系统提示注入和自动适配功能。
Stars: 1 | Forks: 0
# Kiro 助手
为 [Kiro IDE](https://kiro.dev) 提供系统提示注入、跨平台自动适配和零硬编码的透明本地代理扩展。安装一次,即可在所有地方使用。
## 功能
- **透明代理** — 本地 HTTP 代理拦截 Kiro 的 API 调用以进行系统提示注入
- **跨平台** — 自动检测 Windows、macOS 和 Linux 上的 Kiro 设置路径
- **零硬编码** — 无硬编码路径、端口、AWS 区域或配置 ARN。一切均动态发现
- **动态区域发现** — 自动从 Kiro 的请求中检测 AWS 区域
- **代理持久性** — 代理进程在 Kiro 重启后继续运行(分离进程 + 看门狗)
- **双模式** — `invert`(自定义系统提示注入)和 `passthrough`(直接连接)
- **多账户隔离** — 通过 FNV-1a 哈希(范围 11436-11485)为每个用户分配端口
- **8 层解构** — 完整的系统提示处理管道
- **Webview 面板** — 侧边栏中的实时代理状态和系统提示编辑器
- **自检** — 内置 L1+L2 诊断以快速验证
## 架构
```
Kiro IDE
└─ settings.json: codewhisperer.config.endpoints → http://127.0.0.1:
└─ kiro-dao-proxy.js (HTTP proxy)
├─ /origin/ping ← Management endpoint
├─ /origin/mode ← Mode switching
├─ /origin/_quit ← Graceful shutdown
└─ generateAssistantResponse ← 8-layer deconstruction + SP injection
├─ 1/8 SP isolation
├─ 2/8 Workspace directive stripping
├─ 3/8 Assistant identity removal
├─ 4/8 Kiro-specific tool removal
├─ 5/8 EnvironmentContext stripping
├─ 6/8 Identity self-claim removal
├─ 7/8 Header sanitization
└─ 8/8 CBOR streaming passthrough
```
## 安装
### 方法 1:直接安装(推荐 Windows)
```
install.cmd
:: Restart Kiro
:: Command Palette → "Kiro Assistant: Start"
```
### 方法 2:VSIX 包
```
npm run package
:: Then install in Kiro: kiro --install-extension kiro-assistant-12.0.0.vsix
```
### 方法 3:手动
1. 将整个扩展目录复制到 Kiro 的内置扩展文件夹
2. 重启 Kiro
3. 命令面板 → `Kiro Assistant: Start (invert)`
## 命令
| 命令 | 描述 |
|---------|-------------|
| `Kiro Assistant: Start (invert)` | 带系统提示注入和透明代理启动 |
| `Kiro Assistant: Start (passthrough)` | 带直接连接到官方端点的启动 |
| `Kiro Assistant: Toggle Mode` | 在 invert 和 passthrough 之间切换 |
| `Kiro Assistant: Preview System Prompt` | 在浏览器中打开系统提示 |
| `Kiro Assistant: Self-test` | 运行 L1 + L2 诊断 |
| `Kiro Assistant: Terminal exec` | 在终端会话池中执行命令 |
| `Kiro Assistant: Terminal list` | 列出终端会话 |
| `Kiro Assistant: Terminal close` | 关闭终端会话 |
## 配置
| 键 | 默认 | 描述 |
|-----|---------|-------------|
| `kiro.dao.port` | 0 (auto) | 代理端口。0 = 每个用户的自动 FNV-1a 哈希(11436-11485)。非零值将覆盖。 |
| `kiro.dao.defaultMode` | "invert" | 首次激活时的默认模式 |
| `kiro.dao.banner` | false | 显示启动横幅 |
## 文件结构
```
kiro-assistant/
├── package.json # VSIX manifest
├── extension.js # Extension entry point
├── LICENSE.txt # Apache-2.0
├── install.cmd # Universal Windows installer
├── .vscodeignore # VSIX packaging exclusions
├── .gitignore # Git exclusions
├── vendor/
│ ├── kiro-dao-proxy.js # Proxy core (8-layer deconstruction)
│ └── bundled-origin/
│ ├── _silk_dao.txt # Dao De Jing — Dao section
│ ├── _silk_de.txt # Dao De Jing — De section
│ └── _yinfu.txt # Yin Fu Jing
└── media/
├── icon.png # Extension icon
├── icon.svg # Sidebar icon
└── webview-app.js # Sidebar webview UI
```
## 验证
1. 启动代理:命令面板 → `Kiro Assistant: Start (invert)`
2. 重启 Kiro(以加载端点配置)
3. 自检:命令面板 → `Kiro Assistant: Self-test`
4. 发送消息,检查输出 → "Kiro Assistant" 通道
5. 确认:模型不应自我识别为 Kiro(解构活动)
## 工作原理
1. **锚定**:激活时,将 `codewhisperer.config.endpoints` 写入 Kiro 的 `settings.json`,指向本地代理
2. **代理**:一个分离的 Node.js HTTP 代理进程拦截所有 Kiro API 调用
3. **注入**:在 `invert` 模式下,代理通过 8 层解构管道处理请求,然后再转发到真实的 AWS Q 端点
4. **透传**:在 `passthrough` 模式下,请求直接发送到官方端点,不进行修改
5. **看门狗**:每 60 秒,扩展会对代理进行ping。如果无响应,它会自动重启
## 相关项目
- [windsurf-assistant](https://github.com/zhouyoukang/windsurf-assistant) — Windsurf IDE 的配套项目
## 许可证
Apache-2.0 — 查看 [LICENSE.txt](LICENSE.txt).
标签:AWS区域检测, HTTP代理, IDE插件, MITM代理, SOC Prime, Webview面板, 代理持久化, 代码编辑器扩展, 动态发现, 动态配置, 域名过滤, 多账户隔离, 安全防护, 开发工具, 性能优化, 数据可视化, 数据管道, 本地代理, 检测绕过, 环境隔离, 用户界面, 系统提示处理, 系统提示注入, 网络编程, 自检诊断, 诊断工具, 软件工程, 透明代理