boss-agent-cli 1.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. boss_agent_cli-1.3.0/.gitattributes +2 -0
  2. boss_agent_cli-1.3.0/.github/ISSUE_TEMPLATE/bug_report.yml +33 -0
  3. boss_agent_cli-1.3.0/.github/ISSUE_TEMPLATE/config.yml +5 -0
  4. boss_agent_cli-1.3.0/.github/ISSUE_TEMPLATE/feature_request.yml +21 -0
  5. boss_agent_cli-1.3.0/.github/PULL_REQUEST_TEMPLATE.md +24 -0
  6. boss_agent_cli-1.3.0/.github/dependabot.yml +21 -0
  7. boss_agent_cli-1.3.0/.github/workflows/ci.yml +70 -0
  8. boss_agent_cli-1.3.0/.github/workflows/release.yml +44 -0
  9. boss_agent_cli-1.3.0/.gitignore +18 -0
  10. boss_agent_cli-1.3.0/CHANGELOG.md +89 -0
  11. boss_agent_cli-1.3.0/CODE_OF_CONDUCT.md +41 -0
  12. boss_agent_cli-1.3.0/CONTRIBUTING.md +37 -0
  13. boss_agent_cli-1.3.0/LICENSE +21 -0
  14. boss_agent_cli-1.3.0/PKG-INFO +412 -0
  15. boss_agent_cli-1.3.0/README.md +375 -0
  16. boss_agent_cli-1.3.0/SECURITY.md +34 -0
  17. boss_agent_cli-1.3.0/SKILL.md +143 -0
  18. boss_agent_cli-1.3.0/demo.gif +0 -0
  19. boss_agent_cli-1.3.0/demo.tape +68 -0
  20. boss_agent_cli-1.3.0/demo_showcase.py +29 -0
  21. boss_agent_cli-1.3.0/docs/agent-hosts.md +30 -0
  22. boss_agent_cli-1.3.0/docs/agent-quickstart.md +57 -0
  23. boss_agent_cli-1.3.0/docs/capability-matrix.md +23 -0
  24. boss_agent_cli-1.3.0/docs/integrations/claude-code.md +63 -0
  25. boss_agent_cli-1.3.0/docs/integrations/codex.md +59 -0
  26. boss_agent_cli-1.3.0/docs/integrations/shell-agent.md +61 -0
  27. boss_agent_cli-1.3.0/docs/promotion-article.md +117 -0
  28. boss_agent_cli-1.3.0/docs/smoke-testing.md +33 -0
  29. boss_agent_cli-1.3.0/extension/background.js +280 -0
  30. boss_agent_cli-1.3.0/extension/manifest.json +25 -0
  31. boss_agent_cli-1.3.0/extension/popup.html +39 -0
  32. boss_agent_cli-1.3.0/mcp-server/README.md +78 -0
  33. boss_agent_cli-1.3.0/mcp-server/server.py +213 -0
  34. boss_agent_cli-1.3.0/pyproject.toml +62 -0
  35. boss_agent_cli-1.3.0/scripts/smoke_p0.py +99 -0
  36. boss_agent_cli-1.3.0/src/boss_agent_cli/__init__.py +1 -0
  37. boss_agent_cli-1.3.0/src/boss_agent_cli/api/__init__.py +0 -0
  38. boss_agent_cli-1.3.0/src/boss_agent_cli/api/boss.yaml +209 -0
  39. boss_agent_cli-1.3.0/src/boss_agent_cli/api/browser_client.py +325 -0
  40. boss_agent_cli-1.3.0/src/boss_agent_cli/api/client.py +301 -0
  41. boss_agent_cli-1.3.0/src/boss_agent_cli/api/endpoints.py +60 -0
  42. boss_agent_cli-1.3.0/src/boss_agent_cli/api/endpoints_loader.py +76 -0
  43. boss_agent_cli-1.3.0/src/boss_agent_cli/api/models.py +128 -0
  44. boss_agent_cli-1.3.0/src/boss_agent_cli/api/throttle.py +53 -0
  45. boss_agent_cli-1.3.0/src/boss_agent_cli/auth/__init__.py +0 -0
  46. boss_agent_cli-1.3.0/src/boss_agent_cli/auth/browser.py +200 -0
  47. boss_agent_cli-1.3.0/src/boss_agent_cli/auth/cookie_extract.py +56 -0
  48. boss_agent_cli-1.3.0/src/boss_agent_cli/auth/manager.py +139 -0
  49. boss_agent_cli-1.3.0/src/boss_agent_cli/auth/token_store.py +131 -0
  50. boss_agent_cli-1.3.0/src/boss_agent_cli/bridge/__init__.py +0 -0
  51. boss_agent_cli-1.3.0/src/boss_agent_cli/bridge/client.py +173 -0
  52. boss_agent_cli-1.3.0/src/boss_agent_cli/bridge/daemon.py +269 -0
  53. boss_agent_cli-1.3.0/src/boss_agent_cli/bridge/protocol.py +70 -0
  54. boss_agent_cli-1.3.0/src/boss_agent_cli/cache/__init__.py +0 -0
  55. boss_agent_cli-1.3.0/src/boss_agent_cli/cache/store.py +288 -0
  56. boss_agent_cli-1.3.0/src/boss_agent_cli/chat_summary.py +43 -0
  57. boss_agent_cli-1.3.0/src/boss_agent_cli/commands/__init__.py +0 -0
  58. boss_agent_cli-1.3.0/src/boss_agent_cli/commands/apply.py +60 -0
  59. boss_agent_cli-1.3.0/src/boss_agent_cli/commands/chat.py +210 -0
  60. boss_agent_cli-1.3.0/src/boss_agent_cli/commands/chat_export.py +337 -0
  61. boss_agent_cli-1.3.0/src/boss_agent_cli/commands/chat_snapshot.py +102 -0
  62. boss_agent_cli-1.3.0/src/boss_agent_cli/commands/chat_summary.py +57 -0
  63. boss_agent_cli-1.3.0/src/boss_agent_cli/commands/chat_utils.py +26 -0
  64. boss_agent_cli-1.3.0/src/boss_agent_cli/commands/chatmsg.py +96 -0
  65. boss_agent_cli-1.3.0/src/boss_agent_cli/commands/cities.py +23 -0
  66. boss_agent_cli-1.3.0/src/boss_agent_cli/commands/detail.py +115 -0
  67. boss_agent_cli-1.3.0/src/boss_agent_cli/commands/digest.py +51 -0
  68. boss_agent_cli-1.3.0/src/boss_agent_cli/commands/doctor.py +259 -0
  69. boss_agent_cli-1.3.0/src/boss_agent_cli/commands/exchange.py +59 -0
  70. boss_agent_cli-1.3.0/src/boss_agent_cli/commands/export.py +193 -0
  71. boss_agent_cli-1.3.0/src/boss_agent_cli/commands/greet.py +215 -0
  72. boss_agent_cli-1.3.0/src/boss_agent_cli/commands/history.py +49 -0
  73. boss_agent_cli-1.3.0/src/boss_agent_cli/commands/interviews.py +61 -0
  74. boss_agent_cli-1.3.0/src/boss_agent_cli/commands/login.py +57 -0
  75. boss_agent_cli-1.3.0/src/boss_agent_cli/commands/logout.py +28 -0
  76. boss_agent_cli-1.3.0/src/boss_agent_cli/commands/mark.py +84 -0
  77. boss_agent_cli-1.3.0/src/boss_agent_cli/commands/me.py +77 -0
  78. boss_agent_cli-1.3.0/src/boss_agent_cli/commands/pipeline.py +78 -0
  79. boss_agent_cli-1.3.0/src/boss_agent_cli/commands/preset.py +82 -0
  80. boss_agent_cli-1.3.0/src/boss_agent_cli/commands/recommend.py +60 -0
  81. boss_agent_cli-1.3.0/src/boss_agent_cli/commands/schema.py +487 -0
  82. boss_agent_cli-1.3.0/src/boss_agent_cli/commands/search.py +179 -0
  83. boss_agent_cli-1.3.0/src/boss_agent_cli/commands/shortlist.py +87 -0
  84. boss_agent_cli-1.3.0/src/boss_agent_cli/commands/show.py +91 -0
  85. boss_agent_cli-1.3.0/src/boss_agent_cli/commands/status.py +37 -0
  86. boss_agent_cli-1.3.0/src/boss_agent_cli/commands/watch.py +151 -0
  87. boss_agent_cli-1.3.0/src/boss_agent_cli/config.py +23 -0
  88. boss_agent_cli-1.3.0/src/boss_agent_cli/digest.py +10 -0
  89. boss_agent_cli-1.3.0/src/boss_agent_cli/display.py +325 -0
  90. boss_agent_cli-1.3.0/src/boss_agent_cli/hooks.py +61 -0
  91. boss_agent_cli-1.3.0/src/boss_agent_cli/index_cache.py +88 -0
  92. boss_agent_cli-1.3.0/src/boss_agent_cli/main.py +68 -0
  93. boss_agent_cli-1.3.0/src/boss_agent_cli/match_score.py +106 -0
  94. boss_agent_cli-1.3.0/src/boss_agent_cli/output.py +85 -0
  95. boss_agent_cli-1.3.0/src/boss_agent_cli/pipeline_state.py +71 -0
  96. boss_agent_cli-1.3.0/src/boss_agent_cli/search_filters.py +340 -0
  97. boss_agent_cli-1.3.0/tests/test_agent_docs.py +47 -0
  98. boss_agent_cli-1.3.0/tests/test_agent_host_examples.py +50 -0
  99. boss_agent_cli-1.3.0/tests/test_api.py +142 -0
  100. boss_agent_cli-1.3.0/tests/test_api_client_retry.py +164 -0
  101. boss_agent_cli-1.3.0/tests/test_apply.py +72 -0
  102. boss_agent_cli-1.3.0/tests/test_auth.py +55 -0
  103. boss_agent_cli-1.3.0/tests/test_auth_manager_flow.py +134 -0
  104. boss_agent_cli-1.3.0/tests/test_bridge.py +200 -0
  105. boss_agent_cli-1.3.0/tests/test_browser_client.py +140 -0
  106. boss_agent_cli-1.3.0/tests/test_cache.py +117 -0
  107. boss_agent_cli-1.3.0/tests/test_chat_export_extended.py +517 -0
  108. boss_agent_cli-1.3.0/tests/test_chat_snapshot_extended.py +381 -0
  109. boss_agent_cli-1.3.0/tests/test_chat_summary.py +57 -0
  110. boss_agent_cli-1.3.0/tests/test_chat_summary_command.py +64 -0
  111. boss_agent_cli-1.3.0/tests/test_chatmsg_extended.py +407 -0
  112. boss_agent_cli-1.3.0/tests/test_commands.py +917 -0
  113. boss_agent_cli-1.3.0/tests/test_digest.py +21 -0
  114. boss_agent_cli-1.3.0/tests/test_digest_command.py +62 -0
  115. boss_agent_cli-1.3.0/tests/test_display.py +122 -0
  116. boss_agent_cli-1.3.0/tests/test_doctor_extended.py +356 -0
  117. boss_agent_cli-1.3.0/tests/test_endpoints_loader.py +55 -0
  118. boss_agent_cli-1.3.0/tests/test_hooks.py +84 -0
  119. boss_agent_cli-1.3.0/tests/test_index_cache.py +113 -0
  120. boss_agent_cli-1.3.0/tests/test_match_score.py +59 -0
  121. boss_agent_cli-1.3.0/tests/test_new_commands.py +461 -0
  122. boss_agent_cli-1.3.0/tests/test_output.py +76 -0
  123. boss_agent_cli-1.3.0/tests/test_pipeline_commands.py +100 -0
  124. boss_agent_cli-1.3.0/tests/test_pipeline_state.py +86 -0
  125. boss_agent_cli-1.3.0/tests/test_preset.py +107 -0
  126. boss_agent_cli-1.3.0/tests/test_schema_contract.py +142 -0
  127. boss_agent_cli-1.3.0/tests/test_search_filters.py +149 -0
  128. boss_agent_cli-1.3.0/tests/test_search_pipeline.py +204 -0
  129. boss_agent_cli-1.3.0/tests/test_shortlist.py +45 -0
  130. boss_agent_cli-1.3.0/tests/test_smoke_p0.py +61 -0
  131. boss_agent_cli-1.3.0/tests/test_throttle.py +54 -0
  132. boss_agent_cli-1.3.0/tests/test_watch.py +104 -0
  133. boss_agent_cli-1.3.0/tests/test_welfare_filter.py +98 -0
  134. boss_agent_cli-1.3.0/uv.lock +1463 -0
@@ -0,0 +1,2 @@
1
+ # Symlink — mark as generated to exclude from GitHub language stats
2
+ .agents/skills/boss-agent-cli linguist-generated
@@ -0,0 +1,33 @@
1
+ name: Bug Report
2
+ description: 报告一个 Bug
3
+ labels: ["bug"]
4
+ body:
5
+ - type: textarea
6
+ attributes:
7
+ label: 问题描述
8
+ description: 清晰描述遇到的问题
9
+ validations:
10
+ required: true
11
+ - type: textarea
12
+ attributes:
13
+ label: 复现步骤
14
+ description: 按步骤描述如何复现
15
+ value: |
16
+ 1. 执行命令 `boss ...`
17
+ 2. 观察到 ...
18
+ 3. 期望的结果是 ...
19
+ validations:
20
+ required: true
21
+ - type: textarea
22
+ attributes:
23
+ label: 错误输出
24
+ description: 粘贴完整的 JSON 错误输出
25
+ render: json
26
+ - type: input
27
+ attributes:
28
+ label: Python 版本
29
+ placeholder: "3.10"
30
+ - type: input
31
+ attributes:
32
+ label: 操作系统
33
+ placeholder: "macOS 15.3 / Ubuntu 22.04 / Windows 11"
@@ -0,0 +1,5 @@
1
+ blank_issues_enabled: false
2
+ contact_links:
3
+ - name: 使用问题 / Questions
4
+ url: https://github.com/can4hou6joeng4/boss-agent-cli/discussions
5
+ about: 使用问题请到 Discussions 讨论区提问
@@ -0,0 +1,21 @@
1
+ name: Feature Request
2
+ description: 提交一个功能建议
3
+ labels: ["enhancement"]
4
+ body:
5
+ - type: textarea
6
+ attributes:
7
+ label: 功能描述
8
+ description: 你希望添加什么功能?
9
+ validations:
10
+ required: true
11
+ - type: textarea
12
+ attributes:
13
+ label: 使用场景
14
+ description: 在什么场景下需要这个功能?
15
+ validations:
16
+ required: true
17
+ - type: textarea
18
+ attributes:
19
+ label: 期望的命令格式
20
+ description: 你期望的命令和输出格式是什么样的?
21
+ render: bash
@@ -0,0 +1,24 @@
1
+ ## 变更说明
2
+
3
+ <!-- 简要描述本次变更的内容和目的 -->
4
+
5
+ ## 变更类型
6
+
7
+ - [ ] feat: 新功能
8
+ - [ ] fix: Bug 修复
9
+ - [ ] refactor: 重构
10
+ - [ ] docs: 文档
11
+ - [ ] test: 测试
12
+ - [ ] chore: 构建/依赖/配置
13
+
14
+ ## 测试
15
+
16
+ - [ ] 已运行 `uv run pytest tests/ -v` 且全部通过
17
+ - [ ] 已运行 `uv run python -m compileall src/boss_agent_cli/ -q`
18
+ - [ ] 新增/修改的功能已有对应测试覆盖
19
+
20
+ ## 检查清单
21
+
22
+ - [ ] commit message 格式: `type: 中文描述`
23
+ - [ ] 无敏感信息(Token、密码、Cookie)
24
+ - [ ] 如有新命令:已更新 schema.py / README.md / SKILL.md
@@ -0,0 +1,21 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "pip"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "weekly"
7
+ commit-message:
8
+ prefix: "chore"
9
+ labels:
10
+ - "dependencies"
11
+ open-pull-requests-limit: 5
12
+
13
+ - package-ecosystem: "github-actions"
14
+ directory: "/"
15
+ schedule:
16
+ interval: "weekly"
17
+ commit-message:
18
+ prefix: "ci"
19
+ labels:
20
+ - "dependencies"
21
+ open-pull-requests-limit: 5
@@ -0,0 +1,70 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [master]
6
+ pull_request:
7
+ branches: [master]
8
+
9
+ concurrency:
10
+ group: ci-${{ github.ref }}
11
+ cancel-in-progress: true
12
+
13
+ jobs:
14
+ test:
15
+ runs-on: ubuntu-latest
16
+ strategy:
17
+ matrix:
18
+ python-version: ["3.10", "3.11", "3.12", "3.13"]
19
+
20
+ steps:
21
+ - uses: actions/checkout@v6
22
+
23
+ - name: Install uv
24
+ uses: astral-sh/setup-uv@v7
25
+ with:
26
+ enable-cache: true
27
+
28
+ - name: Set up Python ${{ matrix.python-version }}
29
+ run: uv python install ${{ matrix.python-version }}
30
+
31
+ - name: Install dependencies
32
+ run: uv sync --all-extras
33
+
34
+ - name: Run tests
35
+ run: uv run pytest tests/ -v --tb=short
36
+
37
+ - name: Verify CLI loads
38
+ run: uv run python -c "from boss_agent_cli.main import cli; print('CLI loaded')"
39
+
40
+ lint:
41
+ runs-on: ubuntu-latest
42
+ steps:
43
+ - uses: actions/checkout@v6
44
+
45
+ - name: Install uv
46
+ uses: astral-sh/setup-uv@v7
47
+ with:
48
+ enable-cache: true
49
+
50
+ - name: Set up Python
51
+ run: uv python install 3.11
52
+
53
+ - name: Install dependencies
54
+ run: uv sync --all-extras
55
+
56
+ - name: Compile check all modules
57
+ run: uv run python -m compileall src/boss_agent_cli/ -q
58
+
59
+ - name: Ruff lint
60
+ run: uv run ruff check src/
61
+
62
+ - name: Check critical imports
63
+ run: |
64
+ uv run python -c "
65
+ from boss_agent_cli.auth.manager import AuthManager
66
+ from boss_agent_cli.api.client import BossClient
67
+ from boss_agent_cli.cache.store import CacheStore
68
+ from boss_agent_cli.commands.schema import schema_cmd
69
+ print('All critical imports OK')
70
+ "
@@ -0,0 +1,44 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*"
7
+
8
+ permissions:
9
+ contents: write
10
+
11
+ jobs:
12
+ release:
13
+ runs-on: ubuntu-latest
14
+ steps:
15
+ - uses: actions/checkout@v6
16
+
17
+ - name: Install uv
18
+ uses: astral-sh/setup-uv@v7
19
+ with:
20
+ enable-cache: true
21
+
22
+ - name: Set up Python
23
+ run: uv python install 3.11
24
+
25
+ - name: Install dependencies
26
+ run: uv sync --all-extras
27
+
28
+ - name: Run tests
29
+ run: uv run pytest tests/ -v --tb=short
30
+
31
+ - name: Build package
32
+ run: uv build
33
+
34
+ - name: Create GitHub Release
35
+ uses: softprops/action-gh-release@v2
36
+ with:
37
+ generate_release_notes: true
38
+ files: dist/*
39
+
40
+ - name: Publish to PyPI
41
+ if: ${{ !contains(github.ref, 'rc') && !contains(github.ref, 'beta') }}
42
+ run: uv publish
43
+ env:
44
+ UV_PUBLISH_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
@@ -0,0 +1,18 @@
1
+ __pycache__/
2
+ *.pyc
3
+ .venv/
4
+ *.egg-info/
5
+ dist/
6
+ build/
7
+ .pytest_cache/
8
+ .playwright-mcp/
9
+ .worktrees/
10
+ .claude/
11
+ docs/superpowers/
12
+ my-boss-profile.md
13
+ CLAUDE.md
14
+ AGENTS.md
15
+ GEMINI.md
16
+ .ace-tool/
17
+ .agents/skills/
18
+ .trellis/
@@ -0,0 +1,89 @@
1
+ # Changelog
2
+
3
+ 本项目遵循 [Semantic Versioning](https://semver.org/)。
4
+
5
+ ## [Unreleased]
6
+
7
+ ## [1.3.0] - 2026-04-13
8
+
9
+ ### Added
10
+ - 新增 `watch` 命令组 — 保存搜索条件并执行增量监控,自动标出新职位
11
+ - 新增 `pipeline` 命令 — 汇总沟通和面试数据,构建求职流水线全景视图
12
+ - 新增 `follow-up` 命令 — 筛选超时未推进的联系人,生成跟进提醒
13
+ - 新增 `apply` 命令 — 发起投递/立即沟通动作,幂等设计防止重复投递
14
+ - 新增 `shortlist` 命令组 — 管理职位候选池,支持添加/列表/移除
15
+ - 新增 `chat-summary` 命令 — 对沟通消息生成结构化摘要
16
+ - 新增 `preset` 命令组 — 管理可复用搜索预设,保存常用参数组合一键复用
17
+ - 新增 `digest` 命令 — 每日摘要,综合流水线、跟进、统计信息
18
+ - 搜索结果新增匹配分和匹配原因输出
19
+ - 快速入门文档和冒烟测试框架
20
+ - 多宿主集成示例文档(Claude Code / Codex / Shell Agent)
21
+ - 接口合约和错误码一致性测试
22
+ - 高风险链路测试覆盖补齐
23
+
24
+ ### Changed
25
+ - 开源仓库元信息优化,补充英文摘要和变更记录
26
+
27
+ ### Fixed
28
+ - 检测风控状态码并输出明确错误标识(此前静默失败)
29
+ - 调试协议模式复用用户上下文,规避自动化检测
30
+ - 扩展优先复用已有招聘页而非空白自动化页
31
+ - 职位详情快速通道失败时自动降级到浏览器通道(此前误报"职位不存在")
32
+ - 搜索分页边界条件修正
33
+
34
+ ## [1.2.0] - 2026-04-09
35
+
36
+ ### Added
37
+ - CI 新增 ruff lint 质量门禁步骤
38
+ - CI 矩阵新增 Python 3.13 支持
39
+ - 新增 bridge/display/endpoints_loader/index_cache 四模块测试(123→182 用例)
40
+ - SKILL.md 命令速查表补全至 19 个命令
41
+
42
+ ### Changed
43
+ - chat.py 拆分为 chat_export/chat_snapshot/chat_utils 三子模块(655→227 行)
44
+ - 浏览器超时从裸数字提取为命名常量
45
+ - search_filters 异常捕获从 Exception 收窄为具体类型
46
+ - client.py 根据运行平台动态设置请求头
47
+ - daemon.py 文件句柄改为 with ���句防泄漏
48
+ - 安装命令改为从 GitHub 源码安装
49
+
50
+ ### Fixed
51
+ - CLAUDE.md 缩进规范、模块索引、技术栈、架构图与代码对齐
52
+ - README 配置文档补全 cdp_url/export_dir 字段
53
+ - .gitignore 排除 .trellis/.agents 目录
54
+
55
+ ## [1.1.0] - 2026-04-03
56
+
57
+ ### Added
58
+ - 新增 `boss me` 命令 — 获取当前登录用户的基本信息、简历、求职期望、投递记录
59
+ - 跨平台 Agent Skill 体系 — 支持 Codex / Claude Code / Gemini CLI / OpenCode / OpenClaw
60
+ - `.agents/skills/` symlink 供 Codex / OpenCode 发现 skill
61
+ - pyproject.toml 补全 authors、keywords、classifiers、urls 元数据
62
+
63
+ ### Fixed
64
+ - 修复 `boss me` 命令 AuthManager 路径拼接和 emit_error 参数问题
65
+ - 消息模板标准化 — hints 补全 + 参数引用修正 + recovery_action 统一
66
+
67
+ ### Changed
68
+ - SKILL.md 重构为 AgentSkills 标准格式
69
+ - skill 目录从 `skills/SKILL.md` 迁移到 `skills/boss-agent-cli/SKILL.md`
70
+
71
+ ## [0.1.0] - 2026-03-20
72
+
73
+ ### Added
74
+ - 核心 CLI 框架(Click)+ JSON 信封输出协议
75
+ - `boss login` — patchright 反检测浏览器扫码登录 + 本地浏览器 Cookie 自动提取
76
+ - `boss status` — 检查登录态
77
+ - `boss search` — 职位搜索(支持城市 / 薪资 / 经验 / 学历 / 规模筛选)
78
+ - `boss search --welfare` — 福利精准筛选(双休、五险一金等,逗号分隔 AND 逻辑,自动翻页)
79
+ - `boss recommend` — 基于简历的个性化职位推荐
80
+ - `boss detail` — 职位完整详情(描述、地址、招聘者信息)
81
+ - `boss greet` — 向招聘者打招呼
82
+ - `boss batch-greet` — 批量打招呼(上限 10,支持 dry-run 预览)
83
+ - `boss export` — 导出搜索结果为 CSV / JSON
84
+ - `boss cities` — 列出 40 个支持城市
85
+ - `boss schema` — 工具能力自描述 JSON(Agent 调用入口)
86
+ - Token 加密存储(Fernet + PBKDF2 机器绑定密钥)
87
+ - SQLite WAL 缓存(搜索历史 100 条上限 + 已打招呼记录)
88
+ - 高斯分布请求延迟 + 指数退避 403 重试
89
+ - GitHub Actions CI(多 OS + 多 Python 版本)
@@ -0,0 +1,41 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ We as members, contributors, and leaders pledge to make participation in our
6
+ community a harassment-free experience for everyone, regardless of age, body
7
+ size, visible or invisible disability, ethnicity, sex characteristics, gender
8
+ identity and expression, level of experience, education, socio-economic status,
9
+ nationality, personal appearance, race, religion, or sexual identity
10
+ and orientation.
11
+
12
+ ## Our Standards
13
+
14
+ Examples of behavior that contributes to a positive environment:
15
+
16
+ * Using welcoming and inclusive language
17
+ * Being respectful of differing viewpoints and experiences
18
+ * Gracefully accepting constructive criticism
19
+ * Focusing on what is best for the community
20
+ * Showing empathy towards other community members
21
+
22
+ Examples of unacceptable behavior:
23
+
24
+ * The use of sexualized language or imagery and unwelcome sexual attention
25
+ * Trolling, insulting/derogatory comments, and personal or political attacks
26
+ * Public or private harassment
27
+ * Publishing others' private information without explicit permission
28
+ * Other conduct which could reasonably be considered inappropriate
29
+
30
+ ## Enforcement
31
+
32
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
33
+ reported to the project maintainer at can4hou6joeng4@163.com.
34
+
35
+ All complaints will be reviewed and investigated and will result in a response
36
+ that is deemed necessary and appropriate to the circumstances.
37
+
38
+ ## Attribution
39
+
40
+ This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org),
41
+ version 2.1, available at https://www.contributor-covenant.org/version/2/1/code_of_conduct.html.
@@ -0,0 +1,37 @@
1
+ # Contributing
2
+
3
+ 感谢你对 boss-agent-cli 的关注!
4
+
5
+ ## 开发环境
6
+
7
+ ```bash
8
+ git clone https://github.com/can4hou6joeng4/boss-agent-cli.git
9
+ cd boss-agent-cli
10
+ uv sync --all-extras
11
+ uv run pytest tests/ -v
12
+ ```
13
+
14
+ ## 编码规范
15
+
16
+ - 缩进使用 **tab**
17
+ - Python >= 3.10(使用 `X | Y` 联合类型)
18
+ - commit message:`type: 中文描述`(feat / fix / refactor / docs / test / chore)
19
+
20
+ ## 提交流程
21
+
22
+ 1. Fork 本仓库
23
+ 2. 创建功能分支:`git checkout -b feat/your-feature`
24
+ 3. 编写测试 → 实现功能 → 确保测试通过
25
+ 4. 提交并推送
26
+ 5. 创建 Pull Request
27
+
28
+ ## 添加新命令
29
+
30
+ 1. 在 `src/boss_agent_cli/commands/` 下新建文件
31
+ 2. 在 `main.py` 中注册命令
32
+ 3. 在 `schema.py` 中添加命令描述
33
+ 4. 在 `tests/test_commands.py` 中添加测试
34
+ 5. 更新 `skills/boss-agent-cli/SKILL.md`(命令速查表)
35
+ 6. 更新 `AGENTS.md`(CLI 不变量契约中的命令数)
36
+ 7. 更新 `README.md`(命令参考表)
37
+ 8. 更新对应模块的 `CLAUDE.md`
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 can4hou6joeng4
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.